From ax
Runs a self-improvement loop using surplus quota: locks verdicts, fills briefs, tunes routing, mints proposals, and runs worktree experiments. Requires ax and SurrealDB.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ax:dojoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are entering a budget-bounded self-improvement loop. The brain is
You are entering a budget-bounded self-improvement loop. The brain is
ax dojo agenda --json; you are the thin driver. Spec:
docs/superpowers/specs/2026-06-13-ax-dojo-design.md (in the Necmttn/ax repo).
ax dojo agenda --json. If it fails with a connection error, tell the user
to run ax doctor and STOP.budget.has_surplus is false: report the envelope and STOP unless the
user re-invokes with --force (then pass --force on every lap)./loop skill with
/dojo as the recurring prompt (dynamic mode, self-paced). Each wakeup
re-runs this skill from the top; that is expected and correct.
On Codex (no /loop): run as ONE long turn - do not end the turn until a
stop condition below is met.ax dojo agenda --json -> agenda.budget.has_surplus is falsebudget.deadlineitems is emptyitems[0], follow its playbook below, then go to 1.
Completed work self-clears: the item vanishes from the next agenda
because the underlying system recorded it (verdict locked, brief
consumed, proposal created). If the same item survives 2 laps untouched,
skip it and note why in the report.ax improve verdict <id> to see the suggested
verdict + checkpoint evidence; confirm with --set <verdict> only when
the evidence supports it. Distinguish "pattern resolved" from "artifact
never fired" before locking no_longer_needed..ax/tasks/*.md brief, do what it says in
the target files, then run the reconciler it names (ax skills lint /
ax improve lint).ax dispatches --candidates), check
false-positive risk, then ax routing tune --apply=<ids> --days=<window>
or reject with a written rationale in the report.ax improve recommend; accept the grounded ones
(ax improve accept <id>) so briefs exist for the next lap.git worktree add .claude/worktrees/dojo-<slug> -b dojo/<slug>).
Reproduce the churn pattern, attempt the fix/hook/skill, capture evidence.
If it will not finish inside this budget: package it as a goal file
(objective + checkpoint index + gates) under docs/superpowers/goals/ so
the NEXT dojo session resumes it. Output = an improve proposal; merging
the proposal is what activates anything. NEVER merge, never touch main.ax hooks backtest <file> --json → cases caught (benefit side): would-block/
would-warn rates, false-positive count, cases with evidence.ax hooks bench <file> --json → per-fire p50/p95 from real bun spawns,
est fires/day from tool_call history, installed-chain budget vs --budget-ms
default 250 (cost side).
Reject the hook when daily cost (fires/day × p95) or an installed-chain budget
overrun outweighs the benefit shown by backtest. Both ledgers must appear in
the proposal; neither alone is sufficient.ax sessions here --days=30 - note its commit sha from ax sessions near <sha> or git log.ax dojo spar-plan <sha> - captures the baseline (prompt + cost/turns/churn) and writes ~/.ax/dojo/spar/<id>.md; the command prints the exact git worktree add command to run next.~/.ax/dojo/spar/<id>.md; run the printed git worktree add .claude/worktrees/dojo-spar-<id> -b dojo/spar-<id> <parentSha> command to pin the worktree at the parent SHA.ax dojo spar-score <id> - auto-discovers the variant session from the worktree cwd; or pass --variant-session=<id> if there are multiple sessions. Writes the receipt to ~/.ax/dojo/spar/<id>-report.md.ax recall / ax sessions churn, and convert anything real
into a proposal or outbox draft.upstream_draft are handled by this same rule):
run ax dojo draft --title=<title> --kind=bug|improvement to stage it
to ~/.ax/dojo/outbox/<slug>.md (complete issue draft: title, body,
repro, session refs written by the command). NEVER publish from the dojo -
the user reviews and publishes in the morning (ax-repo skill / gh).Run ax dojo report --since=<loop-start-iso> --notes-file=<lap-notes-path> to
write ~/.ax/dojo/reports/<YYYY-MM-DD>.md. The command collects the budget
envelope, per-lap item log (from the lap notes file), proposals created,
verdicts locked, and outbox drafts awaiting review - pass it the ISO timestamp
you recorded when the loop started and the scratch file you appended notes to.
Then tell the user the report path and the top 3 things awaiting their review.
For upstream findings (ax bugs or improvements discovered during training), stage
them with ax dojo draft --title=<title> --kind=bug|improvement before the
report step - never publish directly. The draft lands in
~/.ax/dojo/outbox/<slug>.md; the user reviews and publishes via ax-repo skill /
gh in the morning.
npx claudepluginhub necmttn/axGuided experiment-loop retrospective over the ax agent-experience graph. Walks through open proposals, pending verdicts, and harness-hook effectiveness. Invoke via "ax retro" or "/ax:retro".
Directs multi-cycle improvement campaigns by forming hypotheses, scouting before attacking, and extracting transferable patterns. Use for sustained autonomous quality advancement across sessions.
Runs autonomous optimization loops to iteratively improve prompts, templates, configs, or code using four-way separation of main agent, eval agent, test runner, and deterministic eval.py judge. Invoke via /autoresearch or 'optimize this prompt'.