con un clic
frontend-components
Enforce composable UI and behavioral tests for repeated structure.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Enforce composable UI and behavioral tests for repeated structure.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
| name | frontend-components |
| description | Enforce composable UI and behavioral tests for repeated structure. |
The standard that exists because a landing page got built as one ~770-line file of hand-duplicated markup, tested by matching copy strings — so the same defect appeared in fifteen places and every "fix" was fifteen edits. Never again.
Every repeated piece of UI is a component. Every value you'd tune more than once (size, colour, spacing, motion, copy) lives in one central place. Every test asserts behavior or structure, never the presence of a copy string.
If you cannot say "to change X everywhere, I edit exactly one place," you are not done.
Terminal chrome + Transcript /
GateSteps / LedgerTable bodies — every terminal's frame is tuned in one file.)Three different things, three different homes:
content/site.ts-style). Components render
data; they don't carry sentences. Deleting a card from the data file removes it
from the page — that's the test, too (assert counts against the data).<style> blocks.font-size: 0.92rem one-offs; add a token or use the scale.When you componentize existing UI, preserve behavior exactly unless a change was explicitly requested. Emit the same class names / DOM shape so existing styles and scripts keep working; move logic into modules without rewriting it.
Transcript and
GateSteps with their timing/classes untouched. Structural, not behavioral.The gut-check (from test discipline): if I gut the implementation, does the test fail? If you can replace the component with a no-op and the test stays green, it's theater.
expect(html).toContain('Our pricing is simple'),
expect(html).toContain('class="card"'), asserting copy that lives in the data
file you're importing anyway. These pass even when the component is broken.animate='cursor');cols=3 → three columns rendered;variant toggles the right class / element (<h2> vs <h3>);vi.useFakeTimers();rows.length, lanes.length).href, a parsed JSON attribute equalling the source array, a hidden
default, a "never points at a real auth route" negative, the no-em-dash tripwire.prefers-reduced-motion alternative for every animation.<style> blocks → one token / one rule.toContain('<copy>') / toContain('class="…"') render assertions → behavioral test..is-visible class applied by JS → visible by default.toContain copy theater.)tdd-enforce / [[tdd-discipline]] — the antipattern catalogue behind §5.impeccable / design-taste-frontend / emil-design-eng — the visual design
layer (this skill is about architecture + tests, not aesthetics).Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
SDD-mode PR-boundary review policy for Pi. The root launches visible reviewer lanes, publishes triage, ends the turn for acknowledgement, then fixes in a separate follow-up. Review is independent of CI.
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
Create a pull request with review, REQ backlinks, push, and CI handoff.
Verify a deployed UI in a browser for interaction, mobile layout, and visuals.
Workflow for /sdd clean — rescuing a rotted spec. Mode-aware behaviors (interactive/auto/unleashed), safety nets, what gets cleaned (incl. per-AC @impl AND @test anchor backfill at parity, gated by enforce_tdd), JUDGMENT auto-resolution rules. Invoked when /sdd clean runs. Requires the spec-driven-development skill for REQ format and Status semantics, and the spec-enforce skill family for the detection mechanics.