Build per-chapter (H2) writing briefs (NO PROSE) so the final survey reads like a paper (chapter leads + cross-H3 coherence) without inflating the ToC.
synthesis_preview (1–2 bullets; how the chapter will synthesize across H3 without template-y “Taken together…”)
throughline (3–6 bullets)
key_contrasts (2–6 bullets; pull from each H3 contrast_hook when available)
lead_paragraph_plan (2–3 bullets; plan only, not prose)
Each bullet should be chapter-specific and mention concrete handles (axes / contrast hooks / evaluation lens).
Avoid generic glue like "Para 1: introduce the chapter" without naming what is being compared.
bridge_terms (5–12 tokens; union of H3 bridge terms)
How C5 uses this (chapter lead contract)
The writer uses outline/chapter_briefs.jsonl to draft sections/S<sec_id>_lead.md (body-only; no headings).
Contract (paper-like, no new facts):
Preview the chapter’s comparison axes (2–3) and how the H3s connect; do not restate the table of contents.
Reuse key_contrasts / bridge_terms as handles (not templates) so the chapter reads coherent without repeating "Taken together" everywhere.
Keep it grounded (>=2 citations later in C5; do not invent new papers here).
Workflow
(Optional) Read GOAL.md to pin scope/audience, and inject that constraint into the chapter throughline.
Read outline/outline.yml and list H2 chapters that have H3 subsections.
Read outline/subsection_briefs.jsonl and group briefs by section_id.
For each chapter, produce:
a throughline: what the whole chapter is trying to compare/explain
key contrasts: 2–6 contrasts that span multiple H3s
a synthesis_mode: enforce synthesis diversity across chapters (avoid repeating the same closing paragraph shape)
a lead paragraph plan: 2–3 paragraph objectives (what the chapter lead must do)
a bridge_terms set to keep terminology stable across H3s
Write outline/chapter_briefs.jsonl.
Quality checklist
One record per H2-with-H3 chapter.
No placeholders (TODO/…/(placeholder)/template instructions).
throughline and key_contrasts are chapter-specific (not copy/paste generic).
lead_paragraph_plan bullets explicitly preview 2–3 comparison axes and how the H3 subsections partition them (no generic chapter-intro boilerplate).
Script
Quick Start
uv run python .codex/skills/chapter-briefs/scripts/run.py --help
uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace>
All Options
--workspace <dir>
--unit-id <U###>
--inputs <semicolon-separated>
--outputs <semicolon-separated>
--checkpoint <C#>
Examples
Default IO:
uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace>
Explicit IO:
uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace> --inputs "outline/outline.yml;outline/subsection_briefs.jsonl;GOAL.md" --outputs "outline/chapter_briefs.jsonl"
Refinement marker (recommended; prevents churn)
When you are satisfied with chapter briefs, create:
outline/chapter_briefs.refined.ok
This is an explicit "I reviewed/refined this" signal:
prevents scripts from regenerating and undoing your work
(in strict runs) can be used as a completion signal to avoid silently accepting a bootstrap scaffold
Notes
This helper is a bootstrap; refine manually if needed.
1---2name: chapter-briefs3description: Build per-chapter (H2) writing briefs (NO PROSE) so the final survey reads like a paper (chapter leads + cross-H3 coherence) without inflating the ToC.4---56# Chapter Briefs (H2 writing cards) [NO PROSE]78## Triggers & routing910- **Trigger**: chapter briefs, H2 briefs, chapter lead plan, section intent, 章节意图, 章节导读, H2 卡片.11- **Use when**: `outline/outline.yml` + `outline/subsection_briefs.jsonl` exist and you want thicker chapters (fewer headings, more logic).121314Purpose: turn each **H2 chapter that contains H3 subsections** into a chapter-level writing card so the writer can:15- add a chapter lead paragraph block (coherence)16- keep a consistent comparison axis across the chapter17- avoid “8 small islands” where every H3 restarts from scratch1819This artifact is **internal intent**, not reader-facing prose.2021Why this matters for writing quality:22- Chapter briefs prevent the "paragraph island" failure mode: without a throughline, each H3 restarts and repeats openers.23- Treat `throughline` and `lead_paragraph_plan` as decision constraints, not copyable sentences.2425## Inputs2627- `outline/outline.yml`28- `outline/subsection_briefs.jsonl`29- Optional: `GOAL.md`3031## Outputs3233- `outline/chapter_briefs.jsonl`3435## Output format (`outline/chapter_briefs.jsonl`)3637JSONL (one object per H2 chapter that has H3 subsections).3839Required fields:40- `section_id`, `section_title`41- `subsections` (list of `{sub_id,title}` in outline order)42- `synthesis_mode` (one of: `clusters`, `timeline`, `tradeoff_matrix`, `case_study`, `tension_resolution`)43- `synthesis_preview` (1–2 bullets; how the chapter will synthesize across H3 without template-y “Taken together…”)44- `throughline` (3–6 bullets)45- `key_contrasts` (2–6 bullets; pull from each H3 `contrast_hook` when available)46- `lead_paragraph_plan` (2–3 bullets; plan only, not prose)47 - Each bullet should be chapter-specific and mention concrete handles (axes / contrast hooks / evaluation lens).48 - Avoid generic glue like "Para 1: introduce the chapter" without naming what is being compared.49- `bridge_terms` (5–12 tokens; union of H3 bridge terms)5051## How C5 uses this (chapter lead contract)5253The writer uses `outline/chapter_briefs.jsonl` to draft `sections/S<sec_id>_lead.md` (body-only; no headings).5455Contract (paper-like, no new facts):56- Preview the chapter’s comparison axes (2–3) and how the H3s connect; do not restate the table of contents.57- Reuse `key_contrasts` / `bridge_terms` as *handles* (not templates) so the chapter reads coherent without repeating "Taken together" everywhere.58- Keep it grounded (>=2 citations later in C5; do not invent new papers here).5960## Workflow61620. (Optional) Read `GOAL.md` to pin scope/audience, and inject that constraint into the chapter throughline.631. Read `outline/outline.yml` and list H2 chapters that have H3 subsections.642. Read `outline/subsection_briefs.jsonl` and group briefs by `section_id`.653. For each chapter, produce:66 - a **throughline**: what the whole chapter is trying to compare/explain67 - **key contrasts**: 2–6 contrasts that span multiple H3s68 - a **synthesis_mode**: enforce synthesis diversity across chapters (avoid repeating the same closing paragraph shape)69 - a **lead paragraph plan**: 2–3 paragraph objectives (what the chapter lead must do)70 - a **bridge_terms** set to keep terminology stable across H3s714. Write `outline/chapter_briefs.jsonl`.7273## Quality checklist7475- [ ] One record per H2-with-H3 chapter.76- [ ] No placeholders (`TODO`/`…`/`(placeholder)`/template instructions).77- [ ] `throughline` and `key_contrasts` are chapter-specific (not copy/paste generic).78- [ ] `lead_paragraph_plan` bullets explicitly preview 2–3 comparison axes and how the H3 subsections partition them (no generic chapter-intro boilerplate).7980## Script8182### Quick Start8384- `uv run python .codex/skills/chapter-briefs/scripts/run.py --help`85- `uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace>`8687### All Options8889- `--workspace <dir>`90- `--unit-id <U###>`91- `--inputs <semicolon-separated>`92- `--outputs <semicolon-separated>`93- `--checkpoint <C#>`9495### Examples9697- Default IO:98 - `uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace>`99- Explicit IO:100 - `uv run python .codex/skills/chapter-briefs/scripts/run.py --workspace <workspace> --inputs "outline/outline.yml;outline/subsection_briefs.jsonl;GOAL.md" --outputs "outline/chapter_briefs.jsonl"`101102### Refinement marker (recommended; prevents churn)103104When you are satisfied with chapter briefs, create:105- `outline/chapter_briefs.refined.ok`106107This is an explicit "I reviewed/refined this" signal:108- prevents scripts from regenerating and undoing your work109- (in strict runs) can be used as a completion signal to avoid silently accepting a bootstrap scaffold110111### Notes112113- This helper is a bootstrap; refine manually if needed.
Run npx skillmds add willoscar/chapter-briefs in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Build per-chapter (H2) writing briefs (NO PROSE) so the final survey reads like a paper (chapter leads + cross-H3 coherence) without inflating the ToC. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: executes scripts. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
WILLOSCAR (@willoscar) published this skill. Their other Agent Skills are listed on their SkillMD profile.