agentleFS
ulises-jeremiasulises-jeremias/agent-toolkit/skills/design/design-improvement/SKILL.md

design-improvement

Skill19 starsChanged 2 months agoMITView on GitHub

WHAT - Browser-grounded iterative design improvement. Consumes design-assessment findings, defines direction, prioritizes safe vs ambiguous changes, implements within existing design system, runs app, captures rendered evidence via browser, reviews and iterates. Reuses evidence model — no new scoring framework.

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not assume code is good without rendered evidence (screenshot/recording via browser).

    line 30
  2. Distinctive:

    Do not auto-push to default branch or create tickets/docs without explicit approval.

    line 31
  3. Distinctive:

    If a finding is ambiguous, propose direction + rationale + rendered preview and pause for human selection.

    line 42
  4. Distinctive:

    Before inventing aesthetics, discover and respect:

    line 46
  5. Distinctive:

    Prefer improve within system unless explicitly commissioned to redesign.

    line 52
  6. Distinctive:

    If greenfield or system is missing/contradictory:

    line 70
  7. Distinctive:

    Keep changes small and reviewable.

    line 98
  8. Very specific:

    Run per repo docs (npm run dev, docker compose up, etc.) in an isolated, non-prod context.

    line 102
  9. Very specific:

    Use playwright-cli (primary for deterministic interaction, locators, assertions, screenshots, traces, multi-tab) and/or Chrome DevTools / …

    line 106
  10. Very specific:

    Rule: Use playwright-cli for deterministic interaction + E2E validation + primary capture.

    line 139
  11. Distinctive:

    If neither provider is available (no browser), fall back to text-only heuristic (code, tokens, ARIA attributes) with Low confidence and …

    line 141
  12. Distinctive:

    No mutation without approval.

    line 166

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Design Improvement (WHAT)

Close the loop from assessment → implementation → rendered verification. Use this skill when the user wants to act on design-assessment (or frontend-design-review) findings, improve an existing interface, or run a browser-grounded iteration loop.

Composition, not duplication: Orchestrates design-assessment, frontend-design, frontend-design-review, web-design-guidelines, playwright-cli / chrome-devtools, figma and accessibility — delegates work, does not copy their instructions.

Default guardrails

  1. Consume assessment findings — start from a design-assessment scorecard / frontend-design-review output (Blocking/Major/Minor + evidence links). If no assessment exists, offer to run design-assessment first; do not invent findings.
  2. Reuse the single evidence model: observation / impact / severity / effort / confidence / evidence / screens / recommended fix plus 1–5 scale, 3 = Defined, Not assessed, confidence High/Medium/Low, and output-handshake before final artifacts. Do not introduce 72/100 or other synthetic scores.
  3. Do not assume code is good without rendered evidence (screenshot/recording via browser). Implement → run → capture → inspect → compare → iterate. Where browser/vision unavailable, use text-only heuristic and mark Low confidence — browser/vision unavailable.
  4. Do not auto-push to default branch or create tickets/docs without explicit approval. L2 controlled mutations for code changes; app runs isolated (no prod).
  5. Generic-AI lens is contextual, not a checklist — a pattern is not bad merely because AI often produces it; judge appropriateness for this product's subject and tone.

Safe vs ambiguous changes

Triage before implementation:

Safe / mechanical — low judgment, implement directly with reviewAmbiguous / product-defining — requires human direction, propose then confirm
Spacing/token inconsistency, broken responsive reflow, contrast violation (WCAG failure), missing focus state, overflow/clipping, misaligned design-system token, dead/incorrect ARIA, duplicate primary actionBrand direction, major visual identity, information architecture / navigation model, product-specific interaction changes, large typography or palette direction, pricing/offer hierarchy

If a finding is ambiguous, propose direction + rationale + rendered preview and pause for human selection; do not blindly redesign an established product.

Design-system preservation (existing apps)

Before inventing aesthetics, discover and respect:

  • Design tokens (Figma variables, Style Dictionary, Tailwind/theme config, CSS variables)
  • Component library (Storybook), existing Figma libraries, typography/spacing/color scales
  • Prior decision: greenfield (no system, you own direction via frontend-design) vs improvement within system (default for existing apps)

