"Design-lens review of a plan document. Rates information architecture, interaction states, user flows, accessibility, and brand/voice consistency on a 1–5 scale with specific gaps."
Install
npx skillscat add jthorare/agentic-workflow/plandesignreview Install via the SkillsCat registry.
Plan Design Review — Design Lens on Plan Docs
Rates a plan document across five design dimensions with specific gaps and recommended changes. Complements /productReview and /archReview.
Before anything else: read $HOME/.agentic-workflow/toolkit/skills/_preamble.md and follow it (skill index, provider capability map, bootstrap check, session context). Run its Session Close section when this skill finishes.
Overview
Reads a plan directory's design-relevant docs (auto-discovers latest if no arg) along with the design language artifacts (.impeccable.md, design-tokens.json). Rates each of five dimensions on the anchored 1–5 scale from _shared/severity.md, with a mandatory surface×state coverage table. Writes the review to plans/<feature>/design-review.md so /autoplan can consolidate alongside other lenses.
Inputs
- Plan — path arg, OR auto-discover per
_shared/plan-discovery.md:
(falls back to the newest legacy single-file plan — see the shared snippet)SHARED_DIR="$HOME/.agentic-workflow/toolkit/skills/_shared" source "$SHARED_DIR/repo-slug.sh" PLAN_DIR=$(ls -1dt "$AW_DIR/plans/"*/ 2>/dev/null | head -1) - From the plan dir, per the
_shared/plan-layout.mdreader matrix:plan.md+design-brief.md(the doc written for the design team — the primary source for this lens) +product.md(legacy aliasrequirements.mdonly if product.md is absent) --output <path>(optional) — explicit output file path./autoplanpasses--output <feature-dir>/design-review.md.--slim(optional) — compact output: Inputs available, Ratings, coverage tables, and verdict only.impeccable.mdfrom project root (if missing: Brand/voice dimension is N/A)design-tokens.jsonfrom project root (if missing: note in report)
Steps
- Resolve the plan path via the Inputs block. Resolve the output path:
--outputverbatim if provided; otherwise$AW_DIR/plans/<feature>/design-review.md(where<feature>is the parent dir name of the resolved plan.md). - Read
plan.md,design-brief.md,product.md,.impeccable.md(if present),design-tokens.json(if present). Record presence/absence of each in the## Inputs availabletable — an absent input makes its dependent dimensionN/A — missing <input>, never a number. - Review across five dimensions, each rated on the anchored 1–5 scale in
_shared/severity.md(5 = no findings above LOW … 1 = CRITICAL or unaddressed):- Information architecture — top-level structure, grouping, naming, prioritization
- Interaction states — loading / error / empty / success — verified via the surface×state table below, not free-form prose
- User flow completeness — entry points, success paths, failure paths, edge cases
- Accessibility — keyboard nav, screen reader semantics, color contrast, focus management — verified via the a11y sub-table
- Brand/voice consistency — alignment with
.impeccable.mdbrand personality; voice/tone of user-facing copy (requires.impeccable.md— else N/A)
- For each scored dimension, write 2–4 bullet evidence lines (quote plan lines + cite line numbers) + a 1–3 bullet "Recommended changes" list.
- Derive the verdict — rule-based per
_shared/severity.md: any dimension ≤2 or any CRITICAL finding ⇒ BLOCKED; any dimension = 3 or any HIGH finding ⇒ NEEDS_WORK; otherwise PASS. N/A dimensions don't score but are listed. - Write to the resolved output path. Ensure the parent dir exists with
mkdir -p. Structure:# Plan Design Review — <feature> **Plan:** <relative path> **Reviewed:** <ISO date> ## Inputs available | Input | Present? | |---|---| | plan.md | ✓/✗ | | design-brief.md | ✓/✗ | | product.md | ✓/✗ | | .impeccable.md | ✓/✗ | | design-tokens.json | ✓/✗ | <Absent input ⇒ dependent dimension is N/A — not scored.> ## Summary <3–5 sentences. Top tensions, top wins.> ## Ratings <Anchors per `_shared/severity.md`.> | Dimension | Rating | Top gap | |---|---|---| | Information architecture | N/5 | … | | Interaction states | N/5 | … | | User flow completeness | N/5 | … | | Accessibility | N/5 | … | | Brand/voice consistency | N/5 or N/A — missing .impeccable.md | … | ## Surface × state coverage <One row per interactive surface named in the plan/design-brief. Each cell cites the plan line addressing that state, or the literal `GAP`. GAPs feed the Interaction-states rating.> | Surface | Loading | Error | Empty | Success | |---|---|---|---|---| ### Accessibility sub-table | Surface | Keyboard | Screen reader | Contrast | Focus mgmt | |---|---|---|---|---| ## Detailed findings ### Information architecture (N/5) - Evidence: … - Recommended changes: … <etc. for each dimension> ## Verdict <One sentence citing the driving dimension/finding, then the literal final line:> verdict: <PASS|NEEDS_WORK|BLOCKED>
Outputs
- Default:
~/.agentic-workflow/<repo-slug>/plans/<feature>/design-review.md - When
--output <path>is supplied: that exact path (used by/autoplanfor canonical placement inside the feature dir)
Next steps
/autoplan— if running standalone, fan out to other plan lenses (product, arch, devex, security)/design-shotgun— if design ratings are low, regenerate visuals from variants instead of patching the plan