Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Sync reusable frontend decisions into persistent project documentation after UI work. Use when frontend changes introduce or modify component APIs, variants, design-system tokens, styling conventions, layout behavior, accessibility rules, interaction patterns, responsive behavior, or agent operating instructions; when the user asks to reflect decisions in components.md, design system docs, AGENTS.md, CLAUDE.md, GEMINI.md, or similar project memory files; or before finalizing frontend work where
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 293% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 589% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 127% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 226% | 0% |
Type: Execution
Persist reusable frontend decisions so future UI work applies them consistently.
This skill identifies frontend decisions made during implementation and records them in the right project documentation:
slots, composition rules, or usage constraints
responsive, animation, or accessibility conventions
components.md, design system docs,AGENTS.md, CLAUDE.md, GEMINI.md, or similar project memory files
to become conventions
preserve the decisions
Do not run this skill without:
Optional but recommended:
Without asking the user, gather available inputs directly from the repository. Ask only when the correct documentation target cannot be inferred safely.
Inspect the current frontend work before editing documentation:
stories, tests, and docs touched by the task.
Do not update broad project memory based only on intuition. Tie every recorded decision to a concrete implementation change, explicit user instruction, or existing documentation gap.
Extract only decisions that should affect future work.
Classify each candidate:
| Class | Examples | Record? | |---|---|---| | Component contract | Prop names, variants, slots, composition rules, disabled/loading behavior | Yes | | Design-system rule | Token usage, spacing scale, typography, color semantics, elevation, radius | Yes | | Layout/responsive rule | Breakpoints, density behavior, overflow strategy, touch target rules | Yes | | Interaction/accessibility rule | Keyboard behavior, focus management, ARIA pattern, motion constraints | Yes | | Agent operating rule | Which docs to read, required verification, screenshot checks, lint/test gates | Yes | | Local implementation detail | File-local helper names, transient CSS workaround, one-off copy change | Usually no |
For each accepted decision, write:
file:line or diff reference when possible)Choose the narrowest durable location:
| Target | Use for | |---|---| | components.md / component docs | Public component API, variants, usage examples, composition rules | | Design-system docs | Tokens, visual language, spacing, typography, color, layout, motion, elevation | | AGENTS.md / CLAUDE.md / GEMINI.md | Agent instructions, required reads, verification workflow, repo-specific frontend rules | | Storybook docs / examples | Visual examples or usage states that need executable documentation | | ADR / architecture docs | High-impact trade-offs, cross-layer decisions, migration strategy | | Existing feature docs | Feature-specific UI behavior that should not become a global rule |
If multiple targets fit, prefer the most specific source of truth and add a short cross-reference only when future readers would otherwise miss it.
Update documentation with minimal, durable changes:
When no suitable documentation file exists, create the smallest conventional file only if the project already has a clear docs location. Otherwise, ask the user before creating a new top-level memory file.
Verify that the written decision aligns with the implementation:
Report:
already implied by existing documentation.
short pointer to the source of truth.
AGENTS.md a dumping ground for component details; reserve it foroperating instructions future agents must follow.
truth is available.
Common bad outputs:
AGENTS.md even though the decision belongs in component ordesign-system docs
components.md, design docs, and agent docswith no source of truth
Input:
A change adds a loading prop to Button and standardizes that loading buttons keep their width while showing a spinner. Existing docs include docs/components.md.
Output:
Button loading state preserves width and replaces the leading icon witha spinner.
docs/components.md -> Button API and behavior.loading to the Button prop table.Button exports loading and no other component docs define aconflicting loading pattern.
Input:
A dashboard redesign introduces compact density rules, replaces ad hoc spacing with space.3 / space.4, adds a reusable MetricTile variant, and requires agents to check desktop and mobile screenshots before finalizing dashboard UI. The repo has docs/design-system.md, docs/components.md, and AGENTS.md.
Output:
space.3 for internal tile gaps and space.4 forsection gaps.
MetricTile supports default, warning, and critical variants.docs/design-system.md -> dashboard spacing rule.docs/components.md -> MetricTile variants.AGENTS.md -> screenshot verification workflow.MetricTile variant table and usage constraint.AGENTS.md.reusable UI decisions.
conflicts.
This skill complements finalization workflows. Run it before commit preparation when frontend decisions should survive beyond the current implementation.
Other measured skills in the registry, with their headline benchmark lift.