Skip to content
Back to skills

Design Review

ASecurity

Use only when autopilot-design dispatches design quality, token-contract, and breakage review. Not for top-level user requests or primary capability routing.

  • 8 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentsnode

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add dmlguq456/hearting --skill design-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Design Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Design Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dmlguq456-design-review/badge)](https://www.skillsdirectory.com/skills/dmlguq456-design-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
# GENERATED METADATA — edit harness-manifest.json, then run tools/generate.py.
name: design-review
description: "Use only when autopilot-design dispatches design quality, token-contract, and breakage review. Not for top-level user requests or primary capability routing."
argument-hint: "<design path or app path>"
metadata:
  group: sub
  fam: sub
  invocation_class: parent-invoked
  modes: []
  blurb: "Review design output for quality, token-contract compliance, and breakage."
  use_when: "Use only when autopilot-design dispatches design quality, token-contract, and breakage review."
  not_for: "Not for top-level user requests or primary capability routing."
---

# design-review

## Language Rule

Follow an explicit artifact or audience language when provided. Otherwise, write critique, summaries, and the user-facing verdict in the conversation language according to `<agent-home>/roles/response-policy.md`. Preserve schema keys, check IDs, paths, scores, and status literals.

## Resolve and Check State

Find the applicable `design_state.yaml` and require `phases.components: done`. Review the available source and rendered evidence, including `03_components/*.tsx`, validated screenshots, standalone previews, or an explicit user-provided mockup.

## Two-Gate Review

Run two distinct gates:

1. **Verifier**: detect breakage, console errors, layout failures, and contract violations.
2. **Critic**: assess the visual and experiential quality of output that passed the hard gate.

### Step 1: Verifier Gate

Dispatch the `design/verifier` unit as the `visual-verify` sibling review node, in an independent context.

Preserve this two-layer result schema:

- `verdict: done | needs_work`
- `breakage: has_errors | none`
- `vision_passrate: <float>` as passed `[vis]` checks divided by total `[vis]` checks
- `status: verified | needs_review | needs_iteration | failed | unavailable`
- `layer1_checks[]`: every `[det]` item as `{id, passed, reason}`
- `layer2_checks[]`: every `[vis]` item as `{id, dimension, passed, reason}`
- `gaps[]`: failed `{dimension, reason}` entries when `needs_work`
- `round_cap_hit: true` when a retry ceiling is reached

On PASS, return only `verdict`, `breakage`, and `vision_passrate` on one line. On FAIL, return textual gap reasons and breakage only. Do not return the verifier's screenshots to the orchestration context.

Use this prompt:

```text
Verify 03_components/preview.html or slides.html with the full TWO-LAYER rubric.

Layer 1, zero tolerance:
- console.errors_zero
- layout.no_overflow
- no_overlap
- no_zero_box
- components.token_contract

Layer 2, visual:
- layout.hierarchy_present
- color.palette_consistent
- typography.role_consistent
- content.intent_match
- content.no_slop_filler
- components.structure_sound

PASS → return one line with verdict, breakage, and vision_passrate.
FAIL → return gap reasons and breakage as text only.
Do not return screenshots outside the verifier context.
```

This skill owns the retry ceilings:

- console/error re-verification: at most 3 calls, native constant `MAX_DONE_ERROR_ROUNDS = 3`
- verifier → maker correction → re-verification: at most 2 rounds, benchmark contract `BENCHMARKS.md:24`

At the ceiling, return the last real verifier state with `round_cap_hit: true`; never coerce it to `done`.

If the verifier returns `needs_work`, set `design_state.yaml` `phases.review: failed`, report the failure, recommend rerunning the components stage, and stop before the critic gate.

### Step 2: Render the Critic Input

The critic must inspect rendered images rather than source coordinates alone. Follow the [visual self-verification loop](../../roles/units/design/_design-rules.md) for the applicable UI/webapp, slide, icon, or diagram scope.

If rendering is unavailable, state that limitation in the critique and review only what was actually observed. Do not claim visual inspection without rendered evidence.

### Step 3: Critic Gate

Dispatch the `design/critic` unit as the `critic-review` sibling review node:

```text
Run a visual review for <design_name>.
Target: 03_components/ or the resolved design material
Brief: 01_refs/brief.md
Tokens: 02_tokens/tokens.md

Review six axes:
1. hierarchy — natural eye flow and correct emphasis
2. alignment and spacing — consistency and breathing room
3. accessibility — WCAG AA contrast, keyboard navigation, focus indication, alt text
4. responsiveness — mobile, tablet, and desktop breakpoints
5. UX flow — loading, error, empty, undo, and cancel states
6. tone consistency — token compliance and fit with other components

Write 04_review/critique.md with 5–7 material findings grouped as 🔴, 🟡, or 🟢, plus a separate strengths section.
```

### Step 4: Interpret the Critique

- Any 🔴: report axis, component or file, and correction direction; reroute implementation to the components stage or maker mode.
- Only 🟡: allow handoff while clearly reporting residual issues.
- Only 🟢: pass.

### Step 5: Update State

- verifier `needs_work` or at least one critic 🔴 → `phases.review: failed`
- verifier `done` and no critic 🔴 → `phases.review: done` and `verifier: passed`

Write `04_review/verifier.md` with `breakage`, `vision_passrate`, `status`, every layer-1 and layer-2 check, and failed reasons.

When `vision_passrate` is 0.85–0.99, preserve `status: needs_review` with `verdict: done`: pass the phase but expose each failed `[vis]` reason like a critic 🟡. When `round_cap_hit: true`, report that the cap was reached and the review did not converge. Never hide regression evidence.

## Output

- `04_review/verifier.md`
- `04_review/critique.md`
- `04_review/summary.md`

## Return Format

```text
<design_path>/04_review/ -- ✅ review passed (M minor, K praise) [vision_passrate=X.XX, status=verified]
```

```text
<design_path>/04_review/ -- 🔴 N major issues found — see critique.md [breakage=has_errors|none, vision_passrate=X.XX]
```

When `round_cap_hit: true`, append the selected-language equivalent of `(round cap reached — final status: <status>, not converged)`.

The acting agent may retain durable UX or critique patterns when they are genuinely useful. Do not make memory writes a completion requirement.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.