Skip to main content

frontend-design-workflow

Workflow for frontend features and visual/product design changes — present mockup options before code, build on the project's design system, capture the right evidence (screenshots vs video), run a new-user usability review. Use when building or changing UI, styling, layout or animation.

Source facts

Repository
kirodotdev/KiroCrew
Last source activity
October 7, 2026 at 21:25
Detected SKILL.md language
English
Stars
4,452
Forks
820

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
frontend-design-workflow
description
Workflow for frontend features and visual/product design changes — present mockup options before code, build on the project's design system, capture the right evidence (screenshots vs video), run a new-user usability review. Use when building or changing UI, styling, layout or animation.
triggers
mockup, mockups, frontend, redesign, restyle, visual change, UI change, design change, landing page, new page, new component
# Frontend & Design Workflow A disciplined workflow for frontend features, visual changes, and product design changes. The core idea: **design decisions happen in cheap mockups before expensive code**, and **evidence matches the nature of the change**. ## Phase 1 — Mockups before code Never jump straight to implementation when a change involves design decisions, even when one design seems obvious. **Skip mockups only when there is nothing to design**: the change is mechanical and fully specified — fixing a typo, changing a value the user prescribed exactly ("make this #FF0000", "bump the font to 14px"), or deleting something. If the request leaves *any* visual choice open (layout, spacing, color selection, interaction), mockups are required. 1. Render **2–3 distinct design options** as mockups for the user to choose from. For small components, inline widgets work well when the chat surface renders them; otherwise — and for full pages or complex layouts — write a self-contained HTML file and share the path. 2. Make each option genuinely different (layout, density, interaction model) — not three shades of the same idea. 3. Build mockups with the target project's real design tokens / theme variables when they exist, so the options preview accurately. 4. Recommend one option with reasoning, but let the user decide. 5. **The chosen mockup IS the visual spec.** Record which option was picked. ## Phase 2 — Implementation - Match the chosen mockup exactly: colors, shape, spacing, typography, and presentation details (e.g. a styled tooltip bubble, not a native `title=` attribute). Verify the built UI against the mockup side by side. - Use the project's existing theme system / design tokens — never hardcode colors that break on theme switch. If the project has CSS custom properties, check whether utility-class opacity modifiers actually work with them before relying on them; verify **computed styles**, not class presence. - Follow the project's established component library and conventions. When migrating to a standard library component (Radix, shadcn, etc.), adopt the stock look and drop hand-rolled behavior the library covers natively. - Prefer proper icon libraries over emojis in UI surfaces. ## Phase 3 — Evidence capture Match the evidence type to the change: | Change type | Evidence | |---|---| | Static layout, styling, new component at rest | Screenshots | | Animations, transitions, hover/focus states | Screen recording (video or GIF) | | Multi-step flows: wizards, modals opening, drag interactions | Screen recording walking the full sequence | | Responsive behavior | Screenshots at each breakpoint, or a recording of the resize | A still frame cannot prove motion or sequence correctness — never submit a screenshot as evidence for an animated or multi-step change. Share the evidence where the change is reviewed: in the pull-request description (following the repository's convention) when a PR workflow exists, otherwise directly in the conversation. Capture the evidence with the shipped skills rather than improvising: `web-verify` for screenshots of a surface you changed on a local dev server, and `browser-recording` for a video or GIF of motion or a multi-step flow. A narrated demo needs `feature-demo-recording`, which ships with the Dev Fleet app rather than as a built-in skill, so it is only available where that app is installed. ## Phase 4 — New-user usability review Before declaring the change ready, run a dedicated review from a **brand-new, non-technical user's perspective** — as a separate sub-agent via `spawn_run` (the review is wrong if the reviewer can see the builder's context), `include_project=true` so it can open the UI but `include_memory=false` so the reviewer has no builder's context. The task text is the one channel your context still reaches it through: give only how to open the UI and the user goal to attempt, never the design rationale, the PR text, or where the new control lives. The reviewer answers: - **Discoverability**: can a first-time user find this feature without being told where it is? - **Plain language**: do labels, empty states, and messages make sense without developer jargon? - **Zero-context comprehension**: does the screen explain itself to someone who never read the PR, the docs, or this conversation? Automated code reviewers cover correctness and consistency; this review covers first-run usability. Fold its findings into the change before requesting human review. ## Phase 5 — Verify, then present - Run the project's typecheck, lint, and test suites before presenting. - Verify the actual rendered result, not just the code — use whatever the project provides for running the UI locally (a dev server, a preview build, a static file opened in a browser, an emulator). - When reporting done: state what was verified, link the evidence, and compare the result to the chosen mockup. ## Iteration When the user gives feedback on a built UI, treat it like a mockup revision: apply targeted edits against the agreed spec, re-capture the affected evidence, and re-verify. Do not redesign from scratch unless the user rejects the chosen direction.
View on GitHub