{"id":"2e6f7f50-065a-4b05-8c8f-d269f8d87981","shortId":"D9bxH6","kind":"skill","title":"reserved-summary-output-budget","tagline":"Reserve part of the context window for summary output so proactive compaction does not kill the response budget.","description":"# SKILL: Reserved Summary Output Budget\n**Domain:** context-management  \n**Trigger:** Apply when proving that proactive compaction must shrink the usable context window to keep the summary output under a known token budget.\n**Source Pattern:** Distilled from reviewed session memory, compaction, and context-budgeting implementations.\n\n## Core Method\nBefore inviting a compaction, shrink the effective context window by reserving room for the post-compaction summary (and any optionally re-injected skills/output). Calculate the base context window for the model, subtract a fixed upper bound on the summary tokens (20k here), and feed that reduced window to downstream budgeting logic so warning thresholds and blocking limits reflect the diminished headroom.\n\n## Key Rules\n- Base the reservation on the model’s max output tokens so languages with smaller outputs still reserve enough space.\n- Keep the reserved summary allowance explicit and documented (e.g., max output tokens for summary 20 000) so future tweaks know why the window shrank.\n- Derive warning/error thresholds from the reduced window so percent-left and blocking checks respect the reservation.\n- Offer an override path (e.g., claude autocompact pct override or blocking limit overrides) to aid testing without losing the rationale.\n- Treat the reserved portion as untouchable – only the remaining tokens count toward auto-compact triggers or manual compaction budgets.\n\n## Example Application\nWhen autocompact fires, compute the effective window as context window reserved summary tokens, then generate warnings based on that clipped value so autocompact threshold, warning threshold, and blocking limit stay consistent even though the API still sees the full context.\n\n## Anti-Patterns (What NOT to do)\n- Don’t ignore the summary tokens when computing thresholds; doing so lets the summary overflow the model’s output limit.\n- Don’t hardcode warnings to the raw context window without documenting the inviolable reservation.","tags":["reserved","summary","output","budget","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents","context-engineering"],"capabilities":["skill","source-ychampion","skill-reserved-summary-output-budget","topic-agent-skills","topic-ai-agents","topic-cli","topic-coding-agents","topic-context-engineering","topic-developer-tools","topic-mcp","topic-multi-agent","topic-terminal-ui"],"categories":["cskill-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ychampion/cskill-agents/reserved-summary-output-budget","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ychampion/cskill-agents","source_repo":"https://github.com/ychampion/cskill-agents","install_from":"skills.sh"}},"qualityScore":"0.467","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 34 github stars · SKILL.md body (1,995 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:55.521Z","embedding":null,"createdAt":"2026-04-18T22:21:10.207Z","updatedAt":"2026-04-22T00:56:55.521Z","lastSeenAt":"2026-04-22T00:56:55.521Z","tsv":"'000':170 '20':169 '20k':113 'aid':210 'allow':159 'anti':279 'anti-pattern':278 'api':272 'appli':34 'applic':237 'auto':229 'auto-compact':228 'autocompact':202,239,260 'base':98,136,254 'block':128,191,206,265 'bound':108 'budget':5,23,28,55,67,122,235 'calcul':96 'check':192 'claud':201 'clip':257 'compact':17,39,63,74,87,230,234 'comput':241,292 'consist':268 'context':10,31,44,66,78,99,246,277,312 'context-budget':65 'context-manag':30 'core':69 'count':226 'deriv':179 'diminish':132 'distil':58 'document':162,315 'domain':29 'downstream':121 'e.g':163,200 'effect':77,243 'enough':153 'even':269 'exampl':236 'explicit':160 'feed':116 'fire':240 'fix':106 'full':276 'futur':172 'generat':252 'hardcod':307 'headroom':133 'ignor':287 'implement':68 'inject':94 'inviol':317 'invit':72 'keep':47,155 'key':134 'kill':20 'know':174 'known':53 'languag':147 'left':189 'let':296 'limit':129,207,266,304 'logic':123 'lose':213 'manag':32 'manual':233 'max':143,164 'memori':62 'method':70 'model':103,141,301 'must':40 'offer':196 'option':91 'output':4,14,27,50,144,150,165,303 'overflow':299 'overrid':198,204,208 'part':7 'path':199 'pattern':57,280 'pct':203 'percent':188 'percent-left':187 'portion':219 'post':86 'post-compact':85 'proactiv':16,38 'prove':36 'rational':215 'raw':311 're':93 're-inject':92 'reduc':118,184 'reflect':130 'remain':224 'reserv':2,6,25,81,138,152,157,195,218,248,318 'reserved-summary-output-budget':1 'respect':193 'respons':22 'review':60 'room':82 'rule':135 'see':274 'session':61 'shrank':178 'shrink':41,75 'skill':24 'skill-reserved-summary-output-budget' 'skills/output':95 'smaller':149 'sourc':56 'source-ychampion' 'space':154 'stay':267 'still':151,273 'subtract':104 'summari':3,13,26,49,88,111,158,168,249,289,298 'test':211 'though':270 'threshold':126,181,261,263,293 'token':54,112,145,166,225,250,290 'topic-agent-skills' 'topic-ai-agents' 'topic-cli' 'topic-coding-agents' 'topic-context-engineering' 'topic-developer-tools' 'topic-mcp' 'topic-multi-agent' 'topic-terminal-ui' 'toward':227 'treat':216 'trigger':33,231 'tweak':173 'untouch':221 'upper':107 'usabl':43 'valu':258 'warn':125,253,262,308 'warning/error':180 'window':11,45,79,100,119,177,185,244,247,313 'without':212,314","prices":[{"id":"550e52d4-ae38-4c31-86b9-eb28535e728d","listingId":"2e6f7f50-065a-4b05-8c8f-d269f8d87981","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ychampion","category":"cskill-agents","install_from":"skills.sh"},"createdAt":"2026-04-18T22:21:10.207Z"}],"sources":[{"listingId":"2e6f7f50-065a-4b05-8c8f-d269f8d87981","source":"github","sourceId":"ychampion/cskill-agents/reserved-summary-output-budget","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/reserved-summary-output-budget","isPrimary":false,"firstSeenAt":"2026-04-18T22:21:10.207Z","lastSeenAt":"2026-04-22T00:56:55.521Z"}],"details":{"listingId":"2e6f7f50-065a-4b05-8c8f-d269f8d87981","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"reserved-summary-output-budget","github":{"repo":"ychampion/cskill-agents","stars":34,"topics":["agent-skills","ai-agents","cli","coding-agents","context-engineering","developer-tools","mcp","multi-agent","terminal-ui"],"license":"mit","html_url":"https://github.com/ychampion/cskill-agents","pushed_at":"2026-04-04T14:13:23Z","description":"Agent skills for coding CLIs, multi-agent runtimes, context engines, MCP extensions, and terminal tooling. Instead of using claude code's source code, give your agent skills to create your own!","skill_md_sha":"b1148a5afdaa7f0c40f1b56d6ebf04eb9e22b621","skill_md_path":"skills/reserved-summary-output-budget/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/reserved-summary-output-budget"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"reserved-summary-output-budget","description":"Reserve part of the context window for summary output so proactive compaction does not kill the response budget."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/reserved-summary-output-budget"},"updatedAt":"2026-04-22T00:56:55.521Z"}}