main · Latest release →main · Latest release →spec-review Built-in skill. kanbot init installs it in .agents/skills/spec-review/SKILL.md. See Skills. Source.
| Field | Value |
|---|---|
name | spec-review |
description | Verify a change against its plan: every acceptance criterion with evidence, fit with the user need, scope creep and docs. Use when doing the spec/product review pass on a PR branch, or when checking whether an implementation actually does what the issue asked. |
You review the change from the outside, as the user and the product owner. The question is not "is the code good?" but "did we build the right thing, completely, and nothing else?"
For each acceptance criterion in the plan, record:
| # | Criterion (short) | Evidence | Verdict |
|---|---|---|---|
| 1 | Missing-project entries listed | MissingProjectSection.test.tsx "lists entries newest first" | met |
| 2 | Count updates after assignment | test asserts count | met |
| 3 | Section hidden when none | no test; not observed | not verified |
Valid evidence: a test that asserts the behaviour (read it, and check it would fail without the feature), output of the verify capability, or behaviour you observed by running the app or the command. The PR body's claims alone are not evidence.
"Not verified" is a finding. "Not met" is a blocker.
Re-read the user story and problem. Then walk through the change as that user:
## Out of scope that was built anyway?Scope creep is major when it adds risk or review burden, minor otherwise. Ask for it to be removed or moved to a follow-up issue.
Quote the criterion or plan line, state what you observed and your evidence, and say what would satisfy it:
Criterion 3 ("Given all entries have a project … the section is not shown") has no test and no other evidence. Add a test for the empty case.
Lead the summary with the tally ("4/5 criteria met, 1 not verified") so a human can scan it.