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 commands/zts0hg/codexspec/generate-specgit clone --depth 1 https://github.com/Zts0hg/codexspecWhat 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.00015 | $0.01187 |
| Opus 5 | $0.00008 | $0.00593 |
| Sonnet 5 | $0.00003 | $0.00237 |
| Haiku 4.5 | $0.00002 | $0.00119 |
Grade A, and why
generate-spec 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 2d 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 — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Specification Generator
Language Preference
Read .codexspec/config.yml. Two independent language controls apply (each falls back to language.output, then English):
- Interaction language (
language.interaction): language for all conversation with the user — questions, explanations, status messages, andcodexspecCLI terminal output. - Document language (
language.document): language for generated artifact files (requirements/spec/plan/tasks).
Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
User Input
$ARGUMENTS
Role
Act as a requirements compiler. Convert the persistent, user-confirmed decision record into spec.md without changing product intent.
Authority Order
- Confirmed entries in
requirements.md - Existing
spec.mdwhen operating in legacy compatibility mode - Project constitution and verified repository facts
- Explicit assumptions, which are never equivalent to confirmed requirements
- General best practices
Feature Resolution
- If
$ARGUMENTSidentifies arequirements.mdfile or feature directory, use it. - Otherwise match the current git branch to
.codexspec/specs/<branch>/. - If there is no unique match, ask the user to select a feature. Never silently select the latest directory.
- If
requirements.mdis absent but an existingspec.mdis present, use legacy compatibility mode:- Treat
spec.mdas the temporary highest authority. - State that fidelity to the original discussion cannot be verified.
- Do not regenerate it from guessed requirements.
- Treat
- If neither artifact exists, stop and direct the user to
/codexspec:specify.
Compilation Rules
- Read all
NEED-*,CON-*,DEC-*,OUT-*, andOPEN-*entries. - Only entries with
Status: confirmedmay become binding requirements. - Preserve
openentries as unresolved questions. Do not turn them into requirements. - Ignore
supersededentries except for historical context. - Use
REQ-xxxconsistently for functional requirements andNFR-xxxfor non-functional requirements. - Every requirement must include
Sources: NEED-xxx, CON-xxx, DEC-xxx. - Preserve confirmed exclusions in Out of Scope.
- Add an assumption only when required to make the document understandable. Label it clearly and do not use it to expand scope.
- If confirmed entries conflict, or a critical open item prevents a single faithful specification, stop and report the conflict instead of choosing an interpretation.
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.
- 2d ago First seen · 117 lines · 15 tokens per session scan A f2818cff98b8
generate-spec is a command published in the GitHub repository Zts0hg/codexspec (5 stars, last pushed 4d ago), licensed MIT. It adds 15 tokens to every session and 1,187 once invoked, about $0.0001 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 commands, from other repositories
OPSX: Apply
Implement tasks from an OpenSpec change (Experimental).
sync-linear
Sync current work with Linear ticket status.
review
Review the current diff for violations of the conventions in AGENTS.md and .cursor/rules/. Report findings ordered by severity; do not fix anything unless asked.
plan
Execute the implementation planning workflow using the plan template to generate design artifacts.
adv-gemini-research
Deep research query via Gemini with Google Search grounding.
tdd
Run the test-driven development workflow: write failing tests first, then the minimal code to pass.