Best for
- Building a new component from scratch
- Refactoring an existing component
- Designing a component API (props, slots, events)
rampstackco/claude-skills/skills/frontend-component-build/SKILL.md
Build production-ready frontend components with accessible markup, sensible props, defined states, and tested behavior. Use this skill whenever the user wants to build a component from scratch, refactor an existing one, design a component API, or implement a UI element with proper states and accessibility. Triggers on build a component, create a button, create a modal, create a form input, component API, props design, component states, refactor component, accessible component. Also triggers when
Decision brief
Build production-ready components. Stack-agnostic principles. Most patterns translate to React, Vue, Svelte, or vanilla web components.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/rampstackco/claude-skills --skill "skills/frontend-component-build"Inspect the Agent Skill "frontend-component-build" from https://github.com/rampstackco/claude-skills/blob/a67dd34c609f034c0cfd736a348659bbdf1605bf/skills/frontend-component-build/SKILL.md at commit a67dd34c609f034c0cfd736a348659bbdf1605bf. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Understand the use case. What UI need does this component serve? Where will it appear? Adjacent components? 2. Sketch the anatomy. Name the parts. 3. List variants and states. Match the design system or define new ones if needed. 4. Design the API. Required props, optional pr…
Building a new component from scratch
Building a full design system (use design-system)
The component's purpose (what UI need it serves)
A complete component handles six dimensions. Skip any one and the component is incomplete.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 779 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Build production-ready components. Stack-agnostic principles. Most patterns translate to React, Vue, Svelte, or vanilla web components.
This skill is about implementing a component well. For broader system design see design-system. For day-to-day visual decisions see design-standards.
design-system)design-standards)code-review-web)performance-optimization)A complete component handles six dimensions. Skip any one and the component is incomplete.
Identify the parts that make up the component before writing any markup.
Common anatomies:
Naming the parts up front makes the API obvious.
What variations does the component support?
Variants should be a managed set, not a free-for-all. Document the supported set; reject requests for new variants without a real use case.
What states must the component handle?
Every state needs visual treatment AND accessibility treatment.
Design the component's contract.
API design principles:
variant: "primary" | "secondary" | "ghost" over primary={true} ghost={false}.headerText and bodyText props when slots work.Build it accessible from the start. Adding accessibility later is 5x harder.
Universal:
<button>, <a>, <nav>, <form>, etc.) over generic <div>Component-specific:
<button>. Don't fake one with a <div>.role="dialog" and aria-labelledby.for/id or aria-labelledby. Error messages linked via aria-describedby. aria-invalid when in error state.<button> with aria-pressed for two-state, or role="switch" for on/off.role="tablist" / role="tab" / role="tabpanel" with aria-selected and arrow-key navigation.aria-live so screen readers know something changed.Verify the component works before declaring it done.
Test types by priority:
A component without at least automated accessibility testing is not done.
<div> for interactive things.<div onClick>. Loses keyboard accessibility, screen reader semantics, and focus. Use <button> or <a>.<Button primary large rounded fullWidth disabled icon />. Too many booleans means you actually need fewer variants designed more thoughtfully.aria-disabled AND not respond to clicks.aria-live="polite" or role="status".A complete component delivery includes:
references/component-spec-template.md - Template for documenting a component (props, states, accessibility, edge cases) before building.references/component-api-patterns.md - Common patterns for designing flexible component APIs (compound components, controlled vs uncontrolled, polymorphic as prop, render props, slots).references/accessibility-patterns.md - ARIA patterns for common interactive components.Frequently asked questions
Build production-ready components. Stack-agnostic principles. Most patterns translate to React, Vue, Svelte, or vanilla web components.
The source record exposes this install command: npx skills add https://github.com/rampstackco/claude-skills --skill "skills/frontend-component-build". Inspect the command and pinned source before running it.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
event4u-app/agent-config
Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.
event4u-app/agent-config
Frontend design heuristics — and, outside the ticket engine, the loop that applies them: audit, brief, inventory, build, review. Use when building or changing any UI, not only when planning one.