executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
tokenleakToken-lean rules for coding agents: cut the context re-sent on every later call (big reads, noisy logs, re-reads, serial calls) without losing correctness.
Independent GitHub snapshot · Automated classification · Original documentation governs
Every tool result an agent pulls into context is re-sent on every later call until compaction, so a 6k-token log read early in a 60-call session is paid about 55 more times. These rules make the agent let in only what the next decision needs: locate before reading, compute instead of reading data, bound command output, never re-read, batch independent calls. Over 80 A/B runs in Claude Code (Sonnet 5) they cut cost by 32% with the same 40/40 pass rate; on Haiku 4.5 they only help together with the plugin's read guard (-20%). Method and raw results are in the source repo.
wc -l) along with your first search. Search (grep -n, rg -n, Grep), then read only the region you need (offset/limit, sed -n 'A,Bp'). Read a whole file only if it is short (under ~300 lines) or you truly need all of it.pytest -q -x, vitest run --reporter=dot, go test ./... 2>&1 | grep -v '^ok', cargo test -q, npm ci --silent, make -s.L="${TMPDIR:-/tmp}/out.log"; cmd > "$L" 2>&1; echo "exit=$?"; tail -n 40 "$L". Need more? grep -n -m 20 -E 'error|FAIL|panic' "$L" on the saved log. Never re-run a job just to see more of its output.wc -l a b; grep -n x a | head). Each extra round-trip re-sends everything.git status -s, git diff --stat then git diff -- <path>, git log --oneline -n 15, git show --stat <sha>.-m, head_limit, | head -n 30, -l for names only). Pick fields from APIs and JSON (--json a,b, jq '.items[] | {id,name}', per_page). Ask a web fetch a precise question instead of dumping the page.grep/sed -n on the saved log instead);tokenleak.py) lives in the source repo and is not included here.Locate before reading, and hand the agent only what the next decision needs:
wc -l app/service.py # size, alongside the search
rg -n "def handle_" app/ # find the region first
sed -n '120,180p' app/service.py
Bound a noisy build and keep the failure visible:
L="${TMPDIR:-/tmp}/out.log"; npm test > "$L" 2>&1; echo "exit=$?"; tail -n 40 "$L"
grep -n -m 20 -E 'error|FAIL' "$L"
Count instead of pasting data into context:
python3 -c "import json;print(len(json.load(open('events.json'))))"