From lg13-skills
Řízení token budgetu napříč LG13 instancemi. Instance s touto rolí čte aktuální spotřebu, alokuje kapacitu ostatním, varuje před limitem a předává roli dál. Trigger: 'budget manager', 'kdo řídí budget', 'předej budget management', 'jak jsme na tokenech', 'zkontroluj budget'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lg13-skills:budget-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Jedna instance drží roli **budget managera** pro daný token window (5h reset nebo week).
Jedna instance drží roli budget managera pro daný token window (5h reset nebo week).
Aktuální holder: uložen v L:/LG13/runtime/ops/budget_manager_state.json
import subprocess, sys, json
r = subprocess.run([sys.executable, 'L:/LG13/app/agent/skills/claude_usage_read.py', '--json'],
capture_output=True, text=True, timeout=5)
usage = json.loads(r.stdout)
print(f"session: {usage.get('session_pct')}%")
print(f"weekly_all: {usage.get('weekly_all')}%")
print(f"plan: {usage.get('plan')}")
print(f"resets_in: {usage.get('resets_in')}")
| Situace | Frekvence čtení |
|---|---|
| Těžká práce (F-cyklus, Opus subagenti, paralelní tasky) | každé ~3 kola ping-pong |
| Normální práce (reasoning, drafty) | každých ~7 kol |
| Idle / FYI pony | každých ~15 kol nebo na žádost |
| Vždy | před spuštěním Opus subagenta nebo batch jobu |
Ostatní instance žádají kapacitu přes ping-pong:
subject: BUDGET_REQUEST — <task name> ~<odhad tokenů>K
body: Co potřebuji udělat, proč, urgency P0-P3
Budget manager odpoví:
APPROVED <Xk tokens> — pokračujDEFER — weekly >90%, počkej na reset <datum>REDUCE — udělej jen <scope>, max <Xk>| weekly_all | Akce |
|---|---|
| <80% | normální provoz |
| 80-90% | upozornit aktivní instance, defer P2/P3 |
| >90% | pouze P0/P1, žádné Opus subagenty bez explicitního Tom GO |
| >95% | STOP veškeré nové tasky, dokončit jen co běží |
| session_pct | Akce |
|---|---|
| >70% | compact_signal v pongu |
| >85% | doporučit /compact Tomovi |
Předej roli pokud:
import json, time
from pathlib import Path
state_file = Path("L:/LG13/runtime/ops/budget_manager_state.json")
state = {
"holder": "<new_instance>",
"since_ts": time.strftime("%Y-%m-%dT%H%M%SZ", time.gmtime()),
"handoff_from": "<me>",
"reason": "<proč předávám>"
}
state_file.write_text(json.dumps(state, ensure_ascii=False, indent=2), encoding="utf-8")
Pak pingni nového holdera: subject: BUDGET_HANDOFF — přebíráš budget management
import json
from pathlib import Path
f = Path("L:/LG13/runtime/ops/budget_manager_state.json")
if f.exists():
s = json.loads(f.read_text(encoding="utf-8"))
print(f"Holder: {s['holder']} (od {s['since_ts']})")
else:
print("Stav neexistuje — výchozí holder: strat")
Reset = příležitost zvednout deferred plány. Budget manager po resetu:
plans/ v lg13-runtime-state (viz skill deferred-plans)Pokud weekly >90% nebo P0 blocker, pošli Tomovi stručně:
Budget alert: weekly <X>% (<plan>)
Blocked: <co nejde>
Návrh: <počkej na reset <datum> | redukuj scope na X>
Žádné dlouhé zprávy — Tom chce jen číslo + akci.
ping-pong skill — komunikační kanál pro žádostitoken-limit-read skill — čtení hodnotL:/LG13/runtime/ops/budget_manager_state.json — aktuální holdernpx claudepluginhub lg13-21/lg13-skills --plugin lg13-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.