К основному содержанию
скилл CX Codex

token-budget-gate — скилл для Claude Code: оценка токенов до старта

Считает примерную стоимость многошаговой задачи в токенах и выдаёт вердикт GREEN, YELLOW, ORANGE или RED до того, как агент начнёт тратить бюджет.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add chrono-meta/forge-harness --skill token-budget-gate -a claude-code
Открыть на GitHub

Что делает token-budget-gate

Скилл разбирает описание задачи по пяти осям: сколько файлов затронуто, сколько агентов задействовано, глубина шагов, число итераций и объём результата. Каждой оси даётся множитель, он перемножается с базовой оценкой для типа задачи, и получается примерная цифра в тысячах токенов. Дальше вердикт: до 10K — GREEN, 10K–30K — YELLOW, 30K–60K — ORANGE, выше — RED. На ORANGE и RED скилл показывает таблицу способов урезать объём и ждёт решения.

Порог можно переопределить через TOKEN_BUDGET_MAX, в том числе в .claude/settings.json. Если в .claude/token_calibration/log.tsv уже есть строки по этому типу задач, база берётся как медиана по прошлым прогонам, а не из таблицы — локальные замеры точнее. Формула учитывает множители, поэтому в лог пишется ещё и произведение множителей текущего прогона.

После задачи скилл может записать факт против оценки, но только если фактический расход взят из механического источника: вставленный вывод /cost или budget.spent() в Workflow. Сам агент свой расход не знает, поэтому придуманное число отравило бы все будущие оценки. Нет источника — будет Actual: UNMEASURED и пустая строка вместо записи. Из инструментов скиллу разрешены только Read и Bash.

Какие задачи решает

  • прикинуть цену многоагентного прогона до его запуска
  • поймать задачу, которая молча съест весь бюджет
  • сравнить параллельный и последовательный варианты по токенам
  • подобрать урезанный объём работ, когда оценка вышла за порог
  • сверить прогноз с реальным расходом и поправить базу

Примеры запросов агенту

  • Оцени токен-бюджет для этой задачи и скажи, пройдёт ли она по лимиту
  • Сколько токенов уйдёт на параллельный запуск трёх агентов по всему репозиторию?
  • Запиши калибровку: я вставлю вывод /cost

Как установить token-budget-gate

1Через Skills CLI (Vercel)

npx skills add chrono-meta/forge-harness --skill token-budget-gate -a claude-code

2Вручную: положить файлы

~/.claude/skills/token-budget-gate/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/token-budget-gate/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о token-budget-gate

Как установить token-budget-gate в Claude Code?

Выполните npx skills add chrono-meta/forge-harness --skill token-budget-gate -a claude-code. Файл скилла окажется по пути ~/.claude/skills/token-budget-gate/SKILL.md.

Что делает token-budget-gate?

До запуска многошаговой задачи считает её примерную стоимость в токенах и выдаёт вердикт одного из четырёх уровней. На высоких уровнях предлагает урезать объём и ждёт подтверждения.

Откуда скилл берёт фактический расход токенов?

Только из механического источника — вставленного вывода /cost или budget.spent(). Без него запись в лог калибровки не делается.

Исходный текст

SKILL.md · MIT
---
name: token-budget-gate
description: Estimates token cost before a multi-step task and outputs a 4-tier Green/Yellow/Orange/Red gate verdict. Records actual vs. estimated after completion when a mechanical usage source exists. Triggers on "token budget", "how much will this cost", "will this be expensive", "estimate tokens", before long multi-agent tasks.
user-invocable: true
allowed-tools: ["Read", "Bash"]
model: sonnet
complexity_routing:
  base: sonnet
  high: opus
  escalate_when:
    - multi_project_scope
    - unknown_task_type
---

# token-budget-gate — Pre-Task Token Cost Gate

Multi-step and multi-agent tasks can silently consume large token budgets. This skill estimates cost before execution, outputs a gate verdict, and calibrates estimates against actual usage after completion — preventing surprise overruns without blocking legitimate work.

> **FH context**: FH default execution tier is `standard` (~15K tokens). This skill gates against accidental `full` (~30K) or `max` (~60K+) consumption on tasks that could be handled lighter.

---

## Triggers

- `/token-budget-gate`
- "token budget", "token cost", "how expensive", "will this use a lot of tokens"
- "estimate tokens", "token estimate before we start"
- Before invoking: `agent-composer`, `sim-conductor`, `steel-quench` (max-tier skills)
- Automatically proposed when task description contains: multi-agent, parallel dispatch, full suite, all files, entire codebase

---

## Gate Thresholds (defaults — user-configurable)

