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/visactor/vchart/speckit.prgenerategit clone --depth 1 https://github.com/VisActor/VChartWhat 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.00037 | $0.01279 |
| Opus 5 | $0.00018 | $0.00639 |
| Sonnet 5 | $0.00007 | $0.00256 |
| Haiku 4.5 | $0.00004 | $0.00128 |
Grade A, and why
speckit.prgenerate 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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty), but treat it only as CLI-style flags (for example, --lang, --out); the PR content itself must be inferred from the specs directory, not from free-form user text.
Outline
-
Determine template and feature context (specs-only):
- Treat this command as zero-input by default: if
$ARGUMENTSis empty, it still must be able to generate a useful PR body. - Parse
$ARGUMENTSonly for CLI-style options (for example,--lang,--out):- If
--lang zhis present, use the Chinese template at.github/PULL_REQUEST_TEMPLATE/pr_cn.md. - Otherwise, use the English template at
.github/PULL_REQUEST_TEMPLATE.md(the default; do not auto-detect language). - If an explicit output path is provided (for example,
--out specs/001-foo/PR_BODY.md), respect it; otherwise, default to.trae/output/pr.body.local.md.
- If
- Resolve
specs/<spec-id>/by deriving the numeric prefix from the current branch name and matching it to a directory underspecs/whose name starts with that prefix. - From that directory, resolve
plan.mdas the primary context source for the PR.
- Treat this command as zero-input by default: if
-
Extract PR content from specs:
- From
plan.md, read the## Summarysection and take the first non-empty line as the high-level description of the change. - Read the
## Technical Contextsection and remove any template-only comments, keeping only the concrete technical details. - Combine these into a structured background text:
- When both are present:
Summaryparagraph followed by a blank line and theTechnical Contextcontent. - When only Summary exists: use Summary alone.
- When neither exists: fall back to a short line like
Update for <spec-id>derived from the spec directory name.
- When both are present:
- Optionally infer a coarse change type (
feat,fix,docs,perf,refactor,test,chore) from the Summary/Technical Context using the same keyword mapping as/speckit.commit.
- From
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 · 76 lines · 37 tokens per session scan A 3d40df5cf94d
speckit.prgenerate is a command published in the GitHub repository VisActor/VChart (1,834 stars, last pushed 7d ago), licensed MIT. It adds 37 tokens to every session and 1,279 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-30.
Other commands, from other repositories
guide
Every method on App should have its own unit tests.
lattice-cycle
Run one Lattice work cycle — pull the next runnable tasks, dispatch the agent team, verify, commit, push, and advance the queue.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.