pursuelisted
Install: claude install-skill vanducng/skills
# Pursue — runtime router
This file is the entry point for `vd:pursue`. It detects which runtime is invoking (Claude Code or Codex) and dispatches to the right adapter under `runtimes/`. Most users won't read this file — they'll land in the adapter directly.
## Quick reference
| Form | Action |
|---|---|
| `vd:pursue "<goal>"` | New goal — intake → goal.yaml + state.json → executor loop |
| `vd:pursue` (no args) | Resume — auto-detect most recent in-progress goal-dir, skip intake, jump to executor |
| `vd:pursue status [--all]` | One-screen status; `--all`/`--list` enumerates every goal-dir (scripts/status.sh) |
| `vd:pursue kill --reason "<text>"` | Write terminal=abandoned + cancel.sentinel (scripts/kill.sh — runtime-agnostic) |
| `vd:pursue resolve <goal-dir>` | Dry-run the resolved workflow (scripts/resolve-workflow.sh — runtime-agnostic) |
| `vd:pursue install-hooks [--apply\|--uninstall]` | Register Codex hooks in `~/.codex/config.toml` (scripts/install-hooks.sh) |
Flags: `--reuse` (no worktree), `--manual` / `--semi` (default) / `--auto` (autonomy). CI/exec: `--target-kind` `--action-shape` `--autonomy` (+`--branch` `--reuse-worktree`) with `PURSUE_EXEC=1` skip intake.
## Runtime dispatch
1. Run `bash scripts/detect-runtime.sh`. Output is `claude-code`, `codex`, or `codex-exec`.
2. If exit 3 (unknown — no env signals + no CLI on PATH): print "Cannot detect runtime. Set `PURSUE_RUNTIME` env var explicitly."
3. Else follow the runtime body:
- `claude-code` → see