| Signal | Verdict | Action |
|---|---|---|
| Estimated < 10K tokens | 🟢 **GREEN** | Proceed without comment |
| 10K–30K tokens | 🟡 **YELLOW** | Proceed with notice — suggest lighter approach if one exists |
| 30K–60K tokens | 🟠 **ORANGE** | Confirm before proceeding — present scope reduction options |
| > 60K tokens | 🔴 **RED** | Block + require explicit approval — present mandatory reduction |

Custom threshold: user can set `TOKEN_BUDGET_MAX=N` in conversation or `.claude/settings.json`.

---

## Execution Steps

### Step 1. Parse Task Description

Extract task dimensions:

| Dimension | Low (×1) | Medium (×2) | High (×4) |
|---|---|---|---|
| **File scope** | 1–3 files | 4–10 files | 11+ files / whole codebase |
| **Agent count** | 0 (inline) | 1–2 agents | 3+ agents / parallel |
| **Step depth** | 1–3 steps | 4–8 steps | 9+ steps |
| **Iteration** | None | 1 round | 2+ rounds (wave/loop) |
| **Output size** | Short answer | Medium doc | Full report / deck |

---

### Step 2. Estimate Token Cost

Base estimates per task type:

| Task Type | Base Estimate | Notes |
|---|---|---|
| Single file edit | 2K | Read + edit + verify |
| Code review (1 PR) | 5K | Diff + analysis + comments |
| Skill creation (1 SKILL.md) | 8K | Design + write + CATALOG update |
| Agent dispatch (1 agent) | 10K | Context card + agent overhead |
| Parallel dispatch (3 agents) | 25K | 3× agent + orchestration |
| sim-conductor full run | 30K | All 5 simulation axes |
| steel-quench 4-wave | 50K | All waves + prescriptions |
| Full harvest-loop cycle | 40K | 8-step pipeline + PRs |

Apply dimension multipliers from Step 1 to the base estimate.

**Calibration override (read leg)**: if `.claude/token_calibration/log.tsv` exists and holds ≥1 row
for this task type, derive the base as `median(actual_i / mult_i)` over its rows — each row's `mult`
column records the dimension-multiplier product that was in effect, so dividing recovers a
dimension-neutral base. **Never use raw `actual` as the base**: actual already contains that run's
multipliers, and re-applying this run's multipliers on top double-counts scope. The table above is the
uncalibrated default; measured local data outranks it. State which source the estimate used
(`base: table (uncalibrated)` or `base: calibration log, n={rows}`).

**Final formula:**
```
Estimated = base × file_multiplier × agent_multiplier × iteration_multiplier
```

Round to nearest 1K.

---

### Step 3. Output Gate Verdict

```
## Token Budget Gate

Task: {one-line task description}
Estimated cost: ~{N}K tokens
Threshold: {user max or default}

Verdict: 🟡 YELLOW — within budget but consider lighter approach

Breakdown:
  Base (skill creation): 8K
  × 2 agents: ×2 = 16K
  × 1 iteration: ×1 = 16K
  Total: ~16K

Lighter alternative:
  → Inline (no agent dispatch): ~8K (-50%)
  → Single agent, not parallel: ~12K (-25%)

Proceed? (y to continue / n to adjust scope)
```

For 🟢 GREEN: output one line only — *"Token estimate: ~{N}K — GREEN, proceeding."*

---

### Step 4. Proceed / Adjust

- **GREEN / YELLOW + user confirms**: proceed, note start marker
- **ORANGE**: present scope reduction table, wait for user selection
- **RED**: present mandatory reduction — do not proceed until user explicitly approves

Scope reduction options table (ORANGE/RED):

| Option | Reduction | Trade-off |
|---|---|---|
| Drop parallel → sequential | -30% | Slower, same quality |
| Reduce agent count (3→1) | -50% | Less parallelism |
| Narrow file scope | -40% | Shallower coverage |
| Use lighter skill variant | -60% | Fewer waves/probes |
| Split into 2 sessions | -50%/session | No quality loss |

---

### Step 5. Post-Task Calibration (offered, not required)

After task completion, if user says "how much did that cost" or "calibrate":

**`Actual` must come from a mechanical source** — the user pasting `/cost` output, or `budget.spent()`
in a Workflow context. A model cannot read its own token consumption by introspection; a reconstructed
number written into the log poisons every future estimate that reads it (the read leg in Step 2).
No mechanical source available → render `Actual: UNMEASURED` and **write no row**.

```
## Calibration

Estimated: ~16K tokens
Actual: ~{actual}K tokens   (source: /cost paste | budget.spent() | UNMEASURED)
Error: {+/-N}%   (omit when UNMEASURED)
```

