Skip to content
Back to skills

Review Impl

ASecurity

Read-only verdict on whether an implementation meets its spec: each acceptance criterion classified, unintended changes flagged, test coverage checked. Writes nothing; returns COMPLETE, INCOMPLETE, or NEEDS FIXES. Use to judge finished work; use drift to record that judgment on the spec, wrapup to close the spec out.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
ai-agentsgitapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add latere-ai/agent-skills --skill review-impl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Review Impl?

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

Security grade badge for Review Impl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/latere-ai-review-impl/badge)](https://www.skillsdirectory.com/skills/latere-ai-review-impl)

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
---
name: review-impl
description: Read-only verdict on whether an implementation meets its spec: each acceptance criterion classified, unintended changes flagged, test coverage checked. Writes nothing; returns COMPLETE, INCOMPLETE, or NEEDS FIXES. Use to judge finished work; use drift to record that judgment on the spec, wrapup to close the spec out.
argument-hint: <spec-file.md or task-file.md> [commit-range]
---

# Review Implementation Against Spec

Compare what was actually implemented against what the spec or task asked for.
Catch deviations, missed requirements, and unintended side effects.

## Step 0: Parse arguments

Extract the spec or task file path from the first token. Optionally accept a
commit range (e.g., `abc123..HEAD`) as the second token.

If no commit range is given, infer it: find the commit that added/modified the
spec's task breakdown or the commit tagged in the task's status change to "Done".

## Step 1: Load the requirements

1. Read the spec or task file in full. **Parse YAML frontmatter** to extract
   `title`, `status`, `depends_on`, `affects`, `effort`.
2. Extract acceptance criteria, "What to do" steps, "Tests" requirements, and
   "Boundaries" constraints from the body.
3. Use the `affects` list from frontmatter as the expected set of files that
   should be modified by this implementation.
4. If reviewing a full spec (non-leaf), read all child spec files in the
   subdirectory and aggregate requirements recursively.

## Step 2: Load the implementation

1. Get the diff for the commit range: `git diff <range> --stat` for file list,
   then `git diff <range>` for full changes.
2. Get the commit messages: `git log <range> --oneline` for the narrative.
3. Group changes by file to understand what was touched.

## Step 3: Check acceptance criteria

For each acceptance criterion or "What to do" step:

- Search the diff for evidence that it was implemented.
- Classify as: Implemented, Partially implemented, Not implemented, or
  Cannot determine.
- For "Partially implemented", explain what's missing.

Report: checklist of criteria with status.

## Step 4: Check for unintended changes

Compare files touched in the diff against the `affects` list from frontmatter
and files listed in the spec body's "What to do" section:

- Flag files modified that aren't in `affects` or mentioned in "What to do".
- For each unexpected file, read the diff hunk and assess whether the change is:
  - Necessary (e.g., import added by a refactor)
  - Cleanup (formatting, dead code removal)
  - Scope creep (new behavior not in the spec)
  - Regression risk (modifying unrelated logic)

Report: list of unexpected changes with assessment.

## Step 5: Check test coverage

For each "Tests" requirement in the spec/task:

- Search for a matching test function in the diff or codebase.
- Verify the test actually tests what the requirement asks for (not just that a
  test with a similar name exists).
- Flag requirements with no corresponding test.
- Discover and run the affected repository's documented test command.

Report: test coverage against requirements.

## Step 6: Check boundary compliance

For each "Boundaries" constraint ("do NOT change X"):

- Search the diff for changes to the forbidden area.
- Flag violations with the specific diff hunk.

Report: boundary violations, or "Boundaries: respected".

## Step 7: Check documentation

If the spec or task mentions documentation updates:

- Verify the relevant doc files were modified in the diff.
- Check that new API routes, env vars, or CLI flags appear in the docs.
- Cross-reference repository instructions and public documentation for
  consistency.

Report: documentation gaps, or "Docs: OK".

## Step 8: Summary

Present a structured report:

```
## Implementation Review: <spec/task name>

Commits: N commits, M files changed, +A/-D lines
Commit range: <range>

### Acceptance Criteria
- [x] <criterion> — implemented in <file>
- [ ] <criterion> — NOT implemented
- [~] <criterion> — partial: <what's missing>

### Unintended Changes
- <file>: <assessment>

### Test Coverage
- [x] <requirement> — covered by TestFoo
- [ ] <requirement> — NO TEST

### Boundary Compliance
- OK / <violations>

### Documentation
- OK / <gaps>

### Verdict: COMPLETE / INCOMPLETE / NEEDS FIXES
```

Do NOT modify any files. This skill is read-only. If issues are found, list
specific remediation steps for the user to act on.

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.