Quality Review (Unified)
Goal: turn “is this change good?” into a repeatable review with a clear merge/production readiness verdict.
This skill intentionally merges three review lenses:
- Merge readiness (requirements alignment + risk + verification)
- Code maintainability (Clean Code-style review)
- Documentation consistency (README/docs vs implementation)
This is the single entry point for Ship Faster reviews. It includes an internal auto-triage:
- Always run the unified review (this skill).
- If React/Next.js performance risk is detected, also run
review-react-best-practices and include its findings.
- If UI surface changes are detected, also run a Web Interface Guidelines audit (a11y/focus/forms/motion/content overflow) and include terse
file:line findings.
Inputs (recommended)
BASE_SHA and HEAD_SHA for diff-based reviews
- Optional:
PLAN_OR_REQUIREMENTS path (e.g. run_dir/evidence/features/<feature_slug>-plan.md)
- Optional: docs scope (
README.md, docs/**, API contracts)
- Optional:
run_dir (Ship Faster run directory, if available)
Suggested scope commands
# Baseline: main/master merge-base
BASE_SHA=$(git merge-base HEAD main 2>/dev/null || git merge-base HEAD master)
HEAD_SHA=$(git rev-parse HEAD)
git diff --stat "$BASE_SHA..$HEAD_SHA"
git diff "$BASE_SHA..$HEAD_SHA"
Process
0) Auto-triage (Built-in Router)
Goal: reduce user choice. The reviewer decides which specialized review lens to apply, deterministically, based on the diff.
Collect signals (minimum):
git diff --name-only "$BASE_SHA..$HEAD_SHA"
git diff --stat "$BASE_SHA..$HEAD_SHA"
git diff "$BASE_SHA..$HEAD_SHA"
Routing rules (apply in order):
Docs-only change (fast path):
- If every changed file is in
docs/** or ends with .md|.txt|.rst
- Then run the unified review, but focus on Docs ↔ Code consistency + release risk (skip deep code maintainability unless docs reference code changes).
React/Next.js performance-sensitive change:
- If any changed file matches:
**/*.tsx, **/*.jsx
next.config.*, app/**, pages/**, src/app/**, src/pages/**
- React/Next entrypoints (
layout.tsx, page.tsx, middleware.ts, route.ts, loading.tsx)
- Or the diff contains performance-sensitive keywords (spot check via
git diff):
use client, Suspense, dynamic(, next/dynamic, next/navigation, React.cache, revalidate, fetch(, headers(), cookies()
- Then: run
review-react-best-practices and include its output (or link to its artifact) in the final report.
UI Web Interface Guidelines audit (a11y/UX rules, terse output):
- If any changed file matches:
- UI code:
**/*.tsx, **/*.jsx, **/*.vue, **/*.html, **/*.css, **/*.scss
- Common UI dirs:
app/**, pages/**, src/app/**, src/pages/**, components/**, src/components/**
- Then: fetch the latest Web Interface Guidelines and audit only the changed UI files first.
- Source:
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
- Fetch method: WebFetch (if available) or
curl -fsSL <url>
- Output findings in terse
file:line format, grouped by file (high signal, low prose). Treat a11y + focus issues as higher severity than cosmetic issues.
Output requirement (at top of your report):
## Triage
- Docs-only: yes|no
- React/Next perf review: yes|no
- UI guidelines audit: yes|no
- Reason: <1-3 bullets based on file paths / patterns>
1) Merge readiness (verdict review)
Use the template: references/code-reviewer.md.
Minimum checks:
- Requirements alignment (acceptance criteria hit, non-goals respected)
- Side effects are gated (deploy/payments/DB writes require explicit approval)
- Error handling is explicit (no silent failures)
- Verification evidence exists (tests/build/typecheck/lint/manual steps)
2) Clean Code maintainability scan
Review the diff (and nearby touched code) across these dimensions:
- Meaningful naming (avoid
data1, tmp, mixed naming for same concept)
- Small functions / SRP (very long functions, too many params, mixed responsibilities)
- Duplication (DRY) (copy/paste logic, repeated transformations/validation)
- Over-engineering (YAGNI) (unused branches, unnecessary abstractions)
- Magic numbers / strings (hardcoded values without semantic constants)
- Structural clarity (deep nesting, unreadable one-liners, nested ternaries)
- Project conventions (imports/order/style consistency)
3) Docs ↔ code consistency scan
Check that docs do not lie:
- Enumerate:
README.md, docs/**/*.md, config examples, env keys, API contracts
- For each claim/config/example: locate the authoritative code/config/contracts
- Record mismatches with evidence (doc location + code location)
Output (required)
Produce a structured report:
quality-review.md
quality-review.json (optional but recommended)
If you are working inside a Ship Faster run directory, write to:
run_dir/evidence/quality-review.md
run_dir/evidence/quality-review.json
If triage selects React/Next performance review and a Ship Faster run_dir is available, also persist:
run_dir/evidence/react-best-practices-review.md
If triage selects UI guidelines audit and a Ship Faster run_dir is available, also persist:
run_dir/evidence/ui-guidelines-review.md (terse file:line findings, grouped by file)
Output format (recommended)
## Summary
- Verdict: Ready / With fixes / Not ready
- Scope: BASE_SHA..HEAD_SHA (or file list)
## Triage
- Docs-only: yes|no
- React/Next perf review: yes|no
- UI guidelines audit: yes|no
- Reason: ...
## Strengths
- ...
## Issues
### Critical (Must Fix)
- Location: path:line
- What
- Why it matters
- Minimal fix
### Important (Should Fix)
...
### Minor (Nice to Have)
...
## UI Guidelines (terse, only if audit=yes)
- path:line <finding>
- path:line <finding>
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: heyvhuang-ship-faster-review-quality3description: Quality Review (Unified)4---56# Quality Review (Unified)78Goal: turn “is this change good?” into a **repeatable review** with a clear **merge/production readiness** verdict.910This skill intentionally merges three review lenses:11121) **Merge readiness** (requirements alignment + risk + verification)132) **Code maintainability** (Clean Code-style review)143) **Documentation consistency** (README/docs vs implementation)1516This is the **single entry point** for Ship Faster reviews. It includes an internal auto-triage:17- Always run the unified review (this skill).18- If React/Next.js performance risk is detected, also run `review-react-best-practices` and include its findings.19- If UI surface changes are detected, also run a Web Interface Guidelines audit (a11y/focus/forms/motion/content overflow) and include terse `file:line` findings.2021## Inputs (recommended)2223- `BASE_SHA` and `HEAD_SHA` for diff-based reviews24- Optional: `PLAN_OR_REQUIREMENTS` path (e.g. `run_dir/evidence/features/<feature_slug>-plan.md`)25- Optional: docs scope (`README.md`, `docs/**`, API contracts)26- Optional: `run_dir` (Ship Faster run directory, if available)2728### Suggested scope commands2930```bash31# Baseline: main/master merge-base32BASE_SHA=$(git merge-base HEAD main 2>/dev/null || git merge-base HEAD master)33HEAD_SHA=$(git rev-parse HEAD)3435git diff --stat "$BASE_SHA..$HEAD_SHA"36git diff "$BASE_SHA..$HEAD_SHA"37```3839## Process4041### 0) Auto-triage (Built-in Router)4243Goal: reduce user choice. The reviewer decides which specialized review lens to apply, deterministically, based on the diff.4445Collect signals (minimum):4647```bash48git diff --name-only "$BASE_SHA..$HEAD_SHA"49git diff --stat "$BASE_SHA..$HEAD_SHA"50git diff "$BASE_SHA..$HEAD_SHA"51```5253Routing rules (apply in order):54551) **Docs-only change** (fast path):56 - If every changed file is in `docs/**` or ends with `.md|.txt|.rst`57 - Then run the unified review, but focus on **Docs ↔ Code consistency** + **release risk** (skip deep code maintainability unless docs reference code changes).58592) **React/Next.js performance-sensitive change**:60 - If any changed file matches:61 - `**/*.tsx`, `**/*.jsx`62 - `next.config.*`, `app/**`, `pages/**`, `src/app/**`, `src/pages/**`63 - React/Next entrypoints (`layout.tsx`, `page.tsx`, `middleware.ts`, `route.ts`, `loading.tsx`)64 - Or the diff contains performance-sensitive keywords (spot check via `git diff`):65 - `use client`, `Suspense`, `dynamic(`, `next/dynamic`, `next/navigation`, `React.cache`, `revalidate`, `fetch(`, `headers()`, `cookies()`66 - Then: run `review-react-best-practices` and include its output (or link to its artifact) in the final report.67683) **UI Web Interface Guidelines audit** (a11y/UX rules, terse output):69 - If any changed file matches:70 - UI code: `**/*.tsx`, `**/*.jsx`, `**/*.vue`, `**/*.html`, `**/*.css`, `**/*.scss`71 - Common UI dirs: `app/**`, `pages/**`, `src/app/**`, `src/pages/**`, `components/**`, `src/components/**`72 - Then: fetch the latest Web Interface Guidelines and audit only the changed UI files first.73 - Source: `https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md`74 - Fetch method: WebFetch (if available) or `curl -fsSL <url>`75 - Output findings in **terse `file:line` format**, grouped by file (high signal, low prose). Treat a11y + focus issues as higher severity than cosmetic issues.7677Output requirement (at top of your report):7879```md80## Triage81- Docs-only: yes|no82- React/Next perf review: yes|no83- UI guidelines audit: yes|no84- Reason: <1-3 bullets based on file paths / patterns>85```8687### 1) Merge readiness (verdict review)8889Use the template: `references/code-reviewer.md`.9091Minimum checks:92- Requirements alignment (acceptance criteria hit, non-goals respected)93- Side effects are gated (deploy/payments/DB writes require explicit approval)94- Error handling is explicit (no silent failures)95- Verification evidence exists (tests/build/typecheck/lint/manual steps)9697### 2) Clean Code maintainability scan9899Review the diff (and nearby touched code) across these dimensions:1001011. **Meaningful naming** (avoid `data1`, `tmp`, mixed naming for same concept)1022. **Small functions / SRP** (very long functions, too many params, mixed responsibilities)1033. **Duplication (DRY)** (copy/paste logic, repeated transformations/validation)1044. **Over-engineering (YAGNI)** (unused branches, unnecessary abstractions)1055. **Magic numbers / strings** (hardcoded values without semantic constants)1066. **Structural clarity** (deep nesting, unreadable one-liners, nested ternaries)1077. **Project conventions** (imports/order/style consistency)108109### 3) Docs ↔ code consistency scan110111Check that docs do not lie:112- Enumerate: `README.md`, `docs/**/*.md`, config examples, env keys, API contracts113- For each claim/config/example: locate the authoritative code/config/contracts114- Record mismatches with evidence (doc location + code location)115116## Output (required)117118Produce a structured report:119120- `quality-review.md`121- `quality-review.json` (optional but recommended)122123If you are working inside a Ship Faster run directory, write to:124- `run_dir/evidence/quality-review.md`125- `run_dir/evidence/quality-review.json`126127If triage selects React/Next performance review and a Ship Faster `run_dir` is available, also persist:128- `run_dir/evidence/react-best-practices-review.md`129130If triage selects UI guidelines audit and a Ship Faster `run_dir` is available, also persist:131- `run_dir/evidence/ui-guidelines-review.md` (terse `file:line` findings, grouped by file)132133## Output format (recommended)134135```md136## Summary137- Verdict: Ready / With fixes / Not ready138- Scope: BASE_SHA..HEAD_SHA (or file list)139140## Triage141- Docs-only: yes|no142- React/Next perf review: yes|no143- UI guidelines audit: yes|no144- Reason: ...145146## Strengths147- ...148149## Issues150### Critical (Must Fix)151- Location: path:line152 - What153 - Why it matters154 - Minimal fix155156### Important (Should Fix)157...158159### Minor (Nice to Have)160...161162## UI Guidelines (terse, only if audit=yes)163- path:line <finding>164- path:line <finding>165```166167---168> Converted and distributed by [TomeVault](https://tomevault.io/claim/heyvhuang) — claim your Tome and manage your conversions.169<!-- tomevault:4.0:skill_md:2026-04-11 -->