Write calibration data (only when Actual is mechanically sourced):
```bash
mkdir -p .claude/token_calibration/
# mult = this run's dimension-multiplier product (Step 1) — stored so the read leg can divide it
# back out; a log without it makes every future estimate double-count scope.
printf '%s\t%s\t%s\t%s\t%s\n' "{task_type}" "{estimated_k}" "{actual_k}" "{mult}" "$(date +%F)" \
  >> .claude/token_calibration/log.tsv
```

Recorded rows feed the Step 2 calibration override for the same task type (no model training — local record only).

---

## Done When

- Gate verdict output (GREEN/YELLOW/ORANGE/RED) with estimated cost breakdown, naming the estimate's
  base source (table-uncalibrated or calibration log) — *mandatory-pass*
- For ORANGE/RED: scope reduction options presented and user decision recorded — *mandatory-pass*
- Any calibration row written this run carries a mechanically-sourced `actual` (pasted `/cost` or
  `budget.spent()`); no mechanical source → `Actual: UNMEASURED`, no row — *mandatory-pass*

(Post-task calibration is an offer in Step 5, not a completion condition — a completion condition
marked "optional" is not a completion condition.)

---

## Chains

**Upstream** (proposed before these skills):
- → `agent-composer` (multi-agent orchestration)
- → `sim-conductor` (5-axis simulation)
- → `steel-quench` (4-wave adversarial review)
- → `harvest-loop` (8-step pipeline)

**Downstream**:
- No mandatory chain — gate verdict is the output; task execution follows user decision

---

## External anchor (independent convergence)

arXiv:2606.27009 (*Semantic Early-Stopping for Iterative LLM Agent Loops*, 2026-06-25, verified
2026-06-27) measures **−38% tokens** by stopping iterative agent loops on semantic convergence instead
of a fixed iteration cap — external evidence that the largest avoidable spend in loop-shaped work is
*over-iteration*, the cost class this gate exists to flag. Caveat (provenance-honest): the same paper
found *judge-gated* stopping counterproductive (judging cost outweighs the saving), so the saving is
real only when the convergence signal is cheap. Pairs with `convergence-loop` (the stop-rule side of
the same finding).

© chrono-meta · MIT · chrono-meta/forge-harness

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
token-budget-advisor affaan-m Скилл предлагает выбрать глубину ответа и оценивает объём токенов до генерации. Нужен, когда длину ответа хотят задать заранее. CX Codex +1 4 700установок task-estimator marks97 Скилл считает сроки задач по вашей же измеренной истории, а не по наитию модели. Пригодится, когда надо назвать ETA для фичи, бага или миграции. CX Codex +1 799установок bigquery-pipeline-audit официальный github Скилл проверяет Python-скрипты с BigQuery на затраты, надёжность и готовность к production. Находит уязвимости в циклах, отсутствующие лимиты на запросы и проблемы идемпотентности, выдаёт отчёт с точными номерами строк. 8 800установок c-schedule daxaur Ставит повторяющиеся задачи Claude на launchd или cron, следит за расходом и отдаёт результат в Telegram, файл или уведомление. CX Codex +1 ★ 173звёзд репо dd-logs datadog-labs Скилл для работы с логами Datadog через CLI: поиск, архивы, метрики и фильтры исключений для контроля расходов. Пригодится, когда нужно разобрать инцидент или срезать счёт за индексацию. CX Codex +1 2 100установок ai-product sickn33 Помогает проектировать и оценивать функции с языковыми моделями, поиск по данным и проверяемые ответы. Нужен, когда надо сверить пользу функции с базовым сценарием. CX Codex +1 960установок

Из того же набора7

qp-run Скилл проходит тест-кейсы из qp-plan по работающему приложению через адаптер сессии и пишет приговор на каждый шаг в TSV. Нужен, когда план тестов уже есть и его пора выполнять. CX Codex +1 ★ 30звёзд репо prompt-regression Сверяет изменённые файлы харнесса с набором эталонных проверок и показывает PASS/FAIL/SKIP по каждой. Нужен после правок правил, CLAUDE.md или добавления скилла. CX Codex +1 ★ 30звёзд репо phantom-quench Ищет в отчётах, тест-кейсах и дизайн-доках утверждения, которых нет в исходниках. Помечает фантомные и неподтверждённые ссылки. CX Codex +1 ★ 30звёзд репо harness-doctor Проверяет файлы и правила вашего харнесса: что сломано, что устарело, где ссылки ведут в никуда. Пригодится, когда проект оброс инструкциями и агент начал путаться. CX Codex +1 ★ 30звёзд репо field-harvest Скилл читает git-историю рабочих проектов и находит паттерны, которые стоит перенести в основной харнесс, либо записывает итоги сессии в базу знаний. CX Codex +1 ★ 30звёзд репо asset-placement-gate Решает, чему место в общем наборе скиллов, что оставить в проекте, а что вообще не стоит создавать. CX Codex +1 ★ 30звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой