Project Review
Assess how a project is actually executing against its own plan — what's built,
what's claimed, what's proven, and where the gaps are. The output is an honest,
prioritized execution picture a decision-maker can act on, not a code-by-code
critique. The discipline is separating "built" from "validated" from
"planned" and refusing to let any of the three stand in for the others.
This is the execution lens. For vision, positioning, and market, run
strategic-review; the two compose into a full pre-public / pre-milestone review
(see templates/full-review-prompt.md).
Ground rule: cite or label
Every claim is either confirmed (cite the file/path/command output that proves
it) or inferred (say so, and say from what). A reviewer who blurs the two is
worse than no reviewer — the decision-maker can't tell evidence from optimism.
Never report a capability as working unless you saw it work or saw a test that
exercises it.
Step 1: Inventory the claims and the plan
Read the project's own statements of intent before judging anything:
- Scope & status claims — README, vision/strategy docs, roadmap, execution
plan, CHANGELOG, milestone/issue tracker. What does the project say it is, what
phase does it say it's in, and what does it promise for the milestone in question?
- The hard boundaries — declared scope and explicit non-goals. These are what
you measure scope drift against.
Capture this as the baseline. Everything downstream is "reality vs this baseline."
Step 2: Map implementation maturity
Walk the actual code/artifacts and classify each major component:
| Tier |
Meaning |
Signals |
| Production-ready |
Built, integrated, tested |
Real implementation, callers, tests, in CI |
| Functional / thin |
Works but unproven or partial |
Implemented, light/no tests, edge cases open |
| Stub / scaffold |
Shape exists, behavior doesn't |
TODO, NotImplemented, empty handlers, returns mock data |
| Deferred / absent |
Named in the plan, not started |
Referenced in docs/roadmap, no code |
Be specific: name the package/module/path and the tier. The deliverable is a
maturity map, not a vibe. Grep for stub markers (TODO, FIXME, raise NotImplementedError, throw new Error("not implemented"), pass # stub).
Step 3: Reconcile against the roadmap — and find the drift
Lay the maturity map over the plan from Step 1:
- Ahead / behind — where is the code further along than the docs admit (common,
and a sign the strategy doc is stale), and where is it behind a milestone it
claims to have hit?
- Scope drift — what got built that isn't in scope? What's in scope but
silently dropped? What crossed a declared non-goal boundary?
- Sequencing risk — is load-bearing work scheduled after the milestone that
depends on it?
Step 4: Review the evidence it works
This is where most reviews are too generous. "The code is built" is not "the
concept is validated." Assess the evidence chain:
- Tests — do they exist for the load-bearing paths, or only happy paths?
Coverage numbers if available; quality, not just quantity.
- Validation / experimental results — if the project ran its own validation
(efficacy data, benchmarks, A/B results, user trials), read the actual numbers
and report what they say, including when they're negative or inconclusive.
Foreground an uncomfortable result; don't bury it.
- CI / checks — does the pipeline actually gate, or is it advisory?
- The built-vs-validated gap — state it explicitly: which capabilities are
built but unproven, and what evidence would close the gap?
Step 5: Prioritized execution findings
Produce ranked, severity-tagged findings, each tied to its evidence:
- Severity — Critical (blocks the milestone / claim is false) / High (material
risk) / Medium (should fix) / Low (note it).
- Each finding: what, the evidence (cited), why it matters for the milestone,
and the smallest action that addresses it.
- An execution scorecard — maturity, roadmap-adherence, evidence-strength,
each rated with a one-line justification, so the reader gets the picture at a glance.
Write the full report to a file — default a gitignored location (e.g.
.local/project-review-<date>.md) unless told otherwise — and state its path in
your final summary. This skill runs in a forked context: only the summary returns
to the main conversation, so anything not written to disk is lost. If a judgment
call needs user input (ambiguous scope boundary, missing baseline docs, which
milestone to measure against), do not guess silently — record it in an
Open questions section of the report and mention it in the summary.
For the rendered deliverable (interactive HTML report, dashboards, sortable
findings table), hand off to artifact-design.
Principles Applied
- Honesty over comfort — a review that flatters the plan is worthless; lead
with the most load-bearing problem, even when it undercuts the project's thesis.
- Evidence over assertion — confirmed vs inferred, always; cite the source.
- Prioritize — a ranked short list of what matters beats an exhaustive catalog.
- Right altitude — execution health, not line-level nits (that's
code-reviewing).
Cross-Skill References
strategic-review — the other half of a pre-public review: vision, positioning, market.
technical-debt-review — when the question is purely codebase health / remediation roadmap.
code-reviewing — for a specific diff or PR, not a whole-project assessment.
metrics-and-okrs — to turn findings into measurable readiness gates.
artifact-design — to render the review as a polished interactive report.
1---2name: project-review3description: Review a built project's execution health before a milestone — scope alignment, roadmap / execution-plan adherence, implementation maturity (what's production-ready vs stub/deferred), and the evidence it actually works (tests, coverage, validation results, changelog). Use strategic-review for vision/positioning/market; technical-debt-review for a pure code-health audit.4---56# Project Review78Assess how a project is actually executing against its own plan — what's built,9what's claimed, what's proven, and where the gaps are. The output is an honest,10prioritized execution picture a decision-maker can act on, not a code-by-code11critique. The discipline is **separating "built" from "validated" from12"planned"** and refusing to let any of the three stand in for the others.1314This is the **execution lens**. For vision, positioning, and market, run15`strategic-review`; the two compose into a full pre-public / pre-milestone review16(see [templates/full-review-prompt.md](../strategic-review/templates/full-review-prompt.md)).1718## Ground rule: cite or label1920Every claim is either **confirmed** (cite the file/path/command output that proves21it) or **inferred** (say so, and say from what). A reviewer who blurs the two is22worse than no reviewer — the decision-maker can't tell evidence from optimism.23Never report a capability as working unless you saw it work or saw a test that24exercises it.2526## Step 1: Inventory the claims and the plan2728Read the project's own statements of intent before judging anything:2930- **Scope & status claims** — README, vision/strategy docs, roadmap, execution31 plan, CHANGELOG, milestone/issue tracker. What does the project say it is, what32 phase does it say it's in, and what does it promise for the milestone in question?33- **The hard boundaries** — declared scope and explicit non-goals. These are what34 you measure scope drift against.3536Capture this as the baseline. Everything downstream is "reality vs this baseline."3738## Step 2: Map implementation maturity3940Walk the actual code/artifacts and classify each major component:4142| Tier | Meaning | Signals |43|------|---------|---------|44| **Production-ready** | Built, integrated, tested | Real implementation, callers, tests, in CI |45| **Functional / thin** | Works but unproven or partial | Implemented, light/no tests, edge cases open |46| **Stub / scaffold** | Shape exists, behavior doesn't | `TODO`, `NotImplemented`, empty handlers, returns mock data |47| **Deferred / absent** | Named in the plan, not started | Referenced in docs/roadmap, no code |4849Be specific: name the package/module/path and the tier. The deliverable is a50maturity map, not a vibe. Grep for stub markers (`TODO`, `FIXME`, `raise51NotImplementedError`, `throw new Error("not implemented")`, `pass # stub`).5253## Step 3: Reconcile against the roadmap — and find the drift5455Lay the maturity map over the plan from Step 1:5657- **Ahead / behind** — where is the code further along than the docs admit (common,58 and a sign the strategy doc is stale), and where is it behind a milestone it59 claims to have hit?60- **Scope drift** — what got built that isn't in scope? What's in scope but61 silently dropped? What crossed a declared non-goal boundary?62- **Sequencing risk** — is load-bearing work scheduled after the milestone that63 depends on it?6465## Step 4: Review the evidence it works6667This is where most reviews are too generous. "The code is built" is not "the68concept is validated." Assess the evidence chain:6970- **Tests** — do they exist for the load-bearing paths, or only happy paths?71 Coverage numbers if available; quality, not just quantity.72- **Validation / experimental results** — if the project ran its own validation73 (efficacy data, benchmarks, A/B results, user trials), read the *actual numbers*74 and report what they say, including when they're **negative or inconclusive**.75 Foreground an uncomfortable result; don't bury it.76- **CI / checks** — does the pipeline actually gate, or is it advisory?77- **The built-vs-validated gap** — state it explicitly: which capabilities are78 built but unproven, and what evidence would close the gap?7980## Step 5: Prioritized execution findings8182Produce ranked, severity-tagged findings, each tied to its evidence:8384- **Severity** — Critical (blocks the milestone / claim is false) / High (material85 risk) / Medium (should fix) / Low (note it).86- **Each finding**: what, the evidence (cited), why it matters for the milestone,87 and the smallest action that addresses it.88- **An execution scorecard** — maturity, roadmap-adherence, evidence-strength,89 each rated with a one-line justification, so the reader gets the picture at a glance.9091**Write the full report to a file** — default a gitignored location (e.g.92`.local/project-review-<date>.md`) unless told otherwise — and state its path in93your final summary. This skill runs in a forked context: only the summary returns94to the main conversation, so anything not written to disk is lost. If a judgment95call needs user input (ambiguous scope boundary, missing baseline docs, which96milestone to measure against), do **not** guess silently — record it in an97**Open questions** section of the report and mention it in the summary.9899For the rendered deliverable (interactive HTML report, dashboards, sortable100findings table), hand off to `artifact-design`.101102## Principles Applied103104- **Honesty over comfort** — a review that flatters the plan is worthless; lead105 with the most load-bearing problem, even when it undercuts the project's thesis.106- **Evidence over assertion** — confirmed vs inferred, always; cite the source.107- **Prioritize** — a ranked short list of what matters beats an exhaustive catalog.108- **Right altitude** — execution health, not line-level nits (that's `code-reviewing`).109110## Cross-Skill References111112- `strategic-review` — the other half of a pre-public review: vision, positioning, market.113- `technical-debt-review` — when the question is purely codebase health / remediation roadmap.114- `code-reviewing` — for a specific diff or PR, not a whole-project assessment.115- `metrics-and-okrs` — to turn findings into measurable readiness gates.116- `artifact-design` — to render the review as a polished interactive report.