Agent context budget
Skill WenyuChiou/agent-collab-skills/skills/agent-context-budget
Use when multi-agent work risks context overflow, memory growth, noisy logs, oversized handoffs, cross-session continuation, or parallel Codex and Gemini execution.From its SKILL.md
npx -y skills add WenyuChiou/agent-collab-skills --skill agent-context-budgetAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `git add .coord/context_<NNN>.md .coord/session_primer.md` and 1 more.
SKILL.md
6.0 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
agent-context-budget
Context governor for multi-agent rounds. The core rule is simple:
keep .coord/ as the canonical state, pass agents compact packets,
and never paste raw logs or unbounded memory into the main session.
When to Use
Use this before or during:
- Large Codex + Gemini + Claude runs.
- Cross-session resumes where the prior conversation is too large.
- Any round with more than two delegate tasks.
- Any workflow where
.coord/memory.yml,.ai/*_log_*.txt, or agent summaries are starting to dominate the prompt.
Not for small one-agent edits. Use the direct delegate skill instead.
Default Policy
If .coord/plan.yml lacks context_policy, add this block:
context_policy:
main_session_token_budget: 3000
task_packet_token_budget: 6000
result_summary_word_budget: 250
memory_digest_token_budget: 1200
log_tail_lines_on_error: 50
raw_log_policy: path-only
agentmemory: optional
# W3 — $ cost gate per task (v0.2.2+)
# Optional. If set, agent-acceptance-gate flags any task whose
# codex/gemini delegate exceeded the cap. Estimated from token
# usage × provider price (Anthropic / OpenAI / Google rates).
# Set per-task in plan.yml tasks[].budget.max_cost_usd to override.
default_max_cost_usd: 0.50 # default $ ceiling per task
total_round_max_cost_usd: 5.00 # hard stop for the entire round
Why both token and cost budgets? Token gate prevents context
bloat (a session quality concern). Cost gate prevents runaway delegation
spend (a financial concern). They're orthogonal: a 2k-token delegate
call can cost $0.05 (Claude Haiku) or $0.50 (Claude Opus), so token
count alone doesn't bound dollars.
Per-task override example:
# in plan.yml
tasks:
- id: T1
agent: codex
slug: simple-refactor
budget:
max_cost_usd: 0.10 # this task is mechanical, cap low
- id: T2
agent: codex
slug: complex-rewrite
budget:
max_cost_usd: 2.00 # this task needs frontier model, allow higher
Workflow
- Read
.coord/plan.ymland.coord/memory.ymlif present. - Write
.coord/context_<NNN>.mdwith:- round goal and success criteria
- task graph and write ownership
- per-agent context packets to include
- context intentionally excluded
- optional
agentmemoryrecall queries, if available
- Write or refresh
.coord/session_primer.mdwith:- current decisions
- open questions
- active round status
- recent artifacts by path
- no raw logs
- Enforce result packets:
- delegate summaries are <= 250 words
- changed files are listed by path
- tests are listed by command + result
- risks are explicit and short
- If a log is needed, include only the path. Read the last 50 lines
only when the corresponding
result.jsonstatus iserror.
Optional agentmemory
agentmemory is a recall cache, not the source of truth.
- Query it only to enrich
.coord/session_primer.md. - Store only compact memory candidates: accepted decisions, resolved open questions, artifact summaries, and final session outcomes.
- If it is unavailable, continue with
.coord/memory.ymlonly. - Never use vector recall as acceptance evidence. The acceptance gate
must read
.coord/plan.yml, result files, reconciliation, and tests.
Memory Promotion Rules
Promote only:
- Decisions with a one-sentence
whatandwhy. - Open questions with a blocker and suggested next owner.
- Artifact pointers with one-line summaries.
- Agent session outcomes with status and result-summary path.
Do not promote:
- Raw logs.
- Full diffs.
- Source code.
- Long analysis.
- Secrets or credentials.
Output
End with:
[agent-context-budget]
Round: <N>
Policy: .coord/plan.yml context_policy
Context plan: .coord/context_<NNN>.md
Session primer: .coord/session_primer.md
Raw logs: path-only; failure tail max 50 lines
agentmemory: optional cache, not required
Common Mistakes
- Pasting full logs into chat. Store the path; read bounded tail only on failure.
- Treating memory as a transcript. Promote decisions, questions, artifacts, and outcomes only.
- Giving Gemini only
.ai/paths. Inline critical context because.ai/may be gitignored. - Using agentmemory as the gate. Gate with tests and
.coord/artifacts.
Subagent review (keep main session lean)
When: ≥ 3 task packets exist and you want to verify they stayed
within the declared task_packet_token_budget (default 6000 tokens
≈ 24 KB) without re-reading them all in the main session.
Why: After writing .coord/context_<NNN>.md + session_primer.md,
the main session has the policy in context but doesn't need to re-read
every packet to verify compliance. A subagent can scan all packets
and return only the over-budget list.
Pattern:
Spawn `code-reviewer` subagent:
- Read .coord/context_<NNN>.md (the declared per-task budgets)
- Read each .ai/<agent>_task_<NNN>_*.md file referenced in plan.yml
- For each, count rough tokens (word count × 1.3 as approximation)
- Return: a single PASS/FAIL line + list of any task slugs > 120%
of declared budget + suggested compression target
Main session reads only the verdict.
If subagent reports FAIL, regenerate the over-budget packets with tighter prompts before invoking delegates.
Commit Boundary
Every agent boundary is a commit boundary (see global rule:
~/.claude/CLAUDE.md → "Commit Discipline for Multi-Agent Work").
Specific to this skill: writing .coord/context_<NNN>.md and
.coord/session_primer.md are session-setup artifacts — commit
them as a single round-prep commit so the budget policy used for
the round is auditable. Pattern:
git add .coord/context_<NNN>.md .coord/session_primer.md
git commit -m "context: round <N> budget plan + session primer"
The acceptance gate later verifies actual round consumption against this committed policy.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most context ai engineering skills give in ~1.5k tokens
Counted across 1,328 of the 2,349 authors here whose files we hold, read 2026-09-06
- Dispatch a fresh subagent for each taskin 76 of 1328, across 59 files
- Perform spec compliance review before code quality reviewin 44 of 1328, across 34 files
- Dispatch a final code reviewer after all tasksin 38 of 1328, across 26 files
- Answer subagent questions before allowing implementationin 36 of 1328, across 26 files
- Use the least powerful model capable of the taskin 33 of 1328, across 26 files
- Create a TodoWrite list for all tasksin 32 of 1328, across 22 files
- Perform a task review after each implementationin 31 of 1328, across 24 files
- Extract all tasks and context from the planin 29 of 1328, across 20 files
- Provide full task text to subagentsin 28 of 1328, across 20 files
- Use git worktrees for isolated workspacesin 25 of 1328, across 20 files
- Specify the model explicitly when dispatching a subagentin 23 of 1328, across 18 files
- Execute all tasks from the plan without stoppingin 21 of 1328, across 16 files
Said here and by no other author read
- tail log files only when status is error
- keep canonical state in the coordination directory
- pass compact packets to delegate agents
- add context policy to the plan file if missing
- write a context plan file for each round
- refresh the session primer with current decisions
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.