Agent skill
subsection-briefs
Build per-subsection writing briefs (NO PROSE) so later drafting is driven by evidence and checkable comparison axes (not outline placeholders). **Trigger**: subsection briefs, writing cards, intent cards, H3 briefs, scope_rule, axes, clusters, 写作意图卡, 小节卡片, 段落计划. **Use when**: `outline/outline.yml` + `outline/mapping.tsv` + `papers/paper_notes.jsonl` exist and you want section-by-section drafting without template leakage. **Skip if**: `outline/subsection_briefs.jsonl` already exists and is refined (no placeholders/ellipsis; axes+clusters+paragraph_plan are filled). **Network**: none. **Guardrail**: NO PROSE; do not invent papers; only reference `paper_id`/`bibkey` that exist in `papers/paper_notes.jsonl`.
Install this agent skill to your Project
npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/subsection-briefs
SKILL.md
Subsection Briefs
Build deterministic H3 brief cards from outline + mapping + paper notes.
Compatibility mode is active: this skill keeps the current outline/subsection_briefs.jsonl field contract and paragraph-plan shape while moving phrase/domain logic into references/ and assets/.
Quick Use
- Run
scripts/run.pyas the deterministic materializer. - Keep the output NO PROSE: subsection-scoped plans, axes, clusters, and bridge handles only.
- Preserve current downstream compatibility for
transition-weaver,writer-context-pack, andsubsection-writer.
Load Order
Always read:
references/overview.md
Read by task:
- If
thesisfeels repetitive or copyable, readreferences/thesis_patterns.md. - If
tension_statementis too generic, readreferences/tension_patterns.md. - If axes are weak or domain-biased, read
references/axis_catalog_generic.mdandreferences/axis_catalog_llm_agents.md. - If transition handles feel bland, read
references/bridge_terms.md. - For calibration, read
references/examples_good.md.
Machine-readable assets:
assets/phrase_packs/thesis_patterns.jsonassets/phrase_packs/bridge_contrast.jsonassets/domain_packs/generic.jsonassets/domain_packs/llm_agents.jsonassets/domain_packs/embodied_ai.jsonassets/domain_packs/text_to_image.json
The script loads these packs first; patch them before changing Python when the issue is phrasing, domain routing, axis inventory, cluster purity, or lexical bridge coverage.
Inputs
outline/outline.ymloutline/mapping.tsvpapers/paper_notes.jsonl- Optional:
GOAL.md - Optional:
outline/claim_evidence_matrix.md
Output
outline/subsection_briefs.jsonl
Required record shape remains compatibility-preserving:
- identity:
sub_id,title,section_id,section_title - planning core:
rq,thesis,scope_rule,axes,bridge_terms,contrast_hook,tension_statement - evidence hooks:
evaluation_anchor_minimal,required_evidence_fields,clusters - execution plan:
paragraph_plan,evidence_level_summary,generated_at
What run.py Should Do
- Read outline, mapping, and notes.
- Normalize subsection seeds from outline bullets.
- Load thesis/tension/domain-axis packs from
assets/. - Produce stable JSONL records with the existing contract.
What run.py Should Not Do
- Do not invent papers, citations, or claims.
- Do not emit reader-facing narrative prose.
- Do not hardcode domain-specific sentence templates when an asset pack can hold them.
Block / Reroute
- If outline, mapping, or notes are missing, stop.
- If evidence is thin, keep
thesis/tension_statementconservative and let downstream evidence skills strengthen the subsection. - If contrast clusters collapse into overlapping paper pools, reroute before writing: after removing bridge papers, each side should still retain at least 2 unique papers.
- Use
bridge_termsto surface concrete lexical handles that later evidence/ranking stages can still match (OOD,sim-to-real,world model,failure detector, specific benchmark families), not only generic axis names. - Prefer domain-pack
cluster_rulesover ad-hoc bootstrap overlaps when the mapped set is already large enough to support disjoint clusters. - Do not “fix” thin evidence by inventing more specific axes or stronger claims.
Execution notes
When running in compatibility mode, scripts/run.py currently reads:
outline/outline.ymlfor section/subsection structureoutline/mapping.tsvfor paper-to-subsection coveragepapers/paper_notes.jsonlfor structured evidenceGOAL.mdfor topic/domain cuesoutline/claim_evidence_matrix.mdas optional supporting context when present
Script
Quick Start
python .codex/skills/subsection-briefs/scripts/run.py --workspace <workspace_dir>
All Options
--workspace <dir>--unit-id <id>--inputs <a;b;...>--outputs <a;b;...>--checkpoint <C*>
Examples
python .codex/skills/subsection-briefs/scripts/run.py --workspace workspaces/<ws>
Troubleshooting
- If the wrong domain pack is selected, inspect
GOAL.mdand the asset packs before changing the script. - If briefs sound too generic, adjust the phrase/domain packs instead of adding more Python prose.
- If
papers/paper_notes.jsonlis thin, reroute to note extraction rather than inventing axes.
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?