math-proof — Claude Code plugin: what it does, how to install
Solves hard research-level math problems and outputs a self-contained proof to proof.md. Provides a single-session mode and a multi-agent siege protocol.
/plugin install math-proof@claude-plugins-official
/plugin marketplace add anthropics/claude-plugins-officialWhat math-proof does
The plugin adds two slash commands for research-level mathematics. The lighter mode, /math-proof:solo, works through a problem in a single turn and writes its plan and findings to a notes file. Try it first. The heavier /math-proof:siege coordinates independent sub-agents over multiple rounds. The main session does no math itself. A judge agent distributes sub-questions to parallel workers, tracks open steps, and sends candidate proofs to two checkers for line-by-line verification.
Running siege requires Claude Code 2.1.280 or later and Python 3.7 or newer on PATH without extra packages. Specific environment settings are required in ~/.claude/settings.json. These set CLAUDE_CODE_MAX_OUTPUT_TOKENS to 128000, disable background tasks, and grant sub-agents a four-hour stall timeout before cutoff.
The siege judge executes generated Python code directly through Claude Code's shell tool. Unattended execution with --dangerously-skip-permissions is therefore safe only inside a disposable container or VM under a non-root account.
What it helps with
- write a rigorous proof for a research-level mathematics problem
- verify candidate mathematical proofs line by line with independent reviewers
- split sub-questions across parallel worker agents to tackle theorem steps
- maintain a structured ledger of proven, refuted, and open mathematical claims
Example prompts for the agent
- /math-proof:solo Prove that for any prime p > 3, p^2 - 1 is divisible by 24.
- /math-proof:siege problem.md
- claude -p "/math-proof:siege problem.md" --model claude-opus-5-5 --effort high --dangerously-skip-permissions
How to install math-proof
Plugin marketplace
/plugin install math-proof@claude-plugins-official/plugin marketplace add anthropics/claude-plugins-officialStep by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own
Questions about math-proof
How to install math-proof in Claude Code?
First add the official catalog with /plugin marketplace add anthropics/claude-plugins-official, then install the plugin by running /plugin install math-proof@claude-plugins-official.
What is the difference between solo and siege?
The /math-proof:solo command tackles the problem inside your current session while saving notes. The /math-proof:siege command orchestrates multi-agent rounds with a judge and parallel workers verifying arguments over several hours.
What are the system requirements for math-proof:siege?
You need Claude Code 2.1.280 or later and Python 3.7 or newer on your PATH. You must also add the env block with CLAUDE_CODE_MAX_OUTPUT_TOKENS, CLAUDE_CODE_DISABLE_BACKGROUND_TASKS, and CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS to ~/.claude/settings.json.
Source text
math-proof · Apache-2.0
# math-proof
Two Claude Code skills for hard, research-level mathematics problems. Each
takes one problem stated in full, keeps everything it writes in a run folder,
switches Claude Code's web tools off for its run, and ends with a
self-contained `proof.md`.
**`/math-proof:solo`**: Claude works the problem itself, in your session, as
one long turn. It is instructed to write its plan and each intermediate result
to a notes file before reasoning further, so that a response cut off at the
output limit loses nothing already written. The lighter of the two; try it
first.
**`/math-proof:siege`** (multi-agent): your session does no mathematics itself;
for hours it runs rounds of sub-agents, each starting fresh. Each round a judge
writes a few self-contained questions, independent workers answer them in
parallel, and the judge keeps a ledger of what is proved, refuted and open.
When a worker's answer contains a complete proof (or disproof) of the goal the
judge set, two more workers check that exact text line by line before the judge
concludes; if the opening rounds do not get there, later rounds send more
workers per round, most of them at the one step the proof still lacks.
`proof.md` has a Status section saying plainly what is and is not proved.
Expect dozens of sub-agent runs, and well over a hundred if all fourteen rounds
run: check `/usage` before you start on a subscription, or cap the spend with
`--max-budget-usd` in the unattended form below on an API key.

Either way `proof.md` is the model's own account, and any result it cites from
the literature is quoted from memory: read it critically. Full instructions:
[skills/solo/SKILL.md](skills/solo/SKILL.md) and
[skills/siege/SKILL.md](skills/siege/SKILL.md); the sub-agents are defined in
[agents/](agents/).
## Install
```
/plugin install math-proof@claude-plugins-official
```
Needs Claude Code 2.1.280 or later and, for `siege`, Python 3.7 or later on
your PATH as `python3` or `python` (no extra packages). Then add this `"env"`
block once to `~/.claude/settings.json` (or to `.claude/settings.json` in the
directory you run from, to limit it to that directory). The three lines allow
long responses, keep sub-agents in the foreground by turning background tasks
off, and give a silent worker four hours before it is cut off; they affect every
session that reads the file, so remove them when you stop using the plugin.
```json
{
"env": {
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "128000",
"CLAUDE_CODE_DISABLE_BACKGROUND_TASKS": "1",
"CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS": "14400000"
}
}
```
## Use
In an empty working directory, one per problem and one run at a time:
```
claude --model claude-opus-5-5 --effort high
> /math-proof:solo <the complete problem statement, or the path of a file holding it>
```
or `/math-proof:siege <…>` likewise. `solo` writes under `./math-proof-solo/`,
`siege` under `./math-proof-run/`; the session says where `proof.md` is when it
finishes. In the default permission mode Claude Code asks you to approve file
writes and the `siege` judge's shell commands (short Python checks and file
copies), so stay within reach or use the unattended form below; other than
that, type nothing while it runs. While `siege` runs, `state.md` in the run
folder shows the current round, and if the judge proves its goal and goes
after a stronger one, the result already proved is copied to `result-so-far.md`.
If a run stops (an error, a closed terminal, a usage limit, Ctrl-C), give the
same `/math-proof:…` line again in the same directory, not a free-form message:
that reloads the skill's instructions and permissions, and the run continues
from its folder with the settings it started with.
Options go before the problem: `DIR=path` picks another run folder, and
`siege` takes settings such as `MAX_ROUNDS=8` (its SKILL.md lists them). To
change a sub-agent's thinking effort, copy its file from [agents/](agents/)
into `~/.claude/agents/`, leave its `name:` line unchanged, and edit the
`effort:` line; your copy takes precedence over the plugin's.
Unattended, with the problem in a file (likewise for `solo`):
```
claude -p "/math-proof:siege problem.md" --model claude-opus-5-5 --effort high \
--dangerously-skip-permissions
```
With an API key, adding `--max-budget-usd <amount>` to that `-p` command stops
the run once that much has been spent; giving the command again resumes it.
**Caution:** `siege`'s judge runs model-written Python through Claude Code's
shell tool on your machine. Use `--dangerously-skip-permissions` only in a
disposable container or VM, as a non-root user; otherwise approve its commands
by hand.
## License
Apache-2.0; see [LICENSE](LICENSE).
© Anthropic · Apache-2.0 · anthropics/claude-plugins-official