startlisted
Install: claude install-skill emaballarin/ccplugins
# /ar:start — begin an autoresearch run
Stand up the loop: dedicated branch, `./.ar/` state, a real harness, and a
measured noise floor. Starting does **not** iterate — `/ar:resume` does that.
## First action, always
Check for existing state before anything else:
```bash
ls -la ./.ar/ar.jsonl 2>/dev/null && git branch --show-current
```
If `ar.jsonl` already exists, this is not a fresh run. Print the status block and
say so — offer `/ar:resume` to continue or an explicit new-segment start
over. Never silently overwrite a run in progress.
## Hard rules
1. **Confirm before creating.** If this fired on inferred rather than stated
intent, describe what opening a loop would do and confirm it is wanted before
step 2. Ordinary optimisation — making something faster, tuning a few
hyperparameters, running a benchmark — is handled directly. A loop is for many
measured iterations under a locked harness, and it is not free: it branches
and commits.
2. **Never act on a branch this run did not create.** Create `ar/<slug>-<DD-MM-YYYY>`,
carrying the current working tree across — uncommitted and untracked files
included — then commit it immediately as the revert floor. Full sequence in
`${CLAUDE_PLUGIN_ROOT}/references/protocol.md` §0.
3. **Never fabricate a benchmark.** The harness is filled in by the operator, and
the loop does not start until it emits a real number. An invented benchmark
makes every number downstream of it fiction.
4. **Locked harness.