summon-cc — give your agent a crew of claude code workers
2026·07 · active · shell · markdown
the itch
one night a features layer got built by two claude code sessions i never watched: an implementer worker, then a fresh reviewer with no loyalty to the code — ~40 minutes of unattended work, supervised on a few hundred tokens of my own context. the supervision layer wanted to be its own thing.
summon-cc is that layer, portable: a skill any agent on any harness can install. the agent spawns real interactive claude code sessions in detached tmux panes — briefs them, waits on them, answers their questions by number, collects their reports, tears them down.
a skill, not a program
the first design had a ten-verb cli. it died in review — a program encodes judgment in code, and the agent can only do what verbs exist. the shipped thing inverts it: knowledge lives in SKILL.md as prose the agent executes with its own hands; a file exists only where prose can't be reliable.
that leaves a kernel of eight files: six hooks that turn a worker's lifecycle into append-only file signals, and two timing-critical scripts (the launch ritual, the silent waiter). supervision runs on files — events.jsonl, question.json, a heartbeat — never on parsing a terminal. answering, poking, status, teardown: one-liners the skill teaches.
the hard bug
on tmux 3.6b, the `=` exact-match prefix works for has-session but silently fails for pane targets — so the launch keystrokes bounced off, the liveness check kept passing, and claude never started. classic split-brain: every probe said alive, nothing was home.
caught because the ship gate was a live end-to-end summon on a clean machine, not a code read. the fix made the code simpler: pass the full minted id plain — exact names outrank prefix matches, so targeting stays deterministic.
facts
status: active · v0.1.0
kernel: 8 files — 6 hooks · 2 scripts
install: npx skills add anfreire/summon-cc
reach: 70+ harnesses via vercel-labs/skills
platform: linux + macos
license: MIT
links
github
← anfreire.dev · the interactive version needs javascript