spec-statuslisted
Install: claude install-skill austinmao/feature-fix-swarm
# /spec-status [NNN] [--continue-compact] [--no-handoff]
## Host dispatch contract
- Codex: invoke skills as `$skill`; use Codex collaboration roles and GPT-5.6 model tiers.
- Claude: invoke skills as `/skill`; use Claude Agent/Skill tools and Claude model aliases.
- Examples that name both hosts are routing contracts. Never send one host's command syntax to the other.
- A bare `/skill` in this shared source denotes the Claude form; Codex dispatches the same named skill as `$skill`.
Answers "where are we?" for a spec run with evidence, not recall. Read-only
except the report + handoff files it writes.
## Step 1 — Resolve
Spec id from argument, else from branch (`git branch --show-current | grep -oE '^[0-9]{3}'`).
Export the run pins BEFORE any ledger read — decoy stores lie:
```bash
export GSD_RUN_ID="spec-${SPEC_ID%%-*}"
# GATES_STORE must point at the MAIN evidence store, never a worktree-cwd copy.
```
## Step 2 — Deterministic facts (no LLM)
```bash
bash "$(dirname <this skill>)/scripts/collect-status-facts.sh" "$SPEC_ID"
```
Sections: GIT · PLANNING (plans vs SUMMARYs per phase) · RUNNER (status file +
pid liveness — never trust shell rc or `state=completed` alone) · LEDGER
(pendings; grants checked via `check-grant`) · EVIDENCE (files + mtimes) ·
HYGIENE (key-shaped strings in evidence/, filenames only) · COORD
(cross-session claims + path leases from spec-009's `coord.py status`,
uuid-redacted; a claim on this spec by another live session means DO NOT
start imp