Prefer improve within system unless explicitly commissioned to redesign. When tightening the system, author tokens/constraints rather than scattering one-off overrides.

Anti-generic-AI objective (contextual): avoid unmotivated gradients, gratuitous glow, everything-in-cards, repetitive 3-col grids, generic SaaS hero, random oversized rounded rectangles, weak hierarchy, purposeless whitespace, arbitrary decorative complexity, identical dashboard compositions, generic purple/blue palettes — unless appropriate for the product.

Lifecycle

ASSESS (design-assessment) → UNDERSTAND FINDINGS → DEFINE DIRECTION → PRIORITIZE → PLAN CHANGES
  → IMPLEMENT → RUN APPLICATION → CAPTURE RENDERED EVIDENCE → REVIEW → FIX → RE-REVIEW → HANDSHAKE

1. Understand findings

  • Ingest assessment scorecard: Blocking/Major/Minor, evidence links, screenshots, Figma nodes.
  • Cluster findings by screen/component and by safe vs ambiguous. Surface missing-evidence items as Not assessed with what would enable a decision.

2. Define design direction (only where system gaps exist)

If greenfield or system is missing/contradictory:

  • Define direction as in frontend-design: palette as 4–6 named hex values, typefaces for display/body/utility, layout concept with ASCII wireframe, single signature element. State subject grounding — what in the product's world motivates each choice.
  • For existing branded apps, direction is tightening (tokens, constraints, hierarchy rules) rather than replacement.

3. Propose variants → select with rationale

  • Propose 2–3 variants only for ambiguous decisions (e.g., two hierarchy treatments). For safe/mechanical fixes, one implementation is enough.
  • Each variant: brief rationale, trade-off, and which finding(s) it resolves.
  • Pause for human selection; record decision + evidence link.

4. Prioritize

Rank by severity × user impact × effort using assessment severity plus confidence. Suggested buckets: quick win (S, Blocking) → next sprint (M, Major) → needs design (L, ambiguous). Respect user-approved priority; do not re-order against approval.

5. Plan changes

Produce a change plan mapped to evidence:

FindingDecisionChangeFiles / tokensVerification (browser capture)
[link][safe/ambiguous + direction][token, component, layout fix][path:line][screenshot/viewport/theme]

Include Figma/token references and, where relevant, WCAG SC mapping for a11y fixes.

6. Implement

  • Implement within the discovered system (tokens/CSS variables, not hardcoded values). Reuse design-system components; document any exception with rationale.
  • Keep changes small and reviewable; one concern per commit where possible.

7. Run application

  • Run per repo docs (npm run dev, docker compose up, etc.) in an isolated, non-prod context. Record URL/port and prerequisites as evidence. Do not assume success without seeing it run.

8. Capture rendered evidence

  • Use playwright-cli (primary for deterministic interaction, locators, assertions, screenshots, traces, multi-tab) and/or Chrome DevTools / chrome-devtools skill when runtime diagnostics needed (network, console, performance, rendering, trace). See browser provider decision below.
  • Capture at breakpoints (mobile/tablet/desktop), themes (light/dark), and relevant states (empty/loading/error/dense). Record viewport, theme, date and store artifacts alongside the change plan.
  • Required: screenshot (or recording) for each changed screen/state before considering the change validated. Source code alone is not validation.

9. Review → fix → re-review

  • Review captured output vs direction and vs findings: hierarchy, spacing vs tokens, typography, color, interaction, responsive reflow, a11y (contrast, focus, keyboard), design-system compliance, distinctiveness for this product.
  • For each captured finding, delegate to the appropriate reviewer:
    • Visual/hierarchy → frontend-design-review (three pillars + output format)
    • WIG rules (a11y, focus, forms, motion) → web-design-guidelines
    • A11y deeper → accessibility capability (when available) + browser a11y tree
    • Design-system divergence → figma Dev Mode compare
    • Distinctiveness → frontend-design creative lens
  • Cite observation with screenshot anchor (file:line for code, region for visual). Classify Blocking/Major/Minor + confidence, downgraded if browser/vision was degraded.
  • Fix failures and re-capture. Iterate until Blocking cleared and no new Major introduced; for greenfield, iterate until direction is satisfied. Gate on human approval for ambiguous changes.

