Skip to content
Back to skills

Outline Refiner

ASecurity

Planner-pass coverage + redundancy report for an outline+mapping, producing `outline/coverage_report.md` and `outline/outline_state.jsonl`.

  • 512 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added February 8, 2026
developmentpythongoc#

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add WILLOSCAR/research-units-pipeline-skills --skill outline-refiner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Outline Refiner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Outline Refiner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/willoscar-outline-refiner/badge)](https://www.skillsdirectory.com/skills/willoscar-outline-refiner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: outline-refiner
description: "Planner-pass coverage + redundancy report for an outline+mapping, producing `outline/coverage_report.md` and `outline/outline_state.jsonl`."
---

# Outline Refiner (Planner pass, NO PROSE)

## Triggers & routing

- **Trigger**: planner, dynamic outline, outline refinement, coverage report, 大纲迭代, 覆盖率报告.
- **Use when**: you have `outline/outline.yml` + `outline/mapping.tsv` and want a verifiable, NO-PROSE planner pass before writing.


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.yml`
- `outline/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)

1. Parse `outline/outline.yml` to enumerate H2 sections + H3 subsections (section sizing / budget).
   - If `outline/OUTLINE_BUDGET_REPORT.md` exists, use it as the merge/change log so the coverage report can explain *why* structure changed.
2. Read `outline/mapping.tsv` and compute per-H3 coverage and reuse hotspots.
3. If `papers/paper_notes.jsonl` exists, summarize evidence levels (fulltext/abstract/title) for mapped papers.
4. If `outline/subsection_briefs.jsonl` exists, compute axis specificity (generic vs specific axes) per H3.
5. Optionally use `GOAL.md` to flag obvious scope drift (keywords not reflected in outline).
6. Write `outline/coverage_report.md` and append a run record to `outline/outline_state.jsonl`.

## Freeze policy

- If `outline/coverage_report.refined.ok` exists, the script will not overwrite `outline/coverage_report.md`.

## Script

### Quick Start

- `uv run python .codex/skills/outline-refiner/scripts/run.py --help`
- `uv run python .codex/skills/outline-refiner/scripts/run.py --workspace <workspace>`

### 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`:
  - `uv run python .codex/skills/outline-refiner/scripts/run.py --workspace <workspace>`

## Troubleshooting

### Issue: report is missing evidence-level or axis-specificity columns

**Cause**:
- Optional inputs are missing (no `papers/paper_notes.jsonl` and/or no `outline/subsection_briefs.jsonl`).

**Fix**:
- Run `paper-notes` and/or `subsection-briefs`, then rerun `outline-refiner`.

Files in this skill

  • SKILL.md3.5 KB
  • scripts/run.py12.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.