Install
$ agentstack add skill-iml1s-agent-cli-skills-multi-cli-spawn ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ● Shell / process execution Used
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Multi-CLI Spawn (cross-provider parallel seats)
When to use
- Need several providers to answer the same brief in parallel
- Multi-LLM council / second opinions / cross-vendor review
- You already have (or will install) the per-CLI
*-cli-agentwrappers
This is not a substitute for vendor-native multi-agent inside one CLI (-T / ultracode / teamwork). Use those for fan-out within one provider; use this skill to fan-out across providers.
Why
Each vendor has native multi-agent inside one CLI (agy teamwork, Claude ultracode, Codex subagents, Grok spawn_subagent, …). This skill is the cross-CLI layer: one brief → N providers → N answer files.
Usage
./spawn.sh --outdir /tmp/council-$$ \
-f /tmp/brief.md \
--seat agy:readonly \
--seat claude:ultracode \
--seat codex:team \
--seat grok \
--seat kimi:readonly \
--seat qwen:readonly \
-C /path/to/repo \
-t 1200s
Seat forms: name, name:readonly, name:ultracode|team, name:readonly,team, name@label (unique output key when duplicating a CLI).
Seat modifiers (comma-separated after :): readonly/r, team/ultracode/T.
Outputs
| File | Meaning | |------|---------| | .log | Live CLI stdout/stderr | | .md | Final answer, or BLOCKED:… stub (written when the seat finishes) | | .pid | Seat process-group id (kill target) | | .rc | Seat exit code | | .status | RUNNING → DONE rc=0 \| BLOCKED rc=N (atomic) | | spawn.pid / spawn.status | Parent: RUNNING → DONE, or SPAWNED if --no-wait | | brief.md | Copied/normalized brief inside outdir |
Waiting contract
- Default: do not poll. Run
spawn.shin the foreground (wait mode). Its exit code and
CLI_AGENT_RESULT: PASS|BLOCKED lines are the completion signal.
--no-wait/ external watcher: wait until every seat.statusis terminal
(DONE / BLOCKED), e.g.: ``bash while grep -qlE '^RUNNING' "$OUTDIR"/*.status 2>/dev/null; do sleep 15; done ` Do **not** treat missing .md or a dead .pid alone as "no answer" — .md` appears only when the seat finishes; pidfiles can look dead if the parent spawn was killed while seats continue.
- Kill only via numeric PIDs in seat
*.pidfiles (process groups). Skipspawn.pidwhen
iterating kill targets unless you intend to stop the parent. Never pkill -f long patterns.
Hard rules
- PID files only — never
pkill -fwith a pattern that also appears in the launcher argv - Quota fail-open — provider errors / empty output →
BLOCKEDstub; do not retry-loop - agy needs PTY — handled inside
agy-exec.sh - Orchestrator owns git — spawn always passes
--no-git - Parallel writers should use separate worktrees (
-Cper seat) to avoid collisions - Seat
rc != 0isBLOCKED(missing binary is not a council vote)
Synthesize
Read *.md only for seats whose .status is terminal. Strictest blockers win. Divergent findings are high value. Re-run only BLOCKED seats after the user refreshes quota/auth.
See also: [docs/CORRECTNESS.md](../../docs/CORRECTNESS.md), [docs/FEATURES.md](../../docs/FEATURES.md).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ImL1s
- Source: ImL1s/agent-cli-skills
- License: MIT
- Homepage: https://iml1s.github.io/agent-cli-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.