ato-mission
SkillFiles & storageBefore any multi-step work with a stated goal, a feature, a bugfix spanning multiple files, a QA sweep, a doc draft + iterations, a multi-day investigation, create an ATO Mission instead of doing it via bare `ato dispatch` calls. A Mission persists the goal + the verifiable success criteria, lets the coordinator tick drive the work across days, captures every event in a structured audit trail (SQLite + markdown narrative), and integrates parallel agents' work via merge strategies. Complement to `ato-warroom` (the cross-family decision before you start) and `ato-review` (the post-code-diff review). Missions is where multi-step work LIVES; war-rooms are where decisions ABOUT it get made; reviews are where the resulting commits get vetted.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ato-mission skill
What this skill tells your AI
The instructions your AI receives, as published by willnigri/agentic-tool-optimization in .claude/skills/ato-mission/SKILL.md and read by ahel’s review.
What this skill is
The Missions skill teaches the goal-driven coordinator pattern shipped in ATO v2.16. The pattern: human writes a goal + programmatic success criteria, ATO coordinates LLMs as a writing+reviewing team (each in its own git worktree if needed), success is verified by running check_commands, the human reviews the merged result.
Three things make a Mission different from a bare dispatch:
- Persistence. State lives in SQLite (
missions+mission_eventstables) plus a markdown sidecar at~/.ato/missions/<slug>.md. You can close your laptop and come back tomorrow — the coordinator tick picks up where it left off. - Verifiability. Each
success_criterionhas a programmaticcheck_command(any shell expression — runs viash -cin the workspace_root, exit-0 = met). The mission can't be marked complete without all criteria passing. - Multi-agent orchestration. With
workspace_strategy=per_agent_worktree, each LLM worker gets its own git worktree on its own branch from a recorded base SHA. Merge strategies (human_approves_each,coordinator_merges_all, future picks_winner/ranked) integrate the parallel work. The coordinator runs check_commands after every accepted merge and rolls back regressors viagit reset --hard HEAD~1.
When to use it
Use a Mission when ANY of:
- The work has a clear end state you can write as
test -f X && ... - You'll need to delegate parts to peer LLMs (codex, gemini) and merge their work
- The work spans days, sessions, or interruptions
- You want the audit trail later — what was tried, what worked, what got rolled back
Use a war-room (ato-warroom) when:
- A single design decision needs cross-family second opinions
- You're choosing between A and B before any code gets written
Use a bare ato dispatch when:
- One-shot question with a single answer (no iteration, no goal state)
- The receipt is the deliverable (e.g. a summary, a translation)
Minimal lifecycle (single_cwd)
# 1. Create the mission with a verifiable criterion.
cat > /tmp/crit.json <<'EOF'
[{"description": "tests pass", "check_command": "cargo test --quiet"}]
EOF
ato missions create \
--name "Fix the keychain race" \
--goal "Resolve task #31 — cross-process master_key_v2 ACL mismatch." \
--success-criteria /tmp/crit.json
# 2. Configure the coordinator worker — which LLM, what tools.
ato missions set-worker keychain-fix \
--runtime google \
--require-tools read_file,grep,edit_file,write_file,bash
# 3. (Optional) install a scheduled tick. Until you do, run it by hand:
ato missions tick keychain-fix # one action per wake
ato missions tick keychain-fix # next action
# ...the tick fires the worker, checks success_criteria, escalates if needed
Multi-agent lifecycle (per_agent_worktree)
When you need codex AND gemini AND maybe minimax to work on the same goal in parallel:
BASE=$(git rev-parse HEAD)
ato missions create \
--name "Refactor the dispatch path" \
--goal "Split api_dispatch.rs into per-provider modules" \
--success-criteria /tmp/refactor_crit.json \
--workspace-strategy per_agent_worktree \
--base-sha "$BASE" \
--merge-strategy human_approves_each
# Each agent gets its own ato/mission/<slug>/<agent_key> branch and worktree.
# Drive them however you like — `ato missions dispatch <slug> --runtime codex --agent codex-refactorer ...`
# Or let the coordinator tick do it once worker_config supports multi-runtime fan-out.
# Review and integrate:
ato missions merge refactor-the-dispatch-path --status # see pending agents
ato missions merge refactor-the-dispatch-path --approve codex-refactorer
ato missions merge refactor-the-dispatch-path --approve gemini-refactorer
ato missions merge refactor-the-dispatch-path --finish # success_criteria re-run
Reading the audit trail
Every Mission writes to two places:
ato missions events keychain-fix --human # structured event log
ato missions narrative keychain-fix --human # cat-friendly markdown
ato missions briefs keychain-fix # pending decision briefs
The narrative file at ~/.ato/missions/<slug>.md auto-populates as
events land (PR-8). Open it in any markdown viewer to see the
play-by-play without booting the desktop.
When the coordinator escalates
If the worker fails 3 times in a row, or the success criteria are unmet
at --finish, or base_sha goes missing — the tick writes an escalated
event with a structured decision brief (PR-6): reason, summary,
exact options to choose from. Surface it with:
ato missions briefs <slug> # pending only
ato missions briefs <slug> --all # full history
The brief tells you exactly what choices you have. Pick one, act on it
(usually set-state or set-category plus the recommended fix), and
the next tick continues from there.
The pattern at the team level
When the work involves Claude (you, coordinating) + codex + gemini:
- Convene an
ato-warroomon the design first — cross-family verdict locks the approach. - Create the Mission with the war-room's verdict embedded in the goal.
- Each LLM peer fires its work via the PR-1.5 tool surface
(
--require-tools edit_file,write_file,bash). They DON'T just describe — they actually edit code. - Reviews happen as additional dispatches into the SAME war-room
(
--war-room-id, incremented--war-room-round). - Merge via the strategies above. Mission completes when criteria pass.
The whole loop is itself the dogfood of v2.16. If we're not using Missions for our own non-trivial work, the feature isn't real.
Signals
- GitHub stars
- 34
- Forks
- 6
- Last commit
- Sep 2026
ahel review
K4blow
destructive-scoped
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
ato-mission- Source
- github.com/willnigri/agentic-tool-optimization