From 5dbb1b21b4611c4be398b6547ac8fd0d3658c3dd Mon Sep 17 00:00:00 2001 From: Julian lechner Date: Thu, 17 Sep 2026 15:27:04 +0200 Subject: [PATCH] feat(budget): include installed and cached skill inventories --- scripts/prompt-budget.ps1 | 2 ++ scripts/prompt-budget.sh | 1 + 2 files changed, 3 insertions(+) diff --git a/scripts/prompt-budget.ps1 b/scripts/prompt-budget.ps1 index 8453d04..feca023 100644 --- a/scripts/prompt-budget.ps1 +++ b/scripts/prompt-budget.ps1 @@ -30,5 +30,7 @@ if ($old) { } } if ($Summary) { Write-Output 'Prompt Budget'; foreach ($row in $rows | Select-Object -First 2) { $limits = $baselineValues[$row.Name]; $base = if($limits){$limits[0]}else{'-'}; $absolute = if($limits){$limits[1]}else{'-'}; Write-Output ('{0,-28} {1,8} bytes baseline {2} relative 115% absolute {3}' -f $row.Name,$row.Bytes,$base,$absolute) }; $rows | Select-Object -Skip 2 | ForEach-Object { Write-Output ('{0,-28} {1,8} bytes {2,6} tokens' -f $_.Name,$_.Bytes,$_.Tokens) } } else { $rows | ForEach-Object { Write-Output ('{0}: {1} bytes / {2} tokens' -f $_.Name,$_.Bytes,$_.Tokens) } } +& python (Join-Path $PSScriptRoot 'lib/prompt-inventory.py') --home ([Environment]::GetFolderPath('UserProfile')) +if ($LASTEXITCODE -ne 0) { throw 'Prompt inventory failed.' } if ($fail) { exit 1 } exit 0 diff --git a/scripts/prompt-budget.sh b/scripts/prompt-budget.sh index 9460d25..14b1456 100755 --- a/scripts/prompt-budget.sh +++ b/scripts/prompt-budget.sh @@ -21,5 +21,6 @@ if [ -f "$root/adapters/prompt-budget-baseline.tsv" ]; then done < "$root/adapters/prompt-budget-baseline.tsv" fi if [ "$summary" = true ]; then printf 'Prompt Budget\nClaude permanent context %8s bytes baseline %s relative 115%% absolute %s\nCodex permanent context %8s bytes baseline %s relative 115%% absolute %s\nClaude skill files (lazy) %8s bytes %6s tokens\nRule trigger metadata %8s bytes %6s tokens\nLargest lazy rule %8s bytes %6s tokens\n' "$claude" "$claude_baseline" "$claude_absolute" "$codex" "$codex_baseline" "$codex_absolute" "$skills" "$(tokens "$skills")" "$triggers" "$(tokens "$triggers")" "$lazy" "$(tokens "$lazy")"; else printf 'Prompt budget: Claude %s bytes, Codex %s bytes, skills %s bytes, triggers %s bytes, largest lazy rule %s bytes\n' "$claude" "$codex" "$skills" "$triggers" "$lazy"; fi +python3 "$root/scripts/lib/prompt-inventory.py" --home "${HOME:?HOME is required}" $fail && { printf 'Prompt budget: permanent context increased by more than 15 percent.\n' >&2; exit 1; } exit 0