review
mattpocock/skills
Review code changes against documented standards and spec requirements in parallel.
What is review?
Compares changes between a fixed point (commit, branch, tag) and HEAD along two independent axes: Standards (adherence to repo coding conventions) and Spec (implementation of the originating issue/PRD). Runs both reviews as parallel sub-agents to prevent context pollution, then aggregates findings side-by-side.
- Diffs HEAD against a user-specified fixed point (commit SHA, branch, tag, merge-base)
- Checks code conformance to documented coding standards (CODING_STANDARDS.md, CONTRIBUTING.md, etc.)
- Validates implementation against originating spec (issue tracker, PRD, or spec file)
- Runs Standards and Spec reviews as parallel sub-agents to keep analyses independent
- Reports findings separately per axis to prevent one from masking the other
- Identifies spec sources from commit messages, issue tracker, or docs/ paths
How to install review
npx skills add https://github.com/mattpocock/skills --skill review- Git repository with accessible commit history
- Documented coding standards (CONTRIBUTING.md, CODING_STANDARDS.md, or similar)
- Issue tracker or spec file for the feature being reviewed
- Run /setup-matt-pocock-skills if docs/agents/issue-tracker.md is missing
How to use review
- 1.Specify the fixed point (commit SHA, branch name, tag, or HEAD~N) to compare against
- 2.Provide or confirm the spec source (issue number, PRD path, or confirm none exists)
- 3.Run the skill; it will validate the fixed point and diff are non-empty
- 4.Review the Standards report for coding convention violations
- 5.Review the Spec report for missing requirements, scope creep, or implementation issues
- 6.Use the one-line summary to identify the worst issue in each axis
Use cases
- Review a feature branch before merging to main
- Audit a pull request against both coding standards and requirements
- Check work-in-progress changes for spec compliance and style violations
- Validate that a commit series implements the requested feature correctly
- Ensure refactoring maintains standards without scope creep
- Code reviewers evaluating PRs
- Engineering leads auditing feature completeness
- Developers checking their own branches before submission
- Teams enforcing coding standards and spec compliance
review FAQ
The skill will ask you to provide one. It can be a commit SHA, branch name, tag, main, HEAD~5, or any valid git ref.
The skill will ask where the spec is. If you confirm there isn't one, the Spec sub-agent will skip and report 'no spec available' in the final output.
To prevent one axis from masking the other. Code can follow all standards but implement the wrong thing, or do exactly what was asked but break conventions. Separate reports let you see both issues clearly.
The skill compares the full diff between your fixed point and HEAD. You can specify a spec file path to focus the Spec review on particular requirements.
Any file in the repo that documents how code should be written: CODING_STANDARDS.md, CONTRIBUTING.md, style guides, architecture docs, etc. The skill searches for these automatically.
Full instructions (SKILL.md)
Source of truth, from mattpocock/skills.
name: review description: Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Two-axis review of the diff between HEAD and a fixed point the user supplies:
- Standards — does the code conform to this repo's documented coding standards?
- Spec — does the code faithfully implement the originating issue / PRD / spec?
Both axes run as parallel sub-agents so they don't pollute each other's context, then this skill aggregates their findings.
The issue tracker should have been provided to you — run /setup-matt-pocock-skills if docs/agents/issue-tracker.md is missing.
Process
1. Pin the fixed point
Whatever the user said is the fixed point — a commit SHA, branch name, tag, main, HEAD~5, etc. If they didn't specify one, ask for it.
Capture the diff command once: git diff <fixed-point>...HEAD (three-dot, so the comparison is against the merge-base). Also note the list of commits via git log <fixed-point>..HEAD --oneline.
Before going further, confirm the fixed point resolves (git rev-parse <fixed-point>) and the diff is non-empty. A bad ref or empty diff should fail here — not inside two parallel sub-agents.
2. Identify the spec source
Look for the originating spec, in this order:
- Issue references in the commit messages (
#123,Closes #45, GitLab!67, etc.) — fetch via the workflow indocs/agents/issue-tracker.md. - A path the user passed as an argument.
- A PRD/spec file under
docs/,specs/, or.scratch/matching the branch name or feature. - If nothing is found, ask the user where the spec is. If they say there isn't one, the Spec sub-agent will skip and report "no spec available".
3. Identify the standards sources
Anything in the repo that documents how code should be written, such as CODING_STANDARDS.md or CONTRIBUTING.md.
4. Spawn both sub-agents in parallel
Send a single message with two Agent tool calls. Use the general-purpose subagent for both.
Standards sub-agent prompt — include:
- The full diff command and commit list.
- The list of standards-source files you found in step 3.
- The brief: "Report — per file/hunk where relevant — every place the diff violates a documented standard. Cite the standard (file + the rule). Distinguish hard violations from judgement calls. Skip anything tooling enforces. Under 400 words."
Spec sub-agent prompt — include:
- The diff command and commit list.
- The path or fetched contents of the spec.
- The brief: "Report: (a) requirements the spec asked for that are missing or partial; (b) behaviour in the diff that wasn't asked for (scope creep); (c) requirements that look implemented but where the implementation looks wrong. Quote the spec line for each finding. Under 400 words."
If the spec is missing, skip the Spec sub-agent and note this in the final report.
5. Aggregate
Present the two reports under ## Standards and ## Spec headings, verbatim or lightly cleaned. Do not merge or rerank findings — the two axes are deliberately separate (see Why two axes).
End with a one-line summary: total findings per axis, and the worst issue within each axis (if any). Don't pick a single winner across axes — that's the reranking the separation exists to prevent.
Why two axes
A change can pass one axis and fail the other:
- Code that follows every standard but implements the wrong thing → Standards pass, Spec fail.
- Code that does exactly what the issue asked but breaks the project's conventions → Spec pass, Standards fail.
Reporting them separately stops one axis from masking the other.
Related skills
More from mattpocock/skills and the wider catalog.
grill-with-docs
Relentless interview to sharpen a plan or design while generating ADRs and a glossary as you go.
improve-codebase-architecture
Scan your codebase for shallow modules, get a visual HTML report of deepening opportunities, then drill into whichever one you pick.
tdd
Build features and fix bugs test-first using red-green-refactor with vertical slices, not horizontal.
to-prd
Turn any conversation into a published PRD — no interviews, just synthesis of what you've already discussed.
to-issues
Break a plan, spec, or PRD into independently-grabbable vertical-slice issues on your project tracker
setup-matt-pocock-skills
One-time repo setup for Matt Pocock's engineering skills — configures issue tracker, triage labels, and domain doc layout.