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
- Distinctive: line 30
Do not assume code is good without rendered evidence (screenshot/recording via browser).
- Distinctive: line 31
Do not auto-push to default branch or create tickets/docs without explicit approval.
- Distinctive: line 42
If a finding is ambiguous, propose direction + rationale + rendered preview and pause for human selection.
- Distinctive: line 46
Before inventing aesthetics, discover and respect:
- Distinctive: line 52
Prefer improve within system unless explicitly commissioned to redesign.
- Distinctive: line 70
If greenfield or system is missing/contradictory:
- Distinctive: line 98
Keep changes small and reviewable.
- Very specific: line 102
Run per repo docs (npm run dev, docker compose up, etc.) in an isolated, non-prod context.
- Very specific: line 106
Use playwright-cli (primary for deterministic interaction, locators, assertions, screenshots, traces, multi-tab) and/or Chrome DevTools / …
- Very specific: line 139
Rule: Use playwright-cli for deterministic interaction + E2E validation + primary capture.
- Distinctive: line 141
If neither provider is available (no browser), fall back to text-only heuristic (code, tokens, ARIA attributes) with Low confidence and …
- Distinctive: line 166
No mutation without approval.
≈ “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.
Files
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
- Consume assessment findings — start from a
design-assessmentscorecard /frontend-design-reviewoutput (Blocking/Major/Minor + evidence links). If no assessment exists, offer to rundesign-assessmentfirst; do not invent findings. - Reuse the single evidence model:
observation / impact / severity / effort / confidence / evidence / screens / recommended fixplus 1–5 scale,3 = Defined,Not assessed, confidenceHigh/Medium/Low, andoutput-handshakebefore final artifacts. Do not introduce72/100or other synthetic scores. - 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.
- 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).
- 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 review | Ambiguous / 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 action | Brand 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 viafrontend-design) vsimprovement 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 → HANDSHAKE1. 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 assessedwith 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:
| Finding | Decision | Change | Files / tokens | Verification (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-devtoolsskill 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 →
accessibilitycapability (when available) + browser a11y tree - Design-system divergence →
figmaDev Mode compare - Distinctiveness →
frontend-designcreative lens
- Visual/hierarchy →
- Cite observation with screenshot anchor (
file:linefor code, region for visual). ClassifyBlocking/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:
| Capability | Playwright (playwright-cli / e2e-runner) | Chrome DevTools (chrome-devtools) |
browser.interact (click/fill/navigate) | ✅ deterministic locators, fixtures | limited |
browser.capture (screenshot, trace, pdf) | ✅ screenshots, traces, snapshot | ✅ screenshots, rendering diagnostics |
browser.dom + browser.accessibility tree | snapshot (accessibility-aware) | ✅ DOM, accessibility tree, computed styles |
browser.network / browser.console / browser.performance | limited | ✅ network, console, performance, runtime |
browser.trace / browser.visual-compare | trace via CLI | trace + 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
| Need | Skill |
| Assessment findings (input) | design-assessment (scorecard + prioritized findings) |
| Single-screen procedural critique | frontend-design-review |
| WIG rules (a11y, focus, forms, motion) | web-design-guidelines |
| Deterministic interaction + primary capture + E2E | playwright-cli (tooling/playwright-cli) / e2e-runner |
| Runtime debugging (network/console/perf/rendering) | chrome-devtools (tooling/chrome-devtools, next issue) |
| Design-system compare / tokens | figma / figma-implement-design / figma-create-design-system-rules |
| Distinctive direction | frontend-design |
| Accessibility deeper | accessibility (curated, WCAG 2.2 AA) when available |
| Evidence intake (single framework) | project-assessment-evidence |
| Multi-unit routing | project-assessment |
| Output gate | output-handshake |
| Parallel variant generation / multi-screen review | swarm (optional, sequential valid) |
Security & compatibility
- No mutation without approval; no default-branch push.
playwright-cliruns 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 templatedesign-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 formatweb-design-guidelines+references/web-interface-guidelines.md— WIG rulesplaywright-cli— deterministic browser automation;chrome-devtools— runtime diagnostics (next skill)project-assessment-evidence/technical-unit-assessment— evidence model and scaleoutput-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.
In this repository106 other files it gives its agents.
- AGENTS.mdAGENTS.md
- reviewSkill
- mcp-auditSkill
- owasp-agentic-reviewSkill
- supply-chain-auditSkill
- threat-modelingSkill
- architecture-diagramSkill
- c4-modelSkill
- aws-well-architected-reviewSkill
- cloud-design-patternsSkill
- assistantSkill
- dev-companionSkill
- onboardingSkill
- output-handshakeSkill
- pr-fallbackSkill
- projectSkill
- workspace-knowledge-syncSkill
- workspaceSkill
- dbt-validationSkill
- snowflake-validationSkill
- adrSkill
- agreementSkill
- bugSkill
- decision-logSkill
- development-workflowSkill
- epicSkill
- incidentSkill
- management-unit-assessmentSkill
- meeting-minutesSkill
- planningSkill
- prdSkill
- project-assessment-evidenceSkill
- project-assessmentSkill
- spikeSkill
- taskSkill
- technical-unit-assessmentSkill
- trdSkill
- user-storySkill
- workflow-client-bootstrapSkill
- workflow-generic-projectSkill
- work-itemSkill
- bragSkill
- brag-slimSkill
- design-assessmentSkill
- figma-code-connect-componentsSkill
- figma-create-design-system-rulesSkill
- figma-create-new-fileSkill
- figma-implement-designSkill
- figmaSkill
- frontend-design-reviewSkill
- frontend-designSkill
- scroll-worldSkill
- web-design-guidelinesSkill
- fix-merge-conflictsSkill
- gh-address-commentsSkill
- gh-contribution-plannerSkill
- gh-fix-ciSkill
- github-cli-workflowSkill
- gitlab-cli-workflowSkill
- worktreeSkill
- The first 60 shown.
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
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.

