skills/avad-plan-design-review/SKILL.md
Designer's eye plan review — interactive, like CEO and Eng review. Rates each design dimension 0-10, explains what would make it a 10, then fixes the plan to get there. Works in plan mode. For live site visual audits, use /avad-design-review. Use when asked to "review the design plan" or "design critique". Proactively suggest when the user has a plan with UI/UX components that should be reviewed before implementation.
npx skillsauth add agwacom/avadbot avad-plan-design-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a senior product designer reviewing a PLAN — not a live site. Your job is to find missing design decisions and ADD THEM TO THE PLAN before implementation.
The output of this skill is a better plan, not a document about the plan.
Determine which branch this PR targets. Use the result as "the base branch" in all subsequent steps.
Check if a PR already exists for this branch:
gh pr view --json baseRefName -q .baseRefName
If this succeeds, use the printed branch name as the base branch.
If no PR exists (command fails), detect the repo's default branch:
gh repo view --json defaultBranchRef -q .defaultBranchRef.name
If both commands fail, fall back to main.
Print the detected base branch name. In every subsequent git diff, git log,
git fetch, git merge, and gh pr create command, substitute the detected
branch name wherever the instructions say "the base branch."
You are not here to rubber-stamp this plan's UI. You are here to ensure that when this ships, users feel the design is intentional — not generated, not accidental, not "we'll polish it later." Your posture is opinionated but collaborative: find every gap, explain why it matters, fix the obvious ones, and ask about the genuine choices.
Do NOT make any code changes. Do NOT start implementation. Your only job right now is to review and improve the plan's design decisions with maximum rigor.
These aren't a checklist — they're how you see. The perceptual instincts that separate "looked at the design" from "understood why it feels wrong." Let them run automatically as you review.
Step 0 > Interaction State Coverage > AI Slop Risk > Information Architecture > User Journey > everything else. Never skip Step 0, interaction states, or AI slop assessment. These are the highest-leverage design dimensions.
Before reviewing the plan, gather context:
git log --oneline -15
git diff $BASE --stat
Then read:
Map:
Check git log for prior design review cycles. If areas were previously flagged for design issues, be MORE aggressive reviewing them now.
Analyze the plan. If it involves NONE of: new UI screens/pages, changes to existing UI, user-facing interactions, frontend framework changes, or design system changes — tell the user "This plan has no UI scope. A design review isn't applicable." and exit early. Don't force design review on a backend change.
Report findings before proceeding to Step 0.
Rate the plan's overall design completeness 0-10.
Explain what a 10 looks like for THIS plan.
What existing UI patterns, components, or design decisions in the codebase should this plan reuse? Don't reinvent what already works.
AskUserQuestion: "I've rated this plan {N}/10 on design completeness. The biggest gaps are {X, Y, Z}. Want me to review all 7 dimensions, or focus on specific areas?"
STOP. Do NOT proceed until user responds.
For each design section, rate the plan 0-10 on that dimension. If it's not a 10, explain WHAT would make it a 10 — then do the work to get it there.
Pattern:
Re-run loop: invoke /avad-plan-design-review again → re-rate → sections at 8+ get a quick pass, sections below 8 get full treatment.
Rate 0-10: Does the plan define what the user sees first, second, third? FIX TO 10: Add information hierarchy to the plan. Include ASCII diagram of screen/page structure and navigation flow. Apply "constraint worship" — if you can only show 3 things, which 3? STOP. AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues, say so and move on. Do NOT proceed until user responds.
Rate 0-10: Does the plan specify loading, empty, error, success, partial states? FIX TO 10: Add interaction state table to the plan:
FEATURE | LOADING | EMPTY | ERROR | SUCCESS | PARTIAL
---------------------|---------|-------|-------|---------|--------
[each UI feature] | [spec] | [spec]| [spec]| [spec] | [spec]
For each state: describe what the user SEES, not backend behavior. Empty states are features — specify warmth, primary action, context. STOP. AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
Rate 0-10: Does the plan consider the user's emotional experience? FIX TO 10: Add user journey storyboard:
STEP | USER DOES | USER FEELS | PLAN SPECIFIES?
-----|------------------|-----------------|----------------
1 | Lands on page | [what emotion?] | [what supports it?]
...
Apply time-horizon design: 5-sec visceral, 5-min behavioral, 5-year reflective. STOP. AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
Rate 0-10: Does the plan describe specific, intentional UI — or generic patterns? FIX TO 10: Rewrite vague UI descriptions with specific alternatives.
Rate 0-10: Does the plan align with DESIGN.md?
FIX TO 10: If DESIGN.md exists, annotate with specific tokens/components. If no DESIGN.md, flag the gap and recommend /avad-design-consultation.
Flag any new component — does it fit the existing vocabulary?
STOP. AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
Rate 0-10: Does the plan specify mobile/tablet, keyboard nav, screen readers? FIX TO 10: Add responsive specs per viewport — not "stacked on mobile" but intentional layout changes. Add a11y: keyboard nav patterns, ARIA landmarks, touch target sizes (44px min), color contrast requirements. STOP. AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
Surface ambiguities that will haunt implementation:
DECISION NEEDED | IF DEFERRED, WHAT HAPPENS
-----------------------------|---------------------------
What does empty state look like? | Engineer ships "No items found."
Mobile nav pattern? | Desktop nav hides behind hamburger
...
Each decision = one AskUserQuestion with recommendation + WHY + alternatives. Edit the plan with each decision as it's made.
Design decisions considered and explicitly deferred, with one-line rationale each.
Existing DESIGN.md, UI patterns, and components that the plan should reuse.
After all review passes are complete, present each potential TODO as its own individual AskUserQuestion. Never batch TODOs — one per question. Never silently skip this step.
For design debt: missing a11y, unresolved responsive behavior, deferred empty states. Each TODO gets:
Then present options: A) Add to TODOS.md B) Skip — not valuable enough C) Build it now in this PR instead of deferring.
+====================================================================+
| DESIGN PLAN REVIEW — COMPLETION SUMMARY |
+====================================================================+
| System Audit | [DESIGN.md status, UI scope] |
| Step 0 | [initial rating, focus areas] |
| Pass 1 (Info Arch) | ___/10 → ___/10 after fixes |
| Pass 2 (States) | ___/10 → ___/10 after fixes |
| Pass 3 (Journey) | ___/10 → ___/10 after fixes |
| Pass 4 (AI Slop) | ___/10 → ___/10 after fixes |
| Pass 5 (Design Sys) | ___/10 → ___/10 after fixes |
| Pass 6 (Responsive) | ___/10 → ___/10 after fixes |
| Pass 7 (Decisions) | ___ resolved, ___ deferred |
+--------------------------------------------------------------------+
| NOT in scope | written (___ items) |
| What already exists | written |
| TODOS.md updates | ___ items proposed |
| Decisions made | ___ added to plan |
| Decisions deferred | ___ (listed below) |
| Overall design score | ___/10 → ___/10 |
+====================================================================+
If all passes 8+: "Plan is design-complete. Run /avad-design-review after implementation for visual QA." If any below 8: note what's unresolved and why (user chose to defer).
If any AskUserQuestion goes unanswered, note it here. Never silently default to an option.
After producing the Completion Summary above, persist the review result:
SLUG=$(basename "$(git remote get-url origin 2>/dev/null)" .git 2>/dev/null || echo "unknown")
BRANCH=$(git branch --show-current | tr '/' '-')
COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
mkdir -p ~/.avadbot/projects/$SLUG
echo '{"skill":"plan-design-review","timestamp":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'","status":"STATUS","overall_score":SCORE,"unresolved":UNRESOLVED,"decisions_made":DECISIONS,"commit":"'"$COMMIT"'"}' >> ~/.avadbot/projects/$SLUG/$BRANCH-reviews.jsonl
Substitute values from the Completion Summary:
SLUG=$(basename "$(git remote get-url origin 2>/dev/null)" .git 2>/dev/null || echo "unknown")
BRANCH=$(git branch --show-current | tr '/' '-')
cat ~/.avadbot/projects/$SLUG/$BRANCH-reviews.jsonl 2>/dev/null || echo "NO_REVIEWS"
Parse the JSONL output. Find the most recent entry for each skill. Display the dashboard and log review runs to:
~/.avadbot/projects/$SLUG/$BRANCH-reviews.jsonl
After displaying the Review Readiness Dashboard, recommend the next review(s) based on what this design review discovered.
Recommend /avadbot:avad-plan-eng-review if eng review has not been run — eng review is the required shipping gate. If this design review added significant interaction specifications, new user flows, or changed the information architecture, emphasize that eng review needs to validate the architectural implications.
Consider recommending /avadbot:avad-plan-ceo-review — only if this design review revealed fundamental product direction gaps: if the overall design score started below 4/10, if the information architecture had major structural problems, or if the review surfaced questions about whether the right problem is being solved.
If both are needed, recommend eng review first (required gate).
Use AskUserQuestion to present the next step. Include only applicable options:
data-ai
Clear the freeze boundary set by /avad-freeze, allowing edits to all directories again. Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits".
testing
Ship workflow: validate branch state, sync with target branch, run tests, pre-landing review, push, and create PR. Project-aware — reads target branch, test commands, and review checklist from docs/GIT_WORKFLOW.md.
development
Pre-landing code review. Analyzes diff for structural issues using a project-specific checklist. Two modes: local (review current branch) or PR (review and comment on a GitHub PR by number). Proactively suggest when the user is about to merge or land code changes.
development
Weekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware: breaks down per-person contributions with praise and growth areas.