Skip to content
Design
Skill

/s2-docs

Look up Spectrum 2 (S2) component documentation, design guidelines, and usage patterns when building with React Spectrum or Spectrum Web Components. Use when the user mentions Spectrum, S2, React Spectrum, RSP, Spectrum Web Components, or SWC, or names a Spectrum component

BOOST
From plugin
spectrum-design-data
1572 skills6 MCP
Install
$ npx -y skills add adobe/spectrum-design-data --skill s2-docs --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/s2-docs

Context preview

The summary Claude sees to decide when to auto-load this skill.

Look up Spectrum 2 (S2) component documentation, design guidelines, and usage patterns when building with React Spectrum or Spectrum Web Components. Use when the user mentions Spectrum, S2, React Spectrum, RSP, Spectrum Web Components, or SWC, or names a Spectrum component

SKILL.md

s2-docs.SKILL.md
name: s2-docs
description: >
  Look up Spectrum 2 (S2) component documentation, design guidelines, and usage
  patterns when building with React Spectrum or Spectrum Web Components. Use
  when the user mentions Spectrum, S2, React Spectrum, RSP, Spectrum Web
  Components, or SWC, or names a Spectrum component (Button, Picker, ComboBox,
  TextField, ActionButton, etc.). Helps prevent drift from documented S2 design
  decisions during prototyping.
metadata:
  author: adobe
  version: "1.3.0"
when_to_use: >
  Trigger on: "which Spectrum component", "React Spectrum", "Spectrum Web
  Components", "@adobe/react-spectrum", "@spectrum-web-components", component
  name imports, "S2 tokens", "Spectrum spacing", "Spectrum variant", or any
  question about what a Spectrum component should do or look like.
allowed-tools: Bash(node ${CLAUDE_SKILL_DIR}/scripts/lookup.js *)

Spectrum 2 Docs

Fetch canonical S2 docs before suggesting any Spectrum component or pattern. This prevents common vibe-coding mistakes: wrong variant, hard-coded sizes, divider-first layouts, missing required props.

Lookup commands

**Get a specific component** (use before writing any RSP/SWC code):

node ${CLAUDE_SKILL_DIR}/scripts/lookup.js get <component-name>

**Find components by use case**:

node ${CLAUDE_SKILL_DIR}/scripts/lookup.js use-case "<phrase>"

**Search by name**:

node ${CLAUDE_SKILL_DIR}/scripts/lookup.js search <query>

**List all components in a category** (`actions`, `containers`, `feedback`, `inputs`, `navigation`, `status`):

node ${CLAUDE_SKILL_DIR}/scripts/lookup.js list --category <category>

When working in Cursor

Cursor does not support inline shell injection. Use Bash explicitly with `--cursor` for trimmed, delimited output:

node ${CLAUDE_SKILL_DIR}/scripts/lookup.js get <component-name> --cursor
node ${CLAUDE_SKILL_DIR}/scripts/lookup.js use-case "<phrase>" --cursor

Workflow

1. **Identify the component(s)** the user needs — use `use-case` or `search` if unsure. 2. **Fetch the docs** with `get <name>` for each relevant component. 3. **Read the "Component options" table** — note variants, sizes, required props. 4. **Apply the anti-drift checklist** before writing code.

Anti-drift checklist

After fetching docs, verify every suggestion against:

  • [ ] **Correct component** — ComboBox (freeform + autocomplete) vs Picker (selection only), ActionButton vs Button, etc.
  • [ ] **Correct variant** — don't default to `accent`; match the use case (primary, secondary, negative)
  • [ ] **No hard-coded sizes** — use Spectrum size tokens, not px values
  • [ ] **Spacing-first grouping** — S2 uses spacing to separate content, not dividers
  • [ ] **Required props present** — e.g. `label` on all inputs, `necessityIndicator` when required
  • [ ] **Static color used correctly** — only when placed on a custom background

Key S2 design decisions (quick reference)

  • **Button variants**: `accent` = primary CTA (max 3 per view); `primary` = medium emphasis; `secondary` = low emphasis; `negative` = destructive
  • **ActionButton vs Button**: ActionButton is compact and icon-focused for toolbars; Button is for primary flows
  • **ComboBox vs Picker**: ComboBox allows freeform text + autocomplete; Picker is select-only
  • **Spacing over dividers**: S2 replaced dividers with spacing as the primary grouping mechanism
  • **Size tokens**: always use `size="S|M|L|XL"` prop, never hard-coded px
Read more
Ships withspectrum-design-data

This repo uses: pnpm for package management moon to manage task running Changesets for automated versioning and releasing Prettier for code formatting/linting commitlint and Convetional Commits to standardize commit messages husky to automate formatting of

Get the whole plugin
Stats
157
Stars
36
Forks
Active
Maintenance
Rust
Language
Apache-2.0
License
56m ago
Last commit
4y ago
Created
2h ago
Added

Repo: adobe/spectrum-design-data

Other skills on spectrum-design-data.