outline-refiner
SKILL.md
Outline Refiner (Planner pass, NO PROSE)
Goal: make the outline auditable by adding an explicit planner stage that answers:
- Do we have enough mapped evidence per H3?
- Are the same few papers reused everywhere?
- Are subsection axes still generic/scaffold-y?
- Is the outline likely to produce a paper-like structure (final ToC budget: ~6–8 H2; fewer, thicker H3s)?
This is a deterministic “planner” unit: it must not write survey prose.
Inputs
Required:
outline/outline.ymloutline/mapping.tsv
Optional (best-effort diagnosis; may be missing early in the pipeline):
outline/OUTLINE_BUDGET_REPORT.md(if present: explains recent merges; helps interpret mapping/coverage changes)papers/paper_notes.jsonl(for evidence levels)outline/subsection_briefs.jsonl(for axis specificity)GOAL.md(for scope drift hints)
Outputs
outline/coverage_report.md(bullets + small tables; NO PROSE)outline/outline_state.jsonl(append-only JSONL; one record per run)
Workflow (planner pass, NO PROSE)
- Parse
outline/outline.ymlto enumerate H2 sections + H3 subsections (section sizing / budget).- If
outline/OUTLINE_BUDGET_REPORT.mdexists, use it as the merge/change log so the coverage report can explain why structure changed.
- If
- Read
outline/mapping.tsvand compute per-H3 coverage and reuse hotspots. - If
papers/paper_notes.jsonlexists, summarize evidence levels (fulltext/abstract/title) for mapped papers. - If
outline/subsection_briefs.jsonlexists, compute axis specificity (generic vs specific axes) per H3. - Optionally use
GOAL.mdto flag obvious scope drift (keywords not reflected in outline). - Write
outline/coverage_report.mdand append a run record tooutline/outline_state.jsonl.
Freeze policy
- If
outline/coverage_report.refined.okexists, the script will not overwriteoutline/coverage_report.md.
Script
Quick Start
python .codex/skills/outline-refiner/scripts/run.py --helppython .codex/skills/outline-refiner/scripts/run.py --workspace workspaces/<ws>
All Options
--workspace <dir>: workspace root--unit-id <U###>: unit id (optional; for logs)--inputs <semicolon-separated>: override inputs (rare; prefer defaults)--outputs <semicolon-separated>: override outputs (rare; prefer defaults)--checkpoint <C#>: checkpoint id (optional; for logs)
Examples
- Planner-pass diagnostics after
section-mapper:python .codex/skills/outline-refiner/scripts/run.py --workspace workspaces/<ws>
Troubleshooting
Issue: report is missing evidence-level or axis-specificity columns
Cause:
- Optional inputs are missing (no
papers/paper_notes.jsonland/or nooutline/subsection_briefs.jsonl).
Fix:
- Run
paper-notesand/orsubsection-briefs, then rerunoutline-refiner.
Weekly Installs
26
Repository
willoscar/resea…e-skillsGitHub Stars
304
First Seen
Jan 23, 2026
Security Audits
Installed on
gemini-cli22
claude-code22
cursor20
codex20
opencode20
cline17