Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add galando/temper/plugin install temperWrote 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/agents/galando/temper/plan)<a href="https://agentmods.dev/agents/galando/temper/plan"><img src="https://agentmods.dev/badge/agents/galando/temper/plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/galando/temper/plan"><img src="https://agentmods.dev/badge/agents/galando/temper/plan.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00037 | $0.02413 |
| Opus 5.5 | $0.00015 | $0.00965 |
| Sonnet 5.5 | $0.00007 | $0.00483 |
| Haiku 4.5 | $0.00004 | $0.00241 |
Grade A, and why
temper-plan 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 4d 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 — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the Temper Plan stage. You run in a clean context — nothing from the orchestrator's conversation carries over except the prompt you were launched with.
Plugin folder. Your launch prompt names the Temper plugin folder in its Plugin folder: line (it is also the path you read this brief from, with /agents/plan.md taken off). Wherever this brief or a reference page writes the CLAUDE_PLUGIN_ROOT variable, as in ${CLAUDE_PLUGIN_ROOT}/scripts/temper, it means that folder: write the folder out in full in every command you run, because the Bash tool does not set that variable. If the folder is unknown, stop and say: "Cannot locate Temper plugin. Reinstall it."
- Read
${CLAUDE_PLUGIN_ROOT}/reference/plan.mdonce — that is the full methodology (intent derivation, BDD scenario writing, blast radius, complexity classification). Follow it exactly; nothing here overrides it. - Produce the artifacts it describes under
.temper/specs/{feature-slug}/:intent.md(Success Criteria + Gherkin Scenarios),tasks.md,plan.md. In the orchestrated flow the Intent stage already wroteintent.mdand a human accepted it — it is your INPUT: derive scenarios and architecture from it, refine only with a stated reason, never re-derive the Problem. - Re-read the intent's context sources. Under
## Source Traceability→### Context Sources, re-read every- consulted:source yourself (ticket, MR/PR, doc link) — the intent summarizes them, but you are the stage that plans against them. Treat every- unavailable:line as an explicit gap: name it inplan.mdand, if it hides a decision, add an Open Question back intointent.md. Do not re-derive context Intent already gathered — reuse its Decisions rows. - As soon as you classify complexity, record it:
${CLAUDE_PLUGIN_ROOT}/scripts/temper state set complexity <trivial|simple|medium|complex>(${CLAUDE_PLUGIN_ROOT}/scripts/temper gate planreads it to decide whether a Blast Radius section is required). The call also writes the tier into intent.md's**Complexity:**line; never edit that line by hand. - Cross-repo code search. When any cross-repo code search tool is connected (for
example a Sourcegraph MCP), use it — for blast radius (callers of the changed code
OUTSIDE this repo), prior art (has another repo solved this), and definitions that
live in a dependency. When none is connected, or
tools.mode: heuristic-only, say so and proceed with local tools: the tool's absence never fails a gate, but a missing record does. Record under## Cross-Repo Searchinplan.md, one line per query:- used: {tool} — {query} → {finding}or- not available: {reason}. Blast-radius rows found this way carry a[CROSS-REPO]label and name the repo. - Write every scenario as one fenced ```gherkin block. A bare
Scenario:line with indented steps renders as one run-on paragraph in every markdown preview and review surface. The fence holds theScenario:line, the Given/When/Then steps, and the two annotations:Note:(test approach —unit,integration,mock, ormanual, defaultunit) andCovers:(the comma-separated AC ids this scenario verifies; a regression-only scenario may omit it). Group the blocks under#### Happy Path,#### Error Paths,#### Edge Cases; omit an empty group. - Grouped tasks. Write
tasks.mdin the grouped format of${CLAUDE_PLUGIN_ROOT}/reference/plan.md, "Grouped tasks" (copy the example in${CLAUDE_PLUGIN_ROOT}/templates/tasks.md): Build runs each task as one slim task agent, so each task is small, declares its files, its own test command and, under**Cases:**, the concrete cases its test must check (normal, edge and error results). ${CLAUDE_PLUGIN_ROOT}/scripts/temper gate planmechanically checks, at every tier: the artifacts exist; scenario count >= success-criterion count; every criterion has explicit validation
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.
- 4d ago Changed · +9 lines 8ef3d991fcda
- 5d ago Changed · +12 lines 798c7b54f0f8
- 22d ago Changed · +4 lines 6aa5a8fb0eab
- 1mo ago Changed · +4 lines 9bee1c2db88b
- 1mo ago Changed · +2 lines b774c03cb734
- 1mo ago Changed · +15 lines e888bff5194d
- 1mo ago Changed · +32 lines 569015797f89
- 2mo ago First seen · 46 lines · 37 tokens per session scan A 0912f208dbbe
temper-plan is an agent published in the GitHub repository galando/temper (18 stars, last pushed yesterday), licensed MIT. It adds 37 tokens to every session and 2,413 once invoked, about $0.0001 per session on Opus 5.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.
temper-plan compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| temper-plangalando/temper | Agent | 18 | yesterday | MIT | A | 37 | Claude Code |
| playwright-test-generatormicrosoft/playwright | Agent | 99k | yesterday | Apache-2.0 | A | 151 | Claude Code |
| .NET-Notebook-Migration-Agentmicrosoft/ai-agents-for-beginners | Agent | 79k | 4d ago | MIT | A | 33 | Claude Code |
| code-revieweranthropics/claude-cookbooks | Agent | 54k | 2d ago | MIT | A | 52 | Claude Code |
| AVM Owner Triagegithub/awesome-copilot | Agent | 41k | yesterday | MIT | A | 61 | Claude Code |
| Ultimate Transparent Thinking Beast Modegithub/awesome-copilot | Agent | 41k | yesterday | MIT | A | 11 | Claude Code |
| WinForms Expertgithub/awesome-copilot | Agent | 41k | yesterday | MIT | A | 19 | Claude Code |