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.
npx agentmods add skills/jaansokk/cursor_tools/spec-review-codexnpx skills add jaansokk/cursor_tools --skill spec-review-codexgit clone --depth 1 https://github.com/jaansokk/cursor_toolsWrote 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.
[](https://agentmods.dev/skills/jaansokk/cursor_tools/spec-review-codex)<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>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.
| Model | Per session | Once 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 |
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.
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
-
Check for specs directory:
- If
_specs/does not exist, report: "No_specs/directory found. Nothing to review." and stop.
- If
-
Read the spec index (
_specs/spec-index.mdif it exists, otherwise list_specs/contents) to understand the structure. -
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)"
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.
- 5d ago First seen · 118 lines · 39 tokens per session scan A df969f6cb649
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.
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…
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.
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…
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…
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.
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.