spec-review-codex

spec-review-codex is a skill for Claude Code, Codex from jaansokk/cursor_tools. It costs 39 tokens per session (1,315 once invoked), scanned A, original, MIT.

A read-only reviewer for a project's _specs/ directory, using Codex CLI to compare written requirements with the codebase. It reports conflicts, unclear requirements, missing details, and differences between the specs and the code.

In plain words
What is it for?
Use it after writing or changing specs, or when reviewing a growing project specification. It produces findings for developers to address and does not edit files.
Why use it?
It helps catch misunderstandings and outdated requirements before they lead to rework. It focuses on issues that could cause an implementation to go in the wrong direction.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/jaansokk/cursor_tools/spec-review-codex
Any agent
npx skills add jaansokk/cursor_tools --skill spec-review-codex
Clone the repo
git clone --depth 1 https://github.com/jaansokk/cursor_tools

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for spec-review-codex

README.md
[![agentmods](https://agentmods.dev/badge/skills/jaansokk/cursor_tools/spec-review-codex.svg)](https://agentmods.dev/skills/jaansokk/cursor_tools/spec-review-codex)
Your own site
<a href="https://agentmods.dev/skills/jaansokk/cursor_tools/spec-review-codex"><img src="https://agentmods.dev/badge/skills/jaansokk/cursor_tools/spec-review-codex.svg" alt="Measured on agentmods" height="20"></a>
Per session 39 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,315 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00039 $0.01315
Opus 5 $0.00019 $0.00658
Sonnet 5 $0.00008 $0.00263
Haiku 4.5 $0.00004 $0.00131

Measured 5d ago against content hash df969f6cb649, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

spec-review-codex scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/spec-review-codex/SKILL.md · 118 lines

How it starts

The opening of the file, as written. The whole thing — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Spec Review via Codex CLI

A read-only audit of the project's _specs/ directory using Codex as an independent reviewer. The goal is to surface problems that would cause confusion, rework, or wrong implementations — before engineering time is wasted.

When to use

  • After writing or significantly updating specs, before starting implementation
  • When the user says "review specs", "check specs", "spec review", or "audit specs"
  • Periodically as a health check when specs have grown organically

Behavior

  • Read-only: No files are modified. Output is a findings report.
  • Cross-references codebase: Where specs reference implementation details, the reviewer checks actual code for drift.
  • Focuses on actionable issues: Not a style guide audit — only problems that would mislead an implementer or cause rework.

Steps

  1. Check for specs directory:

    • If _specs/ does not exist, report: "No _specs/ directory found. Nothing to review." and stop.
  2. Read the spec index (_specs/spec-index.md if it exists, otherwise list _specs/ contents) to understand the structure.

  3. Run the review via Codex CLI:

codex exec \
  -m gpt-5.4 \
  -c model_reasoning_effort='"xhigh"' \
  -s read-only \
  --ephemeral \
  -o /tmp/spec-review-output.md \
  "You are a senior product engineer reviewing project specs before implementation. Your job is to catch problems that would cause an engineer to build the wrong thing, build it twice, or get stuck.

Start by reading _specs/spec-index.md (if it exists) to understand the spec structure, then read every spec file under _specs/. Also read relevant source code when specs reference implementation details — you need to check for drift.

Review the specs against the following checklist. Only report real problems — skip minor wording preferences.

Use the context7 MCP to check documentation of libraries when needed.

## Review checklist

### 1. Internal contradictions
- Specs that directly conflict with each other (different stated behaviors for the same feature)
- Inconsistent terminology (same concept called different names, or same name meaning different things)
- Conflicting constraints (e.g., one spec says sync, another says async for the same flow)
- Version/date mismatches between related specs

### 2. Goal vs. implementation drift
- Architecture or tech choices that don't serve the stated goals (overengineered, wrong tradeoff)
- Features that have evolved away from their original stated purpose
- Specs that describe what was built rather than what should be built (post-hoc rationalization)
- UX goals that are contradicted by technical decisions (e.g., goal says 'fast and simple' but spec describes a complex multi-step flow)

### 3. Ambiguity that would block an implementer
- Requirements with no clear success criteria ('should be fast', 'user-friendly', 'robust')
- Undefined terms or acronyms used without explanation
- Vague quantifiers ('some', 'many', 'usually', 'when appropriate')
- Missing decisions marked as TBD/TODO that are blocking for implementation
- Conditional logic without defined behavior for all branches ('if X, do Y' — but what if not X?)

### 4. Missing specs and gaps
- User flows or interactions described in one spec but with no corresponding spec for dependent components
- Error states and failure modes not covered (what happens when the API is down, the user has no data, the payment fails?)
- Missing edge cases: empty states, first-run experience, concurrent users, data migration from old behavior
- Security and auth requirements absent for features that clearly need them
- No spec for how the feature degrades (offline, slow network, partial failures)

### 5. Implementability
- Requirements that are technically infeasible or extremely expensive given the described architecture
- Specs that require information or dependencies not available at the described point in the flow
- Missing interface contracts between components (spec A says 'sends data to B' but B's spec doesn't describe receiving it)
- Performance requirements stated without a credible path to meeting them
- Requirements that assume capabilities not present in the described tech stack

### 6. Staleness and rot
- Specs that reference removed features, deprecated APIs, or old architecture
- Specs contradicted by the current codebase (check the code when in doubt)
- Decision records whose context has materially changed since they were written
- Links to external docs, tools, or services that no longer exist

### 7. Testability
- Requirements that cannot be verified with a test (manual or automated)
- Acceptance criteria missing entirely
- Success metrics that are unmeasurable or subjective without a defined threshold
- No clear definition of done

## Output format

For each finding:
- **Severity**: HIGH / MEDIUM / LOW
  - HIGH = would cause wrong implementation, major rework, or blocks progress
  - MEDIUM = creates confusion or risk, but a good engineer could work around it
  - LOW = should be fixed but won't cause immediate harm
- **Spec file**: which file and section
- **Issue**: one-sentence description
- **Impact**: what goes wrong if this isn't fixed (wasted time, wrong build, user-facing bug)
- **Suggestion**: how to resolve it (be specific — not just 'clarify this')

Group findings by severity (HIGH first).

After all findings, provide:

### Summary
- Total findings by severity
- Top 3 riskiest specs (most findings or most severe)
- Overall verdict: HEALTHY (minor issues only), NEEDS WORK (significant gaps but structure is sound), or RETHINK (fundamental contradictions or missing specs that would cause major rework)"

Read the full file on GitHub · 118 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 118 lines · 39 tokens per session scan A df969f6cb649

Subscribe to this mod's changes

spec-review-codex is a skill published in the GitHub repository jaansokk/cursor_tools (1 stars, last pushed 5mo ago), licensed MIT. It adds 39 tokens to every session and 1,315 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

continuous-discovery

Guide teams through building sustainable customer interview habits and discovery practices. Use when setting up weekly customer interviews, preparing interview guides, coaching story-based interviewing technique, synthesizing user research findings, planning assumption tests, or helping teams that say they don't have…

luisabwk/kraken · 60 tokens

prd-writer

Guide users through writing Product Requirements Documents (PRDs) and decomposing them into executable technical tasks. Use when creating a PRD, product spec, product one-pager, feature brief, PRP, or when breaking requirements into tasks with estimates, sprint planning, or technical decomposition.

luisabwk/kraken · 61 tokens

product-led-growth-playbook

Evaluate growth strategy, growth team structure, and go-to-market motions using Elena Verna's PLG frameworks. Use when the user asks about product-led growth, PLG, growth team hiring, self-serve vs sales-led motions, product-led sales, PQA/PQL models, growth loops, when to hire a head of growth, earned vs rented…

luisabwk/kraken · 97 tokens

ab-testing-framework

Design, run, and analyze A/B tests (controlled experiments) using Ronny Kohavi's methodology and Gibson Biddle's DHM trade-off analysis. Use when the user needs to plan an experiment, choose metrics (OEC), evaluate statistical significance, assess sample size requirements, avoid common experimentation pitfalls, or…

luisabwk/kraken · 75 tokens

dhm-strategy-framework

Evaluate and strengthen product strategy using Gibson Biddle's DHM framework (Delight, Hard-to-copy, Margin-enhancing). Use when the user asks about product strategy, competitive advantage, feature prioritization trade-offs, or wants to stress-test whether a product idea is strategically sound.

luisabwk/kraken · 62 tokens

ai-evals-builder

Build AI evals using the Husain-Shankar framework (error analysis, open/axial coding, LLM-as-judge). Use when a user needs to create, improve, or debug evals for an AI product — including defining failure modes, building LLM judges, or setting up production monitoring for an LLM application.

luisabwk/kraken · 72 tokens