Install
$ agentstack add skill-ulises-jeremias-agent-toolkit-design-improvement ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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 → 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 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 - 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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ulises-jeremias
- Source: ulises-jeremias/agent-toolkit
- License: MIT
- Homepage: https://ulises-jeremias.github.io/agent-toolkit-archive/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.