Frontend component
Use when a ticket asks to add or change a UI component — a new widget, a reusable element, a page section, or a state/variant of one — in a frontend stack. Invoke for "add a Card component", "build the settings panel", or "add a loading state to X". Match the repo's component conventions; do not introduce a new UI framework.From its SKILL.md
npx -y skills add tmj-90/gaffer --skill frontend-componentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
2.7 KB, 545 tokens by cl100k_base, as published. Nobody here has run it
Add or change a UI component
Build a component that follows the repo's existing composition, styling, and state conventions, with the behaviour proven by tests and the markup kept accessible.
Steps
- Read the lore first. Call
search_lore(Memory MCP) for the repo's component conventions: framework idioms, styling system (CSS modules, tokens, utility classes), state management, and file organisation. Honour any ADRs. - Find a sibling component and copy its shape — props/typing, file layout, styling approach, and how it is exported and consumed.
- Keep it presentational where possible. Push data loading and side effects to a container/hook; let the component render from props so it stays pure and testable.
- Use semantic HTML and design tokens. Prefer real elements (
button,nav,header) over genericdivstacks, and reference the repo's spacing/colour/type tokens instead of hardcoded values. - Design the states. Cover hover/focus/active, loading, empty, and error states the ticket implies — not just the happy path.
- Test the behaviour with the repo's component test tooling (e.g. Testing Library): render, assert on roles/labels and interaction, not on brittle markup.
- Verify + evidence. Run the repo's tests and lint, then use the
record-evidenceskill to recordtest_outputagainst the AC and submit for review.
Rules
- Match the existing framework and styling system — never add a competing one.
- No hardcoded palette/spacing/type; use the project's tokens.
- Animate compositor-friendly properties (
transform,opacity) — avoid layout-bound ones. - Keep components focused; extract sub-components rather than growing one file past ~200 lines.
- Pair with the
frontend-a11yandfrontend-responsiveskills for non-trivial UI.
Capture lore
This skill is one of the places durable, reusable knowledge naturally surfaces:
A UI convention this repo enforces — the styling system, the token set, a component-structure rule, or a framework-specific gotcha. That kind of fact is lore. Capture it via the lore-capture
protocol in your brief (CLAUDE.factory.md, step 11 "Memory contribution"):
call the Memory MCP suggest_lore once at the close of your work — reusable
conventions, gotchas, decisions, and boundaries only, never per-ticket trivia.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.