Agent skill

review-spec

Review a specification document: launches an internal spec review and `/peer-review` in parallel and returns combined findings. Use when the user asks to "review my spec", "review this spec", "check my spec", "critique my spec", or wants spec feedback before planning.

Stars 261
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/tobihagemann/turbo/tree/main/skills/review-spec

SKILL.md

Review Spec

Run two AI spec reviews in parallel and return combined findings.

Step 1: Identify the Spec

Determine the spec to review using these rules in order:

  1. Spec text in conversation — If full spec text is already in context, use it
  2. Explicit path — If a file path was provided, read it
  3. Explicit slug — If a slug was provided, resolve to .turbo/specs/<slug>.md
  4. Single file — Glob .turbo/specs/*.md. If exactly one file exists, read it
  5. Most recent — If multiple files exist, read the most recently modified
  6. Legacy fallback — If .turbo/specs/ does not exist but .turbo/spec.md exists, use it
  7. Nothing found — If no spec exists, say so and stop

If multiple files exist and the most-recent choice is non-obvious, use AskUserQuestion to let the user pick from the candidates.

Step 2: Run Two Reviews in Parallel

Launch two Agent tool calls in a single message so they run concurrently (model: "opus", do not set run_in_background):

Internal Spec Review

Spawn a subagent with the full spec text and instruct it to:

  1. Read project context (CLAUDE.md and any existing codebase) to understand constraints
  2. Apply the spec determination criteria below
  3. Return findings in the output format below

Run /peer-review Skill

Spawn a subagent whose prompt includes the full spec text and the following review prompt, and instructs it to invoke /peer-review via the Skill tool:

<task>
Review the following specification document for issues that would cause problems during implementation planning. Challenge the design direction: question whether the proposed system design is the simplest safe option and identify assumptions about users, environment, or dependencies that could break.
</task>

<dig_deeper_nudge>
After surface-level issues, check for failure scenarios the spec does not account for: partial failure, race conditions, rollback safety, stale state, and data loss.
</dig_deeper_nudge>

<structured_output_contract>
For each issue, state: (1) the problem, (2) where in the spec it occurs, (3) impact on planning or implementation, (4) a suggested fix, and (5) priority: P0 (fundamentally flawed), P1 (significant gap), P2 (moderate issue), P3 (minor improvement).
Ignore stylistic preferences and minor wording. If no issues are found, state that the spec looks sound.
</structured_output_contract>

Step 3: Aggregate Combined Findings

Wait for both agents to complete. Aggregate their findings with attribution (reviewer: "internal" or "peer").

Check your task list for remaining tasks and proceed.

Spec Determination Criteria

Flag an issue only when ALL of these hold:

  1. It would cause problems during implementation planning or lead to building the wrong thing
  2. The issue is discrete and actionable (not a vague concern or general suggestion)
  3. The author would likely fix the issue if made aware of it
  4. The issue is clearly not an intentional design choice, OR it challenges a design choice with evidence of concrete failure modes or a simpler alternative

What to Review

  • Completeness — Missing requirements, undefined behavior, TODOs, placeholder text, or "TBD" markers that would block planning
  • Consistency — Internal contradictions between sections (e.g., data model conflicts with API design, feature list conflicts with MVP scope)
  • Clarity — Ambiguous requirements that could lead to misinterpretation during implementation
  • Scope — Spec focuses on a coherent system. No unconnected components or features that serve no specified consumer
  • YAGNI — Unrequested features, over-engineering, or premature abstractions that add complexity without clear value
  • Design Direction — Whether the proposed system design is the simplest safe option. Challenge assumptions about users, environment, or dependencies and flag when a different approach would be safer or simpler
  • Failure Modes — Scenarios the spec does not account for: partial failure, race conditions, stale state, rollback, data loss, and degraded dependencies

What to Ignore

  • Wording, stylistic, or cosmetic preferences that don't affect clarity
  • Alternative architectural approaches without evidence of concrete advantages over the chosen one
  • Suggestions that add complexity without clear planning value

Priority Levels

  • P0 — Spec is fundamentally flawed. Missing core requirement or internal contradiction that blocks planning
  • P1 — Significant gap that will likely cause planning or implementation problems
  • P2 — Moderate issue that should be addressed before planning
  • P3 — Minor improvement

Output Format

Return findings as a numbered list. For each finding:

### [P<N>] <title (imperative, ≤80 chars)>

**Section:** <spec section where the issue occurs>
**Reviewer:** <internal | peer>

<one paragraph explaining why this is a problem, what impact it has on planning or implementation, and a suggested fix>

After all findings, add:

## Overall Verdict

**Readiness:** <ready | needs revision>

<1-3 sentence assessment>

If there are no qualifying findings, state that the spec looks ready for planning and explain briefly.

Rules

  • If any reviewer is unavailable or returns malformed output, proceed with findings from the remaining reviewer.
  • Present findings grouped by priority, then by reviewer.

Expand your agent's capabilities with these related and highly-rated skills.

tobihagemann/turbo

review-api-usage

Check API, library, and framework usage in code against official documentation and installed skill knowledge. Flags deprecated APIs, incorrect method signatures, wrong parameter types, version-incompatible patterns, and best-practice violations. Use when the user asks to "review API usage", "check API usage", "verify against docs", "check library usage", "validate API calls", "check against documentation", or "check for deprecated APIs".

261 21
Explore
tobihagemann/turbo

resolve-pr-comments

Evaluate, fix, answer, and reply to GitHub pull request review comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR feedback", "handle review comments", "address review feedback", "respond to PR comments", "answer review questions", or "address code review".

261 21
Explore
tobihagemann/turbo

consult-codex

Multi-turn consultation with Codex CLI for second opinions, brainstorming, or collaborative problem-solving. Use when the user asks to "consult codex", "ask codex", "get codex's opinion", "brainstorm with codex", "discuss with codex", or "chat with codex".

261 21
Explore
tobihagemann/turbo

review-tooling

Detect what dev tooling infrastructure a project has and flag gaps across linters, formatters, pre-commit hooks, test runners, and CI/CD pipelines. Returns structured findings without applying changes. Use when the user asks to "review tooling", "check project tooling", "what tooling is missing", "review dev infrastructure", or "tooling audit".

261 21
Explore
tobihagemann/turbo

create-changelog

Create a CHANGELOG.md following keepachangelog.com conventions with version history backfilled from GitHub releases or git tags. Use when the user asks to "create a changelog", "add a changelog", "initialize changelog", "start a changelog", "set up changelog", "generate changelog", or "backfill changelog".

261 21
Explore
tobihagemann/turbo

update-changelog

Update the Unreleased section of CHANGELOG.md based on current changes. No-op if CHANGELOG.md does not exist. Use when the user asks to "update changelog", "add to changelog", "update the changelog", "changelog entry", "add changelog entry", or "log this change".

261 21
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results