feat(skills): add design-system skill#18120
Merged
Merged
Conversation
Establishes .claude/skills/design-system/ as the canonical knowledge base for UI work in this repo. Provides component choices, design tokens, RTL/i18n rules, server/client guidance, accessibility, and the "use a variant, not a new component" pattern. Designed for agent context but useful as developer reference. Skill structure follows the agentskills.io specification: SKILL.md entry point plus references/ for progressive disclosure. Total ~3000 lines across 14 files. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Update AGENTS.md styling-conventions section to reflect tv-over-cva preference and add a pointer to the new design-system skill. Stub docs/ds-implementation.md to redirect at the skill + Storybook; the previous content (Figma reference, DS V1 epic) is superseded by the skill but the file is preserved so existing links resolve. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
"Not being migrated" was too declarative -- the actual stance is no bulk migration, but opportunistic cva-to-tv swaps are fine when you're already touching the component for another reason. Updated AGENTS.md and the three skill references that carried the same wording. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
37 tasks
ui/ primitive stories live in src/components/ui/__stories__/, not co-located alongside the source. Update file-structure example, import path in the story template, and clarify that only feature components co-locate stories. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Consistent with Drawer and Divider headings. Carousel kept ambiguous pending team discussion. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
…dation Audit surfaced components that are unused or being deleted; remove their entries across the skill so the registry stays accurate: - Remove ButtonTwoLines/ButtonLinkTwoLines (unused, being deleted) - Remove SvgButtonLink (unused, being deleted) - Remove Drawer (unused, being deleted) - Remove Layer2ProductCard references (unused, being deleted) - Remove RadioGroup from Checkbox/Switch group (being deleted) - Add Faq (built but never used; should be referenced in registry) Update Callout / CalloutBanner / BannerNotification / DismissableBanner sections to point at a planned unified server-renderable Callout component (tracked in a dedicated issue) instead of treating them as separate canonical paths. Drop the specific Callout-to-CalloutSSR migration entry from the cleanup playbook since the migration target is changing -- the playbook should hold general patterns, not in-flight refactor specifics. Sweep stale references across SKILL.md, a11y.md, canonical-imports.md, card-walkthrough.md, gotchas.md, server-vs-client.md, variant-vs-new.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
28 tasks
Collaborator
Author
Manual validationQuick sanity check before merge:
We also tried the skill-creator description-optimization loop for quantified scores, but it hit a tooling issue: the Ready to land based on qualitative signal. Real-world usage will surface anything missed. |
Add eval workspaces to .gitignore Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Establishes
.claude/skills/design-system/as the canonical knowledge base for UI work in this repo. The skill follows the agentskills.io specification: aSKILL.mdentry point withreferences/for progressive disclosure.The goal is to make UI work consistent: when an agent (or human) builds a feature, they get a single source of truth for which components to use, where tokens live, how RTL/i18n works, where the server/client boundary should fall, and the "use a variant, not a new component" pattern.
This is the foundation. Cleanup work to align existing components with these conventions will follow as separate tracked issues.
What's in this PR
.claude/skills/design-system/SKILL.md-- entry point: top rules, highest-value gotchas, "where do I import from?" cheatsheet, "load this reference when..." map, pre-merge checklist.references/components.md-- component catalogreferences/canonical-imports.md-- "which import wins?" decision tree (covers the Card / Tooltip / Modal / Hero look-alike landmines)references/tokens.md-- Tailwind v4 token architecture, custom utilities, dark mode, arbitrary-value priorityreferences/spacing-typography.md-- heading sizes, spacing scale, breakpointsreferences/gotchas.md-- confusion patterns and stale shadcn token namesreferences/variant-vs-new.md-- three-tier reuse hierarchy + backward-compatible refactor patternreferences/cleanup-playbook.md-- anti-pattern -> canonical pattern mapreferences/i18n-rtl.md-- RTL, locale-aware formatters, BiDi handlingreferences/server-vs-client.md-- SSR boundary patternsreferences/a11y.md-- project-specific accessibility notesreferences/card-walkthrough.md/page-hero-walkthrough.md-- end-to-end worked examplesreferences/new-component-checklist.md-- pre-merge checklist for new UI primitivesAGENTS.md-- updated styling-conventions section (tv preferred for new/refactored work) and added a pointer to the skilldocs/ds-implementation.md-- stubbed; redirects to the skill + Storybook (preserves the URL for stale links)~3000 lines across 14 skill files.
SKILL.mditself is 126 lines (well under the spec's 500-line guidance).Out of scope (intentional)
cva->tvmigration.tvis preferred for new and refactored work; opportunistic swaps are fine when you're already touching a component.Headingprimitive, no--text-page-titletoken. These are gaps the audit surfaced; tracked for design discussion.Follow-ups (will be posted as issues after merge)
cleanup-playbook.mdto existing code (raw<a>/<button>replacements, hex literal tokenization, RTL fixes inui/select.tsxandui/dropdown-menu.tsx,Drawerremoval,*SSRrename after consolidation, etc.).docs/maintaining-skills.mddoc, a PR-template line ("did this PR touch UI? check the skill"), and a CI check that flags newui/components missing from the catalog. Tracked in the cleanup issue. Reviewers, please weigh in here -- the maintenance approach is open to input.Test plan
docs/ds-implementation.mdstub resolves and links to the skillSKILL.mdfrontmatter validates against the agentskills.io specThe skill itself adds no executable code, so no test suite changes are required.