headless-clilisted
Install: claude install-skill oldantique/headless-cli-playbook
# Headless CLIs: codex, opencode, agy, kimi
Call the four local coding CLIs non-interactively from a Bash call (the `claude -p` equivalent).
Follow the rules below — they stop a call from hanging or returning empty.
Setup, config, and the *why* behind each rule live in the repo README (pointer at the bottom).
> Models below are examples — substitute **your configured default** for each CLI. There is no fixed
> task→model mapping. Use whichever CLI/model you've set up; the rules and recipes are model-agnostic.
## Pick one
| | `codex exec` | `opencode run` | `agy -p` | `kimi -p` |
| --- | --- | --- | --- | --- |
| Model | your ChatGPT-plan model @ your default effort | your default provider/model · `-m provider/model` to switch | your default Gemini model | your default Kimi model (effort is config-only) |
| Auth | ChatGPT sub — no env key | provider API key in env (auto-injected) | Google OAuth — no env key | Kimi sub OAuth — no env key |
| Concurrency | parallel OK | parallel: **isolate data dir** | parallel OK | parallel OK |
| Files | read + edit (sandbox) | read/grep/edit — **absolute paths only** | read/edit, native | read/edit, native — **no permission flag needed** |
| Structured out | `--output-schema` | `--format json` | none — ask in prompt | `--output-format stream-json` |
| Use | **go-to peer for any problem**, esp. multi-turn (`resume`) | good supplement; parallel fan-out | good supplement; easiest file read/write | good supplement; clean NDJSON + machine-read