[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M74FAWNBWK248S16PVCMAJNS":3,"skill-same:01M74FAWNBWK248S16PVCMAJNS":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":33,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M74FAWNBWK248S16PVCMAJNS","context-budget-planner",null,"Estimates the implementation phase's token footprint from spec, test plan and affected files, and recommends compaction before context runs out. Use when a graduated or full lane change moves from planning to implementation.","Eliyce\u002Fpaqad-ai","Eliyce","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F173689792?v=4","01M74F7NHRXY2FW9KM93WHKHST","01M74F7NJDEWZ2XM9CQV70T3JK",8,"MIT","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: context-budget-planner\ndescription: \"Estimates the implementation phase's token footprint from spec, test plan and affected files, and recommends compaction before context runs out. Use when a graduated or full lane change moves from planning to implementation.\"\nmetadata:\n  model_tier: fast\n  cacheable: 'false'\n  output_format: markdown\n  paqad-meta: skill.meta.yaml\n---\n\n## What It Does\n\nPredicts the token footprint of the upcoming implementation phase before it starts. Reads spec size, test plan size, affected module docs, and known changed files; sums their token cost using the per-line weights in the heuristics reference; compares against the available budget; and recommends compaction when the estimate would push the session into the Amber or Red tier.\n\nThe point is to catch starvation before it happens, not after compaction has already evicted decisions mid-task.\n\n## Use This When\n\nOnce at the boundary between planning and implementation in the graduated and full lanes: after acceptance criteria and test plan exist, before the first source file is opened. Skip in the fast lane; the overhead is not justified for low-complexity work.\n\n## Inputs\n\n- Read the active spec at `spec_path` first.\n- Read `test_plan_path` when supplied.\n- Read each module doc in `affected_module_doc_paths` only enough to compute its line count.\n- Read `references\u002Fbudget-heuristics.md` before applying any threshold so the per-line weights and tier boundaries stay consistent across runs.\n\n## Procedure\n\n1. Determine the project's model context window (from project profile) and committed tokens (default 200000 \u002F 30000 if not declared).\n2. Pick per-line weights from `references\u002Fbudget-heuristics.md` (or `assets\u002Fweights.default.txt` if the project has none yet).\n3. Pipe `\u003Cweight> \u003Cpath>` rows into `scripts\u002Festimate-tokens.sh --available \u003CN> --committed \u003CN>`: it line-counts, multiplies, sums, picks the tier, and emits the markdown block.\n4. When the script reports Amber or Red, fill the compaction list using the priority order from `references\u002Fbudget-heuristics.md`.\n5. Validate the final output with `scripts\u002Flint-output.sh`.\n\n## Output Contract\n\n- Match `assets\u002Foutput.template.md`: `## Context Budget`, single `Summary:` line, `### Per-Artifact Estimate` table, `### Recommended Compactions`.\n- Green\u002FYellow → `Recommended Compactions: none` exactly. Amber\u002FRed → ordered list with one-line reasons.\n- Output must pass `scripts\u002Flint-output.sh` (exit 0).\n\n## Escalate \u002F Stop Conditions\n\n- Ask when the project profile declares no model context window and the default would clearly overcommit.\n- Warn when `Tier: red` is reached even after applying every available compaction: implementation should be split into smaller stories rather than starting with no headroom.\n- Do not recommend evicting the active spec, the rules constitution, the project profile, or the active decision packet under any tier.\n\n## Resources\n\n- `references\u002Fbudget-heuristics.md`\n- `scripts\u002Festimate-tokens.sh`\n- `scripts\u002Flint-output.sh`\n- `assets\u002Foutput.template.md`\n- `assets\u002Fweights.default.txt`\n- `agents\u002Fopenai.yaml`\n","## What It Does\n\nPredicts the token footprint of the upcoming implementation phase before it starts. Reads spec size, test plan size, affected module docs, and known changed files; sums their token cost using the per-line weights in the heuristics reference; compares against the available budget; and recommends compaction when the estimate would push the session into the Amber or Red tier.\n\nThe point is to catch starvation before it happens, not after compaction has already evicted decisions mid-task.\n\n## Use This When\n\nOnce at the boundary between planning and implementation in the graduated and full lanes: after acceptance criteria and test plan exist, before the first source file is opened. Skip in the fast lane; the overhead is not justified for low-complexity work.\n\n## Inputs\n\n- Read the active spec at `spec_path` first.\n- Read `test_plan_path` when supplied.\n- Read each module doc in `affected_module_doc_paths` only enough to compute its line count.\n- Read `references\u002Fbudget-heuristics.md` before applying any threshold so the per-line weights and tier boundaries stay consistent across runs.\n\n## Procedure\n\n1. Determine the project's model context window (from project profile) and committed tokens (default 200000 \u002F 30000 if not declared).\n2. Pick per-line weights from `references\u002Fbudget-heuristics.md` (or `assets\u002Fweights.default.txt` if the project has none yet).\n3. Pipe `\u003Cweight> \u003Cpath>` rows into `scripts\u002Festimate-tokens.sh --available \u003CN> --committed \u003CN>`: it line-counts, multiplies, sums, picks the tier, and emits the markdown block.\n4. When the script reports Amber or Red, fill the compaction list using the priority order from `references\u002Fbudget-heuristics.md`.\n5. Validate the final output with `scripts\u002Flint-output.sh`.\n\n## Output Contract\n\n- Match `assets\u002Foutput.template.md`: `## Context Budget`, single `Summary:` line, `### Per-Artifact Estimate` table, `### Recommended Compactions`.\n- Green\u002FYellow → `Recommended Compactions: none` exactly. Amber\u002FRed → ordered list with one-line reasons.\n- Output must pass `scripts\u002Flint-output.sh` (exit 0).\n\n## Escalate \u002F Stop Conditions\n\n- Ask when the project profile declares no model context window and the default would clearly overcommit.\n- Warn when `Tier: red` is reached even after applying every available compaction: implementation should be split into smaller stories rather than starting with no headroom.\n- Do not recommend evicting the active spec, the rules constitution, the project profile, or the active decision packet under any tier.\n\n## Resources\n\n- `references\u002Fbudget-heuristics.md`\n- `scripts\u002Festimate-tokens.sh`\n- `scripts\u002Flint-output.sh`\n- `assets\u002Foutput.template.md`\n- `assets\u002Fweights.default.txt`\n- `agents\u002Fopenai.yaml`\n",{"name":5,"metadata":23,"description":7},{"cacheable":24,"model_tier":25,"paqad-meta":26,"output_format":27},"false","fast","skill.meta.yaml","markdown","main","793418e848ae0410573905284b68adcab385230e","runtime\u002Fbase\u002Fskills\u002Fcontext-budget-planner",0,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai","https:\u002F\u002Fpaqad.ai","https:\u002F\u002Fgithub.com\u002FEliyce","https:\u002F\u002Feliyce.com\u002F","AI delivery you can review. Dutch software company building software and AI agents. Makers of Paqad, the open-source AI delivery framework.","2026-11-13 04:41:45",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add Eliyce\u002Fpaqad-ai --skill context-budget-planner",{"tool":44,"command":45},"bunx","bunx skills add Eliyce\u002Fpaqad-ai --skill context-budget-planner",{"tool":47,"command":48},"pnpm","pnpm dlx skills add Eliyce\u002Fpaqad-ai --skill context-budget-planner","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002FSKILL.md",true,[52,58,64,68,72,78,82],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"agents\u002Fopenai.yaml","REFERENCE","参考文档",174,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fagents\u002Fopenai.yaml",{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"assets\u002Foutput.template.md","ASSET","资产文件",527,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fassets\u002Foutput.template.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"assets\u002Fweights.default.txt",203,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fassets\u002Fweights.default.txt",{"path":69,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fbudget-heuristics.md",2258,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Freferences\u002Fbudget-heuristics.md",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"scripts\u002Festimate-tokens.sh","SCRIPT","脚本",2005,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fscripts\u002Festimate-tokens.sh",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"scripts\u002Flint-output.sh",1019,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fscripts\u002Flint-output.sh",{"path":26,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":83,"sourceHtmlUrl":84},602,"https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fbase\u002Fskills\u002Fcontext-budget-planner\u002Fskill.meta.yaml",[86,93,100,105,112,119],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":18},"01M74FSCKQP6TACC8X8AZ19F4V","sample-skill","Sample bundled skill fixture","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Ftests\u002Funit\u002Fadapters\u002Ffixtures\u002Fsample-skill\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":18},"01M74FSAQ6C28V4G3322XGMARB","processing-invoices","Turns a supplier invoice into one ledger line. Use when a supplier invoice arrives and needs booking.","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fauthoring\u002Fnpm-project\u002Fskill\u002FSKILL.md",[],[],{"skillNo":101,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":18},"01M74FS914YQKWQNHC58MEG1N8","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fauthoring\u002Flaravel-project\u002Fskill\u002FSKILL.md",[],[],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":18},"01M74FS356J9QP10A362QRVCPZ","understand-idea","Chat and Claude Code: Step 1 of the discover journey: clarifies the goal, who benefits, success and constraints into the idea block. Use when the journey directs it to step 1, not directly.","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fclaude-plugin\u002Fskills\u002Funderstand-idea\u002FSKILL.md",[],[],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":18},"01M74FRSWEMB7KNVW0TP8P3JKB","size-work","Chat and Claude Code: Suggest a size for a ticket from comparable finished work, as a labelled suggestion the team still owns. Use it when someone asks \"how big is this?\", \"roughly how much work is ABC-12?\", or wants a backlog item sized. It finds the team's sizing scale at first use, picks two to five of the closest finished tickets with links, and gives a size or range with the drivers behind it and a confidence of low, medium or high, lowered and explained when the area's documents are template text. Every result is labelled a suggested size, never a date or a commitment. It writes nothing into the size field unless the user says \"set it\", and it refuses to overwrite an existing size unless the user asks to replace it. Produces the sizing block of the record.","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fclaude-plugin\u002Fskills\u002Fsize-work\u002FSKILL.md",[],[],{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":18},"01M74FR9A9VPHW1NFAFYZMXE2H","refine-ticket","Chat and Claude Code: Improve one or more existing tracker tickets without losing the author's intent. Use it when someone wants a ticket read, diagnosed and tidied up (\"this ticket is vague\", \"fix up ABC-12\", \"split this, it's too big\"). It reads each ticket in full and snapshots it with its last-updated time, says what is wrong with evidence, and proposes a field-by-field before and after change set limited to summary, description, labels, parent, links and new child tickets on a split. It writes nothing until an explicit \"apply it\" bound to that exact change set, re-checks the ticket for conflicting edits just before writing, never replaces rich descriptions with plain text, never deletes or closes a ticket, and reads each ticket back after applying. Produces the existing and changes blocks of the record.","https:\u002F\u002Fgithub.com\u002FEliyce\u002Fpaqad-ai\u002Fblob\u002Fmain\u002Fruntime\u002Fclaude-plugin\u002Fskills\u002Frefine-ticket\u002FSKILL.md",[],[]]