10. Handshake

Apply output-handshake before final report: ask where the artifact lives (repo/docs/URL), who reviews/approves, and confirm human review. Do not create follow-up tickets without approval; delegate to ticket skills after approval.

Browser provider selection (conceptual capabilities)

Request capabilities, not brand names, where practical:

CapabilityPlaywright (playwright-cli / e2e-runner)Chrome DevTools (chrome-devtools)
browser.interact (click/fill/navigate)✅ deterministic locators, fixtureslimited
browser.capture (screenshot, trace, pdf)✅ screenshots, traces, snapshot✅ screenshots, rendering diagnostics
browser.dom + browser.accessibility treesnapshot (accessibility-aware)✅ DOM, accessibility tree, computed styles
browser.network / browser.console / browser.performancelimited✅ network, console, performance, runtime
browser.trace / browser.visual-comparetrace via CLItrace + rendering inspection
E2E validation (browser.assert)✅ assertions, e2e-runner specs—

Rule: Use playwright-cli for deterministic interaction + E2E validation + primary capture; use chrome-devtools for runtime debugging, network, performance, and rendering diagnostics. Either alone suffices for degraded mode; together they cover the full implement → render → capture → inspect → compare → iterate loop.

If neither provider is available (no browser), fall back to text-only heuristic (code, tokens, ARIA attributes) with Low confidence and explicit missing-evidence register.

Quality dimensions to consider (evidence-backed, not scored in aggregate)

Visual hierarchy, layout, spacing, typography, color, interaction, responsive behavior, accessibility, consistency, design-system compliance, product appropriateness, distinctiveness, information density, navigation clarity, feedback/states, performance where UX-relevant.

Delegation table

NeedSkill
Assessment findings (input)design-assessment (scorecard + prioritized findings)
Single-screen procedural critiquefrontend-design-review
WIG rules (a11y, focus, forms, motion)web-design-guidelines
Deterministic interaction + primary capture + E2Eplaywright-cli (tooling/playwright-cli) / e2e-runner
Runtime debugging (network/console/perf/rendering)chrome-devtools (tooling/chrome-devtools, next issue)
Design-system compare / tokensfigma / figma-implement-design / figma-create-design-system-rules
Distinctive directionfrontend-design
Accessibility deeperaccessibility (curated, WCAG 2.2 AA) when available
Evidence intake (single framework)project-assessment-evidence
Multi-unit routingproject-assessment
Output gateoutput-handshake
Parallel variant generation / multi-screen reviewswarm (optional, sequential valid)

Security & compatibility

  • No mutation without approval; no default-branch push.
  • playwright-cli runs a real browser — treat tool arguments as executable-ish; validate URLs/inputs (no SSRF via tool injection).
  • Portable orchestration; browser/vision optional with degraded confidence.

References

  • references/improvement-plan-template.md — change-plan + capture + review loop template
  • design-assessment + references/design-scorecard-template.md — inputs (1–5, confidence, Blocking/Major/Minor, evidence links)
  • frontend-design-review + references/review-output-format.md — review output format
  • web-design-guidelines + references/web-interface-guidelines.md — WIG rules
  • playwright-cli — deterministic browser automation; chrome-devtools — runtime diagnostics (next skill)
  • project-assessment-evidence / technical-unit-assessment — evidence model and scale
  • output-handshake — destination + review gate

Landing-page storytelling

For landing pages, use the same evidence-based loop with a clear audience, a concrete product promise, and one primary next step. Lead with real product experience, place first-party proof beside the claims it supports, and sequence the story around the visitor's understanding rather than a generic feature grid. Add FAQs only for real questions, and keep search metadata and internal links aligned with the page's actual promise. Build and critique one section at a time, then review the complete responsive journey. This absorbs useful strategy from Elaya Design's landing-page-design; its fixed visual prescriptions do not override the product's established design direction.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.