temper-plan

temper-plan is an agent for Claude Code from galando/temper. It costs 37 tokens per session (2,413 once invoked), scanned A, original, MIT.

A planning-stage agent that explores a codebase and turns an accepted idea into implementation notes, behavior scenarios, and a task list. The scenarios use behavior-driven development (BDD), a way to describe software behavior in examples a person can verify.

In plain words
What is it for?
Creating Temper specifications, writing Gherkin scenarios, mapping a feature's blast radius, and classifying its complexity.
Why use it?
It makes the expected result and the likely impact of a change explicit before coding begins. This helps expose affected parts of the codebase and missing requirements early.

Agent for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: model in frontmatter; names the AskUserQuestion tool.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the temper plugin — 5 skills, 11 commands, 11 agents, 2 hooks shipped together

Good fit Creating Temper specifications, writing Gherkin scenarios, mapping a feature's blast radius, and classifying its complexity.

Compare 6 agents from other repositories ↓
Install

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.

Claude Code
/plugin marketplace add galando/temper
Claude Code
/plugin install temper

Made for: Claude Code.

Or install temper, the plugin that ships this one along with the rest of its 5 skills, 11 commands, 11 agents, 2 hooks.

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 temper-plan

README.md
[![agentmods](https://agentmods.dev/badge/agents/galando/temper/plan/github.svg)](https://agentmods.dev/agents/galando/temper/plan)
Your own site
<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.

agentmods 80×15 button for temper-plan

Your own site · 80×15
<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>
Per session 37 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,413 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.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

Measured 4d ago against content hash 8ef3d991fcda, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

agents/plan.md · 124 lines

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."

  1. Read ${CLAUDE_PLUGIN_ROOT}/reference/plan.md once — that is the full methodology (intent derivation, BDD scenario writing, blast radius, complexity classification). Follow it exactly; nothing here overrides it.
  2. 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 wrote intent.md and 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.
  3. 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 in plan.md and, if it hides a decision, add an Open Question back into intent.md. Do not re-derive context Intent already gathered — reuse its Decisions rows.
  4. 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 plan reads 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.
  5. 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 Search in plan.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.
  6. 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 the Scenario: line, the Given/When/Then steps, and the two annotations: Note: (test approach — unit, integration, mock, or manual, default unit) and Covers: (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.
  7. Grouped tasks. Write tasks.md in 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).
  8. ${CLAUDE_PLUGIN_ROOT}/scripts/temper gate plan mechanically checks, at every tier: the artifacts exist; scenario count >= success-criterion count; every criterion has explicit validation

Read the full file on GitHub · 124 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. 4d ago Changed · +9 lines 8ef3d991fcda
  2. 5d ago Changed · +12 lines 798c7b54f0f8
  3. 22d ago Changed · +4 lines 6aa5a8fb0eab
  4. 1mo ago Changed · +4 lines 9bee1c2db88b
  5. 1mo ago Changed · +2 lines b774c03cb734
  6. 1mo ago Changed · +15 lines e888bff5194d
  7. 1mo ago Changed · +32 lines 569015797f89
  8. 2mo ago First seen · 46 lines · 37 tokens per session scan A 0912f208dbbe

Subscribe to this mod's changes

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.

Related

temper-plan compared with agents from other repositories

temper-plan next to 6 agents from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
temper-plangalando/temperAgent18yesterdayMITA37Claude Code
playwright-test-generatormicrosoft/playwrightAgent99kyesterdayApache-2.0A151Claude Code
.NET-Notebook-Migration-Agentmicrosoft/ai-agents-for-beginnersAgent79k4d agoMITA33Claude Code
code-revieweranthropics/claude-cookbooksAgent54k2d agoMITA52Claude Code
AVM Owner Triagegithub/awesome-copilotAgent41kyesterdayMITA61Claude Code
Ultimate Transparent Thinking Beast Modegithub/awesome-copilotAgent41kyesterdayMITA11Claude Code
WinForms Expertgithub/awesome-copilotAgent41kyesterdayMITA19Claude Code