/fstack-design
Agents write design slop: random gradients, five font sizes, off-palette colors, spacing that never repeats. This skill makes UI adhere to the styles the project already has, and cleans up the rest against plain design sense.
The rule it enforces: match what exists first. New UI should look like it belongs, not like it was pasted in from another app.
When to use
- New or changed UI looks off, generic, or inconsistent with the rest.
- An agent just built a screen and it feels like slop.
- You invoke
/fstack-design on a page, component, or the whole UI.
Steps
- Learn the existing design system before touching anything. Read the stylesheets, tokens, theme, and a few well-made existing components. Note the real palette, the type scale, the spacing scale, radius, shadows, and the component patterns already in use.
- Review the target UI against two things:
- The existing system — where does it invent colors, sizes, spacing, or components instead of reusing what exists?
- Plain design sense — hierarchy, alignment, consistent spacing, restraint. Flag the slop tells: unmotivated gradients, too many font sizes, inconsistent padding, random shadows, emoji as icons, off-palette one-off colors, redundant wrapper divs.
- Produce a short findings list. Each item: what is off, and the existing token or pattern it should use instead.
- Stop and ask which to apply.
- Fix the approved items, one screen or component at a time, reusing existing tokens and classes — never inventing new ones unless the user agrees the system genuinely lacks something. Show the diff.
Must NOT
- Invent new colors, fonts, spacing values, or components when the project already has ones that fit.
- Redesign. This aligns and cleans up; it does not reimagine the product.
- Add a UI framework or component library to "fix" things.
- Apply changes without approval.
Example
User: /fstack-design the new settings page looks off
Agent: "Read the design system first. Findings on the settings page:
- Uses
#3b82f6 for the save button — the app's primary is --color-accent. Use the token.
- Three heading sizes here; the rest of the app uses two (
--text-lg, --text-base). Drop the middle one.
- Card padding is
18px — every other card uses --space-4 (16px). Match it.
- Gradient header background — nothing else in the app uses gradients. Use the flat surface color.
- Emoji icons in the tabs; the app uses the icon set in
src/icons. Swap them.
Fix all, or pick? I'll do it one section at a time and show the diff."
1---2name: fstack-design3description: Fix AI-generated design so it matches the project's existing styles and is genuinely good. Use when new UI looks off, inconsistent, or like generic AI slop.4---56# /fstack-design78Agents write design slop: random gradients, five font sizes, off-palette colors, spacing that never repeats. This skill makes UI adhere to the styles the project already has, and cleans up the rest against plain design sense.910The rule it enforces: **match what exists first.** New UI should look like it belongs, not like it was pasted in from another app.1112## When to use1314- New or changed UI looks off, generic, or inconsistent with the rest.15- An agent just built a screen and it feels like slop.16- You invoke `/fstack-design` on a page, component, or the whole UI.1718## Steps19201. Learn the existing design system **before touching anything**. Read the stylesheets, tokens, theme, and a few well-made existing components. Note the real palette, the type scale, the spacing scale, radius, shadows, and the component patterns already in use.212. Review the target UI against two things:22 - **The existing system** — where does it invent colors, sizes, spacing, or components instead of reusing what exists?23 - **Plain design sense** — hierarchy, alignment, consistent spacing, restraint. Flag the slop tells: unmotivated gradients, too many font sizes, inconsistent padding, random shadows, emoji as icons, off-palette one-off colors, redundant wrapper divs.243. Produce a short findings list. Each item: what is off, and the existing token or pattern it should use instead.254. **Stop and ask** which to apply.265. Fix the approved items, **one screen or component at a time**, reusing existing tokens and classes — never inventing new ones unless the user agrees the system genuinely lacks something. Show the diff.2728## Must NOT2930- Invent new colors, fonts, spacing values, or components when the project already has ones that fit.31- Redesign. This aligns and cleans up; it does not reimagine the product.32- Add a UI framework or component library to "fix" things.33- Apply changes without approval.3435## Example3637> User: `/fstack-design` the new settings page looks off38>39> Agent: "Read the design system first. Findings on the settings page:40> 1. Uses `#3b82f6` for the save button — the app's primary is `--color-accent`. Use the token.41> 2. Three heading sizes here; the rest of the app uses two (`--text-lg`, `--text-base`). Drop the middle one.42> 3. Card padding is `18px` — every other card uses `--space-4` (16px). Match it.43> 4. Gradient header background — nothing else in the app uses gradients. Use the flat surface color.44> 5. Emoji icons in the tabs; the app uses the icon set in `src/icons`. Swap them.45>46> Fix all, or pick? I'll do it one section at a time and show the diff."