SKILL.md
Outline Budgeter (NO PROSE)
Triggers & routing
- Trigger: outline budget, merge sections, too many sections, H3 explosion, 大纲预算, 合并小节, 大纲太碎.
- Use when:
outline/outline.ymlexists but would produce thin sections (too many H2/H3); before (or immediately after)section-mapper.
Purpose: prevent the most common survey failure mode: H3 explosion (too many tiny subsections) leading to a thin, outline-like PDF.
This skill rewrites outline/outline.yml into a paper-like budget:
- Final ToC target: ~6–8 H2 sections (Intro / Related Work + 3–4 core chapters + Discussion + Conclusion)
- H3 target: fewer, thicker subsections (per
draftprofile: coursepaper<=6, survey<=10, deep<=12)
Important: Discussion/Conclusion are appended in C5 merge (global sections), so the outline itself should usually be <=6 H2.
Inputs
outline/outline.yml- Optional (helps make merges evidence-aware):
- queries.md (optional: if it sets draftprofile, use it to choose the H3 budget) - outline/mapping.tsv - outline/coveragereport.md - GOAL.md
Outputs
outline/outline.yml(updated in place)outline/OUTLINEBUDGETREPORT.md(bullets-only; what was merged and why)
Workflow (NO PROSE)
- Read the outline and compute a simple budget snapshot:
- If
queries.mdsetsdraftprofile(coursepaper/survey/deep), use it to decide the H3 budget target. - H2 count (excluding Discussion/Conclusion, which are not in the outline)
- Total H3 count
- H3 count per H2 chapter
- Decide a merge plan (structure-first, evidence-aware):
- Prefer merging adjacent H3s that share similar axes/keywords.
- Prefer merging H3s with weak mapping coverage (if
mapping.tsvexists). - If
outline/coverage_report.mdexists (fromoutline-refiner), use it to identify weak-coverage or high-reuse subsections to merge. - Use
GOAL.mdas the scope constraint: avoid merges that mix distinct research questions or scope boundaries. - Prefer moving fine-grained distinctions into bullets/axes instead of creating new subsections.
- Apply merges in
outline/outline.yml:
- Merge titles into a clearer, thicker subsection title.
- Merge bullets (dedupe templates; keep Stage A fields: Intent/RQ/Evidence needs/Expected cites).
- Keep ids stable when possible.
- If you must change ids, record it explicitly in the report and assume mapping.tsv must be regenerated.
- Write
outline/OUTLINEBUDGETREPORT.md:
- Before/after counts.
- List of merges (old ids/titles -> new id/title).
- Any risks (e.g., mapping reset required).
Quality checklist
- No placeholders (
TODO/…/(placeholder)). - Outline budget matches the paper-like target.
- Each remaining H3 is thick enough to sustain evidence-first writing (its bullets mention concrete comparisons + eval anchors + failure modes).
Troubleshooting
Issue: merging makes a subsection too broad
Fix:
- Keep one H3, but split its bullets into explicit comparison axes and required evidence fields; defer fine-grained splits to later if evidence is strong enough.
Issue: mapping breaks after id changes
Fix:
- Rerun
section-mapperto regenerateoutline/mapping.tsv, then rerunoutline-refiner.