关于
The dojo skill is a self-improvement training loop that uses surplus quota time to automatically analyze the ax graph, run experiments, and generate reports. It triggers via specific commands like "/dojo" and requires axctl on PATH, utilizing embedded DuckDB without a database daemon. Developers should use it for automated backtesting, proposal generation, and issue reporting during unused quota windows.
快速安装
Claude Code
推荐npx skills add Necmttn/ax -a claude-code/plugin add https://github.com/Necmttn/axgit clone https://github.com/Necmttn/ax.git ~/.claude/skills/dojo在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
ax:dojo - overnight training loop
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).
Entry
- Run
ax dojo agenda --json. If it fails with a connection error, tell the user to runax doctorand STOP. - If
budget.has_surplusis false: report the envelope and STOP unless the user re-invokes with--force(then pass--forceon every lap). - On Claude Code: enter loop mode now - invoke the
/loopskill with/dojoas 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.
The lap
ax dojo agenda --json-> agenda.- STOP conditions (write the report, then stop):
budget.has_surplusis false- now >=
budget.deadline itemsis empty
- Otherwise: take
items[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.
Playbooks by kind
- verdict_pending -
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. - brief_unfilled - open the
.ax/tasks/*.mdbrief, do what it says in the target files, then run the reconciler it names (ax skills lint/ax improve lint). - routing_backtest - judgment-flagged routing classes: backtest the
pattern against dispatch history (
ax dispatches --candidates), check false-positive risk, thenax routing tune --apply=<ids> --days=<window>or reject with a written rationale in the report. - proposal_mint -
ax improve recommend; accept the grounded ones (ax improve accept <id>) so briefs exist for the next lap. - experiment - heavy item. Work ONLY in a fresh worktree
(
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. - New hooks specifically - author via @ax/hooks-sdk, then run BOTH
validators and embed their output in the proposal:
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.
- spar - only present when invoked with --spar and spendable >= 30%.
One task, one delta, scored. Concrete flow:
- Pick a landed task:
ax sessions here --days=30- note its commit sha fromax sessions near <sha>orgit log. ax dojo spar-plan <sha>- captures the baseline (prompt + cost/turns/churn) and writes~/.ax/dojo/spar/<id>.md; the command prints the exactgit worktree addcommand to run next.- Read the brief at
~/.ax/dojo/spar/<id>.md; run the printedgit worktree add .claude/worktrees/dojo-spar-<id> -b dojo/spar-<id> <parentSha>command to pin the worktree at the parent SHA. - Apply exactly ONE delta in the delta section (skill on/off, hook on/off, prompt change, thinking level, or model override) - no compound changes.
- Do the task in that worktree; let it finish naturally.
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.- Append the receipt to the dojo report. Track multi-run campaigns as goal files under docs/superpowers/goals/ so the next session can resume.
- Pick a landed task:
- explore - free investigation, retro-meta style: follow a hunch
through
ax recall/ax sessions churn, and convert anything real into a proposal or outbox draft. - Upstream findings (any lap) - an ax bug or improvement found while
training (items of kind
upstream_draftare handled by this same rule): runax dojo draft --title=<title> --kind=bug|improvementto 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).
Exit - the morning report
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.
Hard rails
- worktrees only; never write on main; never merge anything
- proposals are the only activation path
- outbox only; nothing leaves the machine
- respect the deadline even mid-item: checkpoint, report, stop
GitHub 仓库
常见问题
什么是 dojo Skill?
dojo 是一个 Claude Skill,作者为 Necmttn。Skill 将 Claude 按需加载的说明和资源打包,让 Claude 无需额外提示即可执行与 dojo 相关的任务。
如何安装 dojo?
使用本页的安装命令:将 dojo 作为插件添加到 Claude Code,或将其仓库克隆到 skills 目录,然后重启 Claude 以加载该 Skill。
dojo 属于哪个分类?
dojo 属于测试分类。
dojo 可以免费使用吗?
可以。dojo 已收录在 AIMCP,可免费安装。
相关推荐技能
该Skill通过60+个学术基准测试(如MMLU、GSM8K等)评估大语言模型质量,适用于模型对比、学术研究及训练进度追踪。它支持HuggingFace、vLLM和API接口,被EleutherAI等行业领先机构广泛采用。开发者可通过简单命令行快速对模型进行多任务批量评估。
这个Claude Skill提供了关于Cloudflare Cron Triggers的完整知识库,用于通过cron表达式定时执行Workers。它支持配置周期性任务、维护作业和自动化工作流,并能处理常见的cron触发错误。开发者可以用它来设置定时任务、测试cron处理器,并集成Workflows和Green Compute功能。
该Skill为开发者提供了基于Playwright的本地Web应用测试工具集,支持自动化测试前端功能、调试UI行为、捕获屏幕截图和查看浏览器日志。它包含管理服务器生命周期的辅助脚本,可直接作为黑盒工具运行而无需阅读源码。适用于需要快速验证本地Web应用界面和交互功能的开发场景。
这个Skill用于开发分支完成后的集成决策,当代码实现完成且测试通过时,它会引导开发者选择合适的工作流。它首先验证测试状态,然后提供合并、创建PR或清理等结构化选项。核心价值在于确保代码质量的同时,标准化分支收尾流程。
