Agent skill
subsection-polisher
Polish a single H3 unit file under `sections/` into survey-grade prose (de-template + contrast/eval/limitation), without changing citation keys. **Trigger**: subsection polisher, per-subsection polish, polish section file, 小节润色, 去模板, 结构化段落. **Use when**: `sections/S*.md` exists but reads rigid/template-y; you want to fix quality locally before `section-merger`. **Skip if**: subsection files are missing, evidence packs are incomplete, or `Approve C2` is not recorded. **Network**: none. **Guardrail**: do not invent facts/citations; do not add/remove citation keys; keep citations within the same H3; keep citations subsection-scoped.
Install this agent skill to your Project
npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/subsection-polisher
SKILL.md
Subsection Polisher (local, pre-merge)
Purpose: upgrade one sections/S<sub_id>.md (H3 body-only) so it reads like survey prose before you merge into output/DRAFT.md.
This is intentionally local: fix one unit at a time, rerun gates, and converge without rewriting the whole paper.
Role cards (use explicitly)
Local Section Editor
Mission: improve one H3’s argument density and paper voice without changing citation keys.
Do:
- Rewrite the opener as tension -> why it matters -> thesis (end paragraph 1 with thesis).
- Add explicit contrasts and one evaluation anchor when missing.
- Add a subsection-specific limitation that changes interpretation.
Avoid:
- Adding/removing citation keys or moving citations across subsections.
- Replacing content with generic boilerplate.
Evidence Steward (stop padding)
Mission: prevent polishing from turning into invention when evidence is thin.
Do:
- If you cannot write a contrast or evaluation anchor without guessing, stop and route upstream.
Avoid:
- Strengthening claims beyond what the existing citations can support.
Role prompt: Local Section Editor (one H3 at a time)
You are editing one survey subsection to make it read like paper prose.
Your goal is to remove generator voice and strengthen argument moves without changing citation keys:
- opener: tension + why-it-matters + thesis (no narration)
- add explicit contrasts and an evaluation anchor if missing
- make at least one cross-paper synthesis paragraph (>=2 citations)
- add a subsection-specific limitation (not boilerplate)
Constraints:
- do not add/remove citation keys
- do not invent facts
- keep scope local to this H3
Inputs
- Target file:
sections/S<sub_id>.md(H3 body-only) - Preferred context:
outline/writer_context_packs.jsonl - Fallback context:
outline/subsection_briefs.jsonl+outline/evidence_drafts.jsonl citations/ref.bib
Output
- Updated
sections/S<sub_id>.md(same path; citation keys unchanged)
Non-negotiables (contract)
- Citation keys are immutable: do not add/remove any
[@BibKey]markers. - Scope is immutable: keep all citations within this H3’s allowed scope (
outline/evidence_bindings.jsonl/ writer packallowed_bibkeys_*). - No invented facts: if you cannot write a concrete contrast or evaluation anchor without guessing, stop and fix upstream evidence.
- Body-only: no headings;
section-mergeradds headings.
Target quality (what “polished” means)
A polished H3 reads like an argument, not a topic list:
- Paragraph 1 ends with a thesis (conclusion-first takeaway) and does not use narration templates.
- At least two explicit contrasts (A vs B) using contrast words.
- At least one evaluation anchor paragraph (task/benchmark + metric + constraint/budget/tool access when relevant).
- At least one cross-paper synthesis paragraph with >=2 citations in the same paragraph.
- At least one limitation/caveat tied to protocol mismatch / missing details / unclear threat model (not boilerplate).
Paper voice constraints (high signal anti-patterns)
Delete / rewrite these (they read like a generator):
- Outline narration:
This subsection ...,In this subsection, we .... - Slide navigation:
Next, we move ...,We now turn to ...,In the next section .... - Meta guidance:
survey synthesis/comparisons should .... - Evidence-policy disclaimer spam: repeated
abstract-only/title-only/provisionalboilerplate inside H3. - Count-based slot openers: repeated "Two limitations..." / "Three takeaways..." used as paragraph starters.
Prefer these (paper voice):
- Content-first openers:
A central tension is ...,In practice, ...,One recurring pattern is .... - Argument bridges (not navigation):
This contrast matters because ...,These assumptions shape .... - Embedded citations as evidence (no trailing dump tags).
Workflow (one subsection)
- Load the subsection contract
- Read this subsection’s pack in
outline/writer_context_packs.jsonl. - If the pack is missing/thin, fall back to
outline/subsection_briefs.jsonl(thesis/tension/paragraph_plan) +outline/evidence_drafts.jsonl(comparisons/eval/limitations). - Extract (write down, not in the prose):
tension_statement+thesis- 2–3
comparison_cardsyou will use for A-vs-B contrasts - 1
evaluation_anchor_minimal(task/metric/constraint) - 1 limitation hook from the evidence pack
- Preflight (kept out of the final prose)
- Draft 4 one-line sentences:
- Tension
- Contrast (A vs B; >=2 citations)
- Evaluation anchor (task/metric/constraint)
- Limitation
If you cannot write these without guessing, stop and push the gap upstream (
paper-notes/evidence-draft).
- Opener rewrite (paragraph 1)
- Remove narration openers.
- Write: 1–2 sentences tension/decision/lens + 1 sentence why it matters + end with the thesis.
Bad:
This subsection surveys tool interfaces for agents.
Better:
A central tension in tool interfaces is balancing expressive action spaces with verifiable execution; interface contracts largely determine which evaluation claims are meaningful.
- Paragraph pass (argument moves > listing)
- Rewrite paragraph-by-paragraph using the
grad-paragraphmicro-structure: - Best-of-2 rewrite (recommended): when a paragraph feels slot-like, draft 2 candidate rewrites and keep the one with clearer argument move + less template cadence (citations unchanged).
- tension → contrast → evaluation anchor → limitation
- Ensure you include:
-
=2 explicit contrasts (not “A then B” summaries)
-
=1 evaluation anchor paragraph
-
=1 cross-paper synthesis paragraph (>=2 citations)
-
=1 limitation paragraph/clause that is subsection-specific
-
- Citation embedding pass (no dumps)
- Rewrite paragraphs where citations appear only at the end as
[@a; @b; @c]. - Ensure every citation key you keep is defined in
citations/ref.bib.
Bad (dump):
Many systems adopt tool schemas. [@a; @b; @c]
Better (cite-as-evidence):
Systems such as X [@a] and Y [@b] formalize tool schemas to reduce action ambiguity, whereas Z [@c] keeps the interface looser and shifts the burden to validation.
- Rhythm + de-template pass
- Vary paragraph openings; avoid repeating the same synthesis stem across many paragraphs (especially
Taken together). - Delete empty glue sentences that don’t add a claim, contrast, protocol detail, or limitation.
- Recheck (do not skip)
- Run
section-logic-polisherand address FAILs (thesis + connector density) without changing citation keys. - Rerun
writer-selfloop(or the strict quality gate) and fix only what the report flags.
Rewrite recipes (common failure -> fix)
Use these as rewrite intentions, not copy-paste templates.
- Narration opener -> content claim
This subsection surveys ...->A central tension is ...; this matters because ...(end paragraph 1 with the thesis).
- Slide navigation -> argument bridge
Next, we move from planning to memory.->Planning specifies how decisions are made; memory determines what information those decisions can reliably condition on under a fixed protocol.
- Disclaimer spam -> one policy paragraph + local caveat only
- Delete repeated
abstract-only evidenceboilerplate. - Keep evidence policy once in Intro/Related Work; in H3, only add a local caveat when it changes the interpretation of a specific comparison.
- Meta “survey should” -> literature-facing observation
Therefore, survey comparisons should control for tool access.->Across reported protocols, tool access and budget assumptions vary widely, making head-to-head comparison fragile unless those constraints are normalized.
- Too-vague quantitative claim -> add minimal context (or weaken)
- If a paragraph keeps a number, add: task type / metric definition / constraint (budget/cost/tool access) in the same paragraph and keep the citation embedded.
- If the context is unknown from the evidence pack, rewrite the claim as qualitative and mark the missing field as a verification target (without boilerplate).
Stop conditions (when polishing is the wrong move)
Stop and go upstream if:
- you cannot write a contrast without guessing (evidence pack is title/abstract-only)
- the subsection lacks evaluation anchors (no benchmarks/metrics/protocol details in notes)
- you keep needing out-of-scope citations to make the argument work
Acceptance checklist
- Paragraph 1 ends with a thesis (no narration templates).
- >=2 explicit contrasts, >=1 evaluation anchor, >=1 synthesis paragraph (>=2 citations), >=1 limitation.
- No slide-like navigation / meta guidance / repeated evidence-policy boilerplate.
- No citation-dump paragraphs; citations are embedded in claim sentences.
-
section-logic-polisherandwriter-selfloopno longer flag this file.
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?