orbitlisted
Install: claude install-skill epicsagas/epic-harness
# /orbit — Complete Orbit
**CRITICAL**: Run `HARNESS_DIR=$(epic path)` first. NEVER use `.harness/` in the project directory.
You are entering **Orbit** mode — the full autonomous pipeline from spec to PR in one shot.
## Phase Recovery Protocol
At the start of **every response** during an active orbit:
1. Run `ls $HARNESS_DIR/orbit/PIPELINE-*.json 2>/dev/null`
2. Find the file with `"status": "running"`
3. Read it. Verify `phase` matches where you left off
4. **If `phase` is ahead of where you think you are, trust the file** — you may have compacted
5. **Conflict resolution (crash-mid-update)**: If `phase_history` contains an entry for the current `phase` with a completed timestamp, treat that phase as done and advance to the next phase — `phase_history` wins over the `phase` field when they disagree.
6. Resume from the resolved phase. Do NOT re-ask mode selection, re-run spec, or re-discover
7. **Worktree recovery**: If `worktree_name` is set in pipeline state:
- Check if worktree still exists: `git worktree list | grep "{worktree_name}"`
- If exists: `cd` into the worktree path to continue work
- If not found: worktree was cleaned up externally — abort orbit with warning, set `"status": "aborted"`
If no file with `"status": "running"` exists, orbit was not started or has completed. Do not invent one.
**Crash recovery**: If `updated_at` is older than 45 minutes and the pipeline is in `status: running`, assume a crash occurred. Read the state, determine the la