ワンクリックで
automil
Run the autonomous MIL experiment loop. Requires setup first (use /automil-setup).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Run the autonomous MIL experiment loop. Requires setup first (use /automil-setup).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Set up autoMIL in an existing project. Scopes codebase, configures experiment framework, validates setup.
Run the autonomous MIL experiment loop. Requires setup first (use /automil-setup).
Smart granular commit workflow that groups changes into separate, logically-grouped commits by feature, functionality, or type. Never commits everything at once. No co-author line. Uses Conventional Commits. Use when user says commit, /commit, or commit my changes, or asks to save/checkpoint work, or at the end of a task when changes need to be committed.
Set up autoMIL in an existing project. Scopes codebase, configures experiment framework, validates setup.
Run the autonomous MIL experiment loop. Requires setup first (use /automil-setup).
| name | automil |
| description | Run the autonomous MIL experiment loop. Requires setup first (use /automil-setup). |
Run the autonomous experiment loop. Setup must be completed first via
/automil-setup.
cd to the directory containing automil/config.yamluv run automil check (must pass with no issues)tmux new -s orchestrator
uv run automil orchestrator start
# Ctrl-b d to detach
--dangerously-skip-permissions
so it can run autonomously without prompts:
tmux new -s automil
claude --dangerously-skip-permissions
# Then type: /automil
uv run automil start-loopThe loop is autonomous and long-running (experiments take 60–240 min
each). You must drive it from completion events, not polling.
Immediately after the first automil submit in any session, start a
persistent Monitor on automil/orchestrator/orchestrator.log filtered
to state-transition lines. Without this, GPUs go idle for hours between
submits and the loop stalls.
Use the Monitor tool with:
persistent: true (lives for the whole session, not the 5-min default)timeout_ms: 3600000 (ignored when persistent, but set for safety)tail -n 0 -F so you start at EOF and follow through rotationgrep --line-buffered — without this, pipe buffering delays events by
minutesCompleted node_|Launched node_|crash is enough to
stay oriented without flooding the chatExample command:
tail -n 0 -F /abs/path/to/project/automil/orchestrator/orchestrator.log \
2>/dev/null \
| grep --line-buffered -E "Completed node_|Launched node_|crash"
When a Completed event arrives: reconcile, read the result, update
learnings.md, queue the next experiment. Never let the queue go empty
while .automil_active exists. If the monitor gets auto-stopped for
volume, restart it with a tighter regex.
For one-shot "wait until this one command finishes" (not the loop),
prefer Bash(..., run_in_background=true) — Monitor is for streaming.
All file paths in files.editable, uv run automil submit --files, and run.command
are relative to the git repo root, not to where automil/ lives. The
orchestrator creates worktrees from the git root, so overlay paths must match.
Saturate every GPU — submit experiments until the VRAM bin-packer
can't fit another one, not until each GPU has one run. The
orchestrator's whole purpose is parallel bin-packing. Before every
batch, measure the actual peak VRAM of a typical run (see
automil/orchestrator/archive/<node>/result.json → peak_vram_mb)
and set orchestrator.max_concurrent_per_gpu and
orchestrator.default_vram_estimate_gb in config.yaml so that a
realistic number of workers fit per card with the safety margin.
Config hot-reloads live — no daemon restart needed. Then check
automil/orchestrator/gpu_state.json → schedulable_free_gb and
running per GPU. If running has fewer workers than the cap
allows while the queue is non-empty and schedulable_free_gb is
large, the loop is running serially and that is a framework bug,
not a safety feature. Propose and submit more specs until the cap
binds.
Before every new experiment batch, read recent literature. Do
not only hill-climb on hyperparameters. Delegate a short research
sub-agent (WebSearch + WebFetch) for the most recent (current year
and prior year) methods relevant to the project's model class and
bottleneck, pick 1–2 tractable drop-ins that fit the existing
pipeline (no full rewrites, no data-format changes), and queue
those alongside the usual hyperparameter sweeps. Aim for a
portfolio: half regularization / hyperparameter tweaks, half
structurally novel ideas from the literature. Log the paper title
and arXiv ID in automil/learnings.md whenever you try something
from a paper, so future sessions don't re-try it blind.
automil/config.yaml, automil/graph.json, automil/learnings.mdfiles.editableuv run automil reconcile to sync graph stateThen follow Phase 2 in automil/program.md:
LOOP FOREVER:
uv run automil reconcileuv run automil rank to get top proposals. If none, brainstorm new ones.automil/learnings.md to avoid repeating failures.uv run automil submit --node <id> --desc "..." --files <changed files>
c. Restore working tree: git checkout -- <files>Completed node_... lines as they arriveuv run automil reconcile to update graphautomil/learnings.mduv run automil propose.automil_active existsuv run automil submit for every experiment (not manual runs)uv run automil rank to pick experiments (not random)automil/learnings.md after every resultUser runs uv run automil stop-loop to allow the agent to exit.