Agent skills

The coding-agent skills committed to the repo — what each one does, when it fires, and where it came from.

Reva commits a set of agent skills to the repo so every contributor's coding agent (Claude Code, Cursor, Codex) behaves the same way. They live in .agents/skills/ (the tool-agnostic source), with symlinks at .claude/skills/ so Claude Code auto-discovers them. Cursor mirrors them through globbed .cursor/rules/*.mdc wrappers.

A skill either auto-fires (the agent invokes it on its own when the work matches) or is opt-in (you trigger it explicitly, usually via a slash command).

Reva skills

Skills written for Reva or adapted for the monorepo and maintained here. One auto-fires across the whole repo; the rest you invoke when the work calls for them.

reva-design-system-adherence

Fires: Auto — across the monorepo.

The single design brain for Reva UI: tokens-only color, @reva/ui primitives over bespoke markup, correct component APIs (looked up via the design-system MCP), spacing/forms discipline, and the anti-slop taste bar (spacing, typography, and motion intent at Reva's editorial density — DESIGN_VARIANCE: 4, MOTION_INTENSITY: 5, VISUAL_DENSITY: 5). When the agent needs a component that does not exist yet, it follows the Creative Extension Protocol instead of inventing one-off markup. Loads on-demand references/accessibility.md and references/responsive-design.md when the work touches those domains.

Human mirror: Design system constraints.

Reinforced beyond auto-fire

reva-design-system-adherence doesn't rely on the agent choosing to fire it. A repo SessionStart hook (.claude/hooks/design-adherence.sh) injects the design directive into every session, and the design audit runs the same rules in CI + the husky pre-commit — so on-brand output holds even when the agent doesn't invoke the skill. See the CI + pre-commit gate. The skill is the guidance, the hook is the nudge, the audit is the gate.

reva-new-prototype

Fires: Auto at repo root on product-shape intent · /reva-new-prototype <name>

Aligns on scope with a few clarifying questions first, then scaffolds a new prototype under prototypes/<name>/ from the template, registers it in .claude/launch.json, and branches off main. The entry point for the prototyping workflow.

reva-add-shadcn-component

Fires: Opt-in

Mechanical pipeline for landing a shadcn component into packages/ui and the docs kitchen sink: registry add, Phosphor-icon rewrites, category placement, bootstrap MDX. Pair with the vendored shadcn skill for registry operations.

reva-website-static-conventions

Fires: Auto — scoped to apps/website-static

WCAG 2.1 AA HTML patterns and the CSS, design-token, and PostCSS conventions for the static marketing site. Does not apply outside apps/website-static.

dtcg-token-authoring

Fires: Auto — when editing design-token JSON

Reference for writing valid W3C DTCG token files. Prevents source-token bugs that would break the Style Dictionary build and Figma sync. The deep DTCG authoring reference behind @reva/design-tokens.

Third-party tools, vendored verbatim

General-purpose skills vendored unchanged. Invoke explicitly when the work calls for them.

SkillFiresWhat it doesUpstream
impeccableOpt-in · /impeccable [craft|teach|extract]Design principles, anti-patterns, and the Context Gathering Protocol. Parent skill for the polish suite below.pbakaus/impeccable — Apache 2.0
polishOpt-in · /polishFinal quality pass — alignment, spacing, typography, interaction states.pbakaus/impeccable
critiqueOpt-in · /critiqueUX critique with persona-based testing.pbakaus/impeccable
auditOpt-in · /auditAccessibility + performance check.pbakaus/impeccable
clarifyOpt-in · /clarifyUX copy review — error messages, empty states, labels.pbakaus/impeccable
typesetOpt-in · /typesetTypography pass — sizing, hierarchy, weight.pbakaus/impeccable
delightOpt-in · /delightPersonality, micro-interactions, polish details.pbakaus/impeccable
mcp-builderOpt-inFour-phase workflow for building high-quality MCP servers (Python FastMCP or Node/TS SDK). Used for @reva/design-system-mcp.anthropics/skills
motionOpt-inAnimation best practices for Motion (prev. Framer Motion) and CSS, plus docs search, CSS spring generation, and a performance audit. Requires the Motion AI Kit.motion.dev
shadcnAuto (in projects with components.json) · slash commandsManage shadcn components and projects — add, search, fix, style, and compose UI from registries.shadcn

Additional Impeccable subskills (adapt, animate, bolder, colorize, distill, layout, optimize, overdrive, quieter, shape) are also vendored under .agents/skills/ — same upstream, same opt-in invocation. Versions are pinned in skills-lock.json at the repo root. Human-oriented usage guidance: Design rigor.

Keeping docs in sync

Several skills name a human-readable mirror page (e.g. reva-design-system-adherenceDesign system constraints). When you edit one of those skills, update its mirror in the same change — the skill body is the model-facing source of truth, these pages are its companion.

On this page