Production-grade Claude Code workflow that doesn't waste your tokens.
Most Claude Code tmux skills work like this:
Start task → Poll every 30s → Poll → Poll → Poll → Done
🔥 tokens 🔥 🔥 🔥
Each poll reads 100-200 lines of terminal output, feeds it to your agent, and burns tokens deciding "is it done yet?" A 20-minute task = 40 polls = thousands of wasted tokens.
Start task (with callback) → Wait → 📩 Notification → Read result (50 lines)
😴 zero tokens ⚡ one read
The task itself tells you when it's done. Your agent sleeps until notified. One lightweight check confirms the result. That's it.
| Approach | 20-min task | Tokens burned |
|---|---|---|
| ---------- | ------------- | --------------- |
| Poll every 30s | 40 reads × ~500 tokens | ~20,000 |
| Poll every 60s | 20 reads × ~500 tokens | ~10,000 |
| This skill | 1 notification + 1 read | ~500 |
80-97% token savings on supervision alone.
Before spawning Claude Code, ask:
| Situation | Action |
|---|---|
| ----------- | -------- |
| < 3 files involved | Don't start CC. Just read + edit directly. |
| Single bug fix | Don't start CC. Faster to fix inline. |
| Need extensive context exploration | ✅ Start CC |
| Multi-file refactor | ✅ Start CC |
| New feature (5+ files) | ✅ Start CC |
The fastest token savings come from not spawning a session at all.
# Start a task — note the callback at the end
bash {baseDir}/scripts/start.sh --label auth-refactor --workdir ~/project --task "Refactor auth module to use JWT.
When completely finished, run: openclaw system event --text \"Done: JWT auth refactor complete\" --mode now"
That's the key line: openclaw system event --text "Done: ..." --mode now. The task notifies your agent on completion. No polling needed.
bash {baseDir}/scripts/start.sh --label my-feature --workdir ~/project \
--task-file /path/to/requirements.md --mode auto
Write detailed requirements once upfront → fewer mid-task corrections → fewer tokens.
# Lightweight check — 50 lines, minimal tokens
bash {baseDir}/scripts/monitor.sh --session my-task --lines 50
# JSON mode — structured, even fewer tokens for agent parsing
bash {baseDir}/scripts/monitor.sh --session my-task --json
# Send follow-up (use sparingly — write requirements upfront instead)
bash {baseDir}/scripts/send.sh --session my-task --text "Also add unit tests"
# Compact context when running long
bash {baseDir}/scripts/send.sh --session my-task --compact
# List all active sessions
bash {baseDir}/scripts/list.sh # human-readable
bash {baseDir}/scripts/list.sh --json # structured
# Stop sessions
bash {baseDir}/scripts/stop.sh --session my-task
bash {baseDir}/scripts/stop.sh --all
tmux -L cc attach -t cc-<label>
1. DECIDE — Is this a 3+ file task? No → just edit. Yes → continue.
2. START — start.sh with detailed task + completion callback
3. WAIT — Do other work. Zero tokens spent watching.
4. NOTIFIED — Receive "Done: ..." event
5. CHECK — monitor.sh --lines 50 to confirm result
6. CLEANUP — stop.sh to end session
Fallback: If no notification after 15 minutes, one lightweight poll with --json.
Always append to your task prompt:
When completely finished, run this command to notify:
openclaw system event --text "Done: [brief description]" --mode now
This is what makes the whole approach work. The task signals completion; your agent doesn't need to guess.
| Mode | Flag | Behavior |
|---|---|---|
| ------ | ------ | ---------- |
| auto | --mode auto | Full permissions, runs freely (default) |
-L cc) — doesn't interfere with your tmux sessionscc- prefix on all sessions — easy to list/filter| Script | Purpose |
|---|---|
| -------- | --------- |
scripts/start.sh | Launch CC in tmux with task |
scripts/monitor.sh | Lightweight output capture |
scripts/send.sh | Send prompts / compact / approve |
scripts/list.sh | List active sessions |
scripts/stop.sh | Kill sessions |
共 1 个版本