change-review
Review a finished OpenSpec change against its own delta specs, then archive it — every requirement built and tested, nothing shipped that wasn't proposed.
Skill by jackey8616
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jackey8616-change-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/change-review
What's inside
- Skill name
change-review- Description
- Review a finished OpenSpec change against its own delta specs, then archive it — every requirement built and tested, nothing shipped that wasn't proposed.
- License
- MIT
- Instructions
- 62 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Change Review The gate before a change is archived, and the only thing that updates `openspec/specs/`. It asks the one question no per-ticket review can answer: **did the change, as a whole, deliver what it proposed — and only what it proposed?** `/code-review` reviews a diff against one ticket. This reviews a **change** against its delta specs. Tickets can each pass on their own and still add up to a change with a requirement nobody built, a scenario nobody tested, or three features nobody proposed. ## Why this is a separate step `/implement` finishes at a commit, so its session ends before anything merges. Nothing is running at the moment the last pull request lands — which is exactly when the change becomes archivable. That gap is what this skill fills, and it is why archiving is a command you run rather than something a previous step could have done for you. ## 1. Reconcile `tasks.md` Read `openspec/changes/<change-id>/tasks.md` and check each ticket against the tracker, using the issue references `/to-tickets` wrote back. Tick the boxes whose issues have closed. Do not trust the ticks that are already there — a box is ticked when its issue closes, and the session that wrote the code was over before that happened. Reconciling against the tracker is what makes the checklist true. If any ticket is still open, **say which and stop.** This is a gate, not a progress report. ## 2. Assemble the record Read the change in full: `proposal.md`, every delta spec under `specs/`, `design.md`, and the reconciled `tasks.md`. Then get the whole diff the change produced — from the base the proposal merged at, through the merge of every ticket, to `HEAD`. Read `openspec/specs/` too. The delta describes what should now be different; the current specs describe what was true before. ## 3. Review on two axes Run these as **parallel sub-agents**, one per axis, so neither pollutes the other. Each gets the record from step 2 and reports findings only — no fixes. <coverage-axis> **Coverage** — is every proposed thing actually there? Walk the delta specs requirement by requirement, and within each, scenario by scenario. For each one, find: - the code that implements it, and - a test that exercises it — one that would fail if the behaviour were removed Report every requirement or scenario missing either. A scenario with no test is the most common finding here: the behaviour works, nothing holds it in place, and the next change silently breaks it. </coverage-axis> <fidelity-axis> **Fidelity** — is anything there that shouldn't be? Walk the diff and trace each meaningful behaviour change back to a requirement in the delta specs. Report: - **Scope drift** — behaviour shipped that no requirement asked for. It was decided during implementation, which is exactly where scope isn't supposed to be decided. - **Abandoned decisions** — `design.md` says one thing and the code does another, with no record of the change of mind. - **Silent requirement changes** — a requirement implemented differently from how its scenarios describe it. </fidelity-axis> ## 4. Verdict Present both reports under `## Coverage` and `## Fidelity`. Then one of two outcomes: **Findings on either axis → send it back.** Say what has to happen: build the missing requirement, add the missing test, or take the unproposed behaviour back through the propose stage. **Never resolve a finding by editing a delta spec to match what got built** — that turns the record of what was agreed into a transcript of what happened, and it is the failure this gate exists to catch. If the change genuinely should cover more, amend the proposal and get it approved again. **Clean → archive.** Run the repo's archive command (`openspec archive <change-id>`, or whatever the generated agent instructions specify). This merges the deltas into `openspec/specs/`, which is the only moment current behaviour is updated. Confirm afterwards that the specs moved, and say so.
From jackey8616/skills, MIT.
More from jackey8616/skills
- 0.524score
writing-proposals
jackey8616
Open an OpenSpec change and write its proposal — the problem, the agreed solution, and what was ruled out.
SkillBFreshness: BClaude Code +9 - 0.521score
to-spec
jackey8616
Turn the current conversation into an OpenSpec change proposal — no interview, just synthesis of what you've already discussed.
SkillBFreshness: BClaude Code +9 - 0.499score
domain-modeling
jackey8616
Build and sharpen a project's domain model.
SkillBFreshness: BClaude Code +9 - 0.499score
code-review
jackey8616
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…
SkillBFreshness: BClaude Code +9 - 0.499score
codebase-design
jackey8616
Shared vocabulary for designing deep modules.
SkillBFreshness: BClaude Code +9 - 0.496score
to-tickets
jackey8616
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker —…
SkillBFreshness: BClaude Code +9 - 0.496score
triage
jackey8616
Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs.
SkillBFreshness: BClaude Code +9 - 0.496score
wayfinder
jackey8616
Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time…
SkillBFreshness: BClaude Code +9 - 0.493score
implement
jackey8616
Implement a piece of work based on a spec or set of tickets.
SkillBFreshness: BClaude Code +9 - 0.493score
grill-with-docs
jackey8616
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
SkillBFreshness: BClaude Code +9 - 0.493score
ask
jackey8616
Ask which skill or flow fits your situation.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 16, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jackey8616/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jackey8616
- 0.524score
writing-proposals
jackey8616
Open an OpenSpec change and write its proposal — the problem, the agreed solution, and what was ruled out.
SkillBFreshness: BClaude Code +9 - 0.521score
to-spec
jackey8616
Turn the current conversation into an OpenSpec change proposal — no interview, just synthesis of what you've already discussed.
SkillBFreshness: BClaude Code +9 - 0.499score
domain-modeling
jackey8616
Build and sharpen a project's domain model.
SkillBFreshness: BClaude Code +9 - 0.499score
code-review
jackey8616
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…
SkillBFreshness: BClaude Code +9 - 0.499score
codebase-design
jackey8616
Shared vocabulary for designing deep modules.
SkillBFreshness: BClaude Code +9 - 0.496score
to-tickets
jackey8616
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker —…
SkillBFreshness: BClaude Code +9
Cite this page
change-review skill. Agent Mart. https://agentmart.dev/skills/jackey8616-change-review (last updated 2026-10-24)