Agent skill
chapter-briefs
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. **Trigger**: chapter briefs, H2 briefs, chapter lead plan, section intent, 章节意图, 章节导读, H2 卡片. **Use when**: `outline/outline.yml` + `outline/subsection_briefs.jsonl` exist and you want thicker chapters (fewer headings, more logic). **Skip if**: the outline is still changing heavily (fix outline/mapping first). **Network**: none. **Guardrail**: NO PROSE; do not invent papers; only reference subsection ids and already-mapped papers.
Install this agent skill to your Project
npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/chapter-briefs
SKILL.md
Chapter Briefs (H2 writing cards) [NO PROSE]
Purpose: turn each H2 chapter that contains H3 subsections into a chapter-level writing card so the writer can:
- add a chapter lead paragraph block (coherence)
- keep a consistent comparison axis across the chapter
- avoid “8 small islands” where every H3 restarts from scratch
This artifact is internal intent, not reader-facing prose.
Why this matters for writing quality:
- Chapter briefs prevent the "paragraph island" failure mode: without a throughline, each H3 restarts and repeats openers.
- Treat
throughlineandlead_paragraph_planas decision constraints, not copyable sentences.
Inputs
outline/outline.ymloutline/subsection_briefs.jsonl- Optional:
GOAL.md
Outputs
outline/chapter_briefs.jsonl
Output format (outline/chapter_briefs.jsonl)
JSONL (one object per H2 chapter that has H3 subsections).
Required fields:
section_id,section_titlesubsections(list of{sub_id,title}in outline order)synthesis_mode(one of:clusters,timeline,tradeoff_matrix,case_study,tension_resolution)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 H3contrast_hookwhen 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_termsas 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.mdto pin scope/audience, and inject that constraint into the chapter throughline. - Read
outline/outline.ymland list H2 chapters that have H3 subsections. - Read
outline/subsection_briefs.jsonland group briefs bysection_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). -
throughlineandkey_contrastsare chapter-specific (not copy/paste generic). -
lead_paragraph_planbullets explicitly preview 2–3 comparison axes and how the H3 subsections partition them (no generic chapter-intro boilerplate).
Script
Quick Start
python .codex/skills/chapter-briefs/scripts/run.py --helppython .codex/skills/chapter-briefs/scripts/run.py --workspace workspaces/<ws>
All Options
--workspace <dir>--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>
Examples
- Default IO:
python .codex/skills/chapter-briefs/scripts/run.py --workspace workspaces/<ws>
- Explicit IO:
python .codex/skills/chapter-briefs/scripts/run.py --workspace workspaces/<ws> --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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
thesis-compile-review
对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。
front-matter-writer
Write the survey's front matter files (Abstract, Introduction, Related Work, Discussion, Conclusion) in paper voice, with high citation density and a single evidence-policy paragraph. **Trigger**: front matter writer, introduction writer, related work writer, abstract writer, discussion writer, conclusion writer, 引言, 相关工作, 摘要, 讨论, 结论. **Use when**: you are in C5 (prose allowed) and need the paper-like shell to stop the draft reading like stitched subsections. **Skip if**: `Approve C2` is missing in `DECISIONS.md`, or `citations/ref.bib` is missing. **Network**: none. **Guardrail**: no invented facts/citations; no pipeline jargon in final prose; no repeated evidence disclaimers; only use keys present in `citations/ref.bib`.
thesis-question-list
维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。
novelty-matrix
Create a novelty/prior-work matrix comparing the submission’s contributions against related work (overlaps vs deltas). **Trigger**: novelty matrix, prior-work matrix, overlap/delta, 相关工作对比, 新颖性矩阵. **Use when**: peer review 中评估 novelty/positioning,需要把贡献与相关工作逐项对齐并写出差异点证据。 **Skip if**: 缺少 claims(先跑 `claims-extractor`)或你不打算做新颖性定位分析。 **Network**: none (retrieval of additional related work is out-of-scope unless provided). **Guardrail**: 明确 overlap 与 delta;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。
protocol-writer
Write a systematic review protocol into `output/PROTOCOL.md` (databases, queries, inclusion/exclusion, time window, extraction fields). **Trigger**: protocol, PRISMA, systematic review, inclusion/exclusion, 检索式, 纳入排除. **Use when**: systematic review pipeline 的起点(C1),需要先锁定 protocol 再开始 screening/extraction。 **Skip if**: 不是做 systematic review(或 protocol 已经锁定且不允许修改)。 **Network**: none. **Guardrail**: protocol 必须包含可执行的检索与筛选规则;需要 HUMAN 签字后才能进入 screening。
rubric-writer
Write a rubric-based peer review report (`output/REVIEW.md`) using extracted claims and evidence gaps (novelty/soundness/clarity/impact). **Trigger**: rubric review, referee report, peer review write-up, 审稿报告, REVIEW.md. **Use when**: peer-review pipeline 的最后阶段(C3),已有 `output/CLAIMS.md` + `output/MISSING_EVIDENCE.md`(以及可选 novelty matrix)。 **Skip if**: 上游产物未就绪(claims/evidence gaps 缺失)或你不打算输出完整审稿报告。 **Network**: none. **Guardrail**: 给可执行建议(actionable feedback),并覆盖 novelty/soundness/clarity/impact;避免泛泛而谈。
Didn't find tool you were looking for?