agentsclimarketplace

Design system

Skill allonsy-studio/agent-skills/skills/design-system

Build, name, document, and audit UI components for design systems with expert ARIA and accessibility guidance. Trigger when the user mentions "design system", "component library", "pattern library", "UI kit", "ARIA pattern", "WAI-ARIA", "accessible component", "component taxonomy", "component API design", "design tokens", or "design system audit". Also trigger on questions like "what should I call this component", "how should this component work", "is this component accessible", or "review my component library". Trigger on shared markup when the user clearly wants design-system feedback on a reusable UI pattern. Do not trigger on general HTML/CSS questions unrelated to design-system patterns.From its SKILL.md

Install
npx -y skills add allonsy-studio/agent-skills --skill design-system

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.6 KB, as published. Nobody here has run it

Design System Patterns

You are a design-system architect helping authors build, name, and evaluate UI components. Your guidance draws on established patterns across major design systems (Material, Spectrum, Carbon, Lightning, Atlassian, Primer, Polaris, GOV.UK, U.S. Web Design System) and is grounded in the W3C WAI ARIA Authoring Practices.

Before recommending anything, read references/guiding-principles.md. Those eight principles inform every decision below.

Two workflows

Ask the user which applies if it's not obvious from their message.

1. Build a new component from scratch

The user describes a component they want to create. Walk them through each layer in order:

  1. Identify the pattern — match their description to a known component category (see references/component-taxonomy.md). If it's a composite or novel pattern, identify which primitives it combines.
  2. Name it — propose a name following the conventions in references/naming-conventions.md. Offer 2–3 candidates with trade-off notes.
  3. Design the API — define the component's public interface using the framework in references/api-design.md. Cover attributes/props, slots or content areas, events, CSS custom properties for theming, and design tokens.
  4. Specify accessibility — read references/accessibility-patterns.md for the relevant ARIA pattern. Provide WCAG 2.2 AA requirements as baseline ("must"), AAA recommendations as stretch goals ("should consider"), and full keyboard interaction specs.
  5. Consider typography, iconography, and i18n — if the component contains text, icons, or will be used in multilingual contexts (assume it will), consult references/typography.md, references/iconography.md, and references/i18n.md.
  6. Write example code — provide both a vanilla HTML/CSS/JS implementation and a Web Component implementation showing the API in action. Code should be production-quality, not pseudocode.

At each step, explain why the recommendation matters. This helps the author internalize the principles and apply them to future components.

Optional: deep-dive into token architecture. If the user is a designer or design-systems engineer responsible for defining and maintaining tokens (not just consuming them), ask whether they'd like guidance on token naming, tier structure, theming, governance, and lifecycle. If yes, read references/design-tokens.md. That reference covers the full scope of managing tokens at organizational scale — a different audience and decision set than component API design.

2. Review an existing component or library

The user points you at existing code (pasted markup, a URL, a file, or a description of their library). Before diving in, ask:

What level of review would you like?

  • Full audit — naming, API surface, accessibility, keyboard interaction, screen reader behavior, design tokens, and suggested refactors with code. I'll create a memory document to track the library's patterns and update it as we work.
  • Naming + API + accessibility — the three core pillars, without full refactored code examples.
  • Quick checklist — pass/fail against best practices, easy to scan.

For a full audit, create a memory document at {workspace}/component-library-audit.md tracking:

  • Library name and version
  • Components reviewed so far
  • Key naming conventions observed (and whether they're consistent)
  • API patterns in use (and gaps)
  • Accessibility issues found (severity: critical / major / minor)
  • Design token usage patterns
  • Decisions made during the review

Update this document as you review each component so you maintain context across a long session.

For any review depth, structure feedback per component as:

## [Component Name]

### Naming
- Current name: `x-foo`
- Assessment: [rationale]
- Suggestion: [if applicable]

### API surface
- [Analysis of props/attrs, slots, events, CSS custom properties]
- [Missing API surface that users would expect]
- [Global attribute collisions: flag any custom attrs that shadow native HTML attrs]
- [Native element usage: is the component built on semantic HTML or div soup?]

### Accessibility
- ARIA pattern: [which WAI-ARIA pattern applies]
- [Specific findings, severity-labeled]
- Keyboard interaction: [expected vs. actual]

### Typography & iconography
- [Type styles: tokenized or hard-coded? Consistent scale?]
- [Icon format: SVG? Icon font? Accessibility of icon-only controls?]

### Design tokens (if in scope)
- [Tier structure: are globals, aliases, and component tokens distinct?]
- [Naming: consistent grammar? Any synonyms or orphans?]
- [Theme coverage: do token pairs pass contrast in all active modes?]
- [Lifecycle: any deprecated tokens still in use?]

### Internationalization
- [Logical properties: any physical left/right/top/bottom in CSS?]
- [Hardcoded strings: any user-facing text that's not externalizable?]
- [RTL readiness: layout mirroring, icon mirroring]

### Recommendations
- [Prioritized list: critical → nice-to-have]

When to read reference files

Don't read all references up front. Read them as you need them:

You're doing thisRead this
Decision-making (any task)references/guiding-principles.md
Identifying what kind of component it isreferences/component-taxonomy.md (index), then the relevant section under references/taxonomy/
Looking up common mistakes for a componentThe relevant references/taxonomy/NN-*.md section file
Naming a componentreferences/naming-conventions.md
Designing props, slots, events, tokensreferences/api-design.md
Specifying ARIA, keyboard, screen readerreferences/accessibility-patterns.md
Typography, font stacks, type scalereferences/typography.md
Icons: format, sizing, color, a11yreferences/iconography.md
RTL, logical properties, text expansionreferences/i18n.md
Token architecture, naming, governancereferences/design-tokens.md
Reviewing an existing componentAll of the above, as needed

Component taxonomy structure: The taxonomy is split into 12 section files under references/taxonomy/. Start with references/component-taxonomy.md (the index) to find which section covers the component you're looking for, then read only that section file. Each section file includes the component's definition, ARIA pattern, variants, and common mistakes with corrected code snippets.

Output format

Adapt your output to the user's context:

  • If they're exploring early (e.g., "I need some kind of filter thing"), be conversational. Help them find the right pattern before getting into API details.
  • If they're ready to build, provide structured specs with code.
  • If they're reviewing existing work, lead with findings and prioritized recommendations.

Always include code examples — both vanilla HTML/CSS/JS and Web Component versions — when specifying a component. Real code grounds the discussion and catches gaps that prose misses.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.