Agent skill

transition-weaver

Generate lightweight section/subsection transitions (NO NEW FACTS) to prevent “island” subsections; outputs a transition map that merging/writing can weave in. **Trigger**: transition weaver, weave transitions, coherence, 过渡句, 承接句, 章节连贯性. **Use when**: `outline/subsection_briefs.jsonl` exists and you want coherent flow before/after drafting (typically Stage C5). **Skip if**: `outline/transitions.md` exists and is refined (no placeholders). **Network**: none. **Guardrail**: do not add new factual claims or citations; transitions may only refer to titles/RQs/bridge terms already present in briefs.

Stars 377
Forks 25

Install this agent skill to your Project

npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/transition-weaver

SKILL.md

Transition Weaver (LLM-first; NO NEW FACTS)

Purpose: produce a small, low-risk “transition map” so adjacent subsections do not read like islands.

This skill is intentionally low-risk and deterministic:

  • the script writes outline/transitions.md from adjacent subsection titles + brief bridge handles
  • the generated transitions stay paper-safe and avoid adding new facts or citations

Transitions should answer:

  • what the previous unit established
  • what gap/tension remains
  • why the next unit follows

Injection contract (treat transitions as draft text)

outline/transitions.md is not planning notes: section-merger injects it into output/DRAFT.md. So each transition line must be safe to read as paper prose.

Format contract (for merge insertion):

  • Only lines matching - 3.1 -> 3.2: <text> are inserted by default (within-chapter H3 -> next H3).
  • Keep <text> as one sentence without list formatting.

Notes:

  • Use the ASCII arrow -> (not a unicode arrow) to avoid invisible/control-character encoding issues.
  • section-merger accepts both -> and for backward compatibility, but -> is the preferred contract.

Hard rules:

  • Write the transition sentence as final prose: content-bearing, not process-bearing.
  • No planner-talk openers: avoid stems like "To keep ...", "The remaining uncertainty is ...", "setting up a cleaner ...".
  • No slash-list axis labels (A / B / C; planning/memory). Rewrite using natural prose.
  • Keep it short: one sentence is preferred; rarely two.
  • Avoid semicolon-heavy multi-clause construction notes.

Rewrite triggers (if you see these, rewrite):

  • "To keep ..." / "We next focus on ..." / "The remaining uncertainty is ..."
  • "as the comparison lens" / "reference point" / "to make the next trade-offs easier to interpret"

Role prompt: Linker (coherence without narration)

text
You are the coherence linker for a survey.

Your job is to write short, content-bearing transitions between adjacent subsections:
- restate what was established (one clause)
- name the remaining tension/gap (one clause)
- justify why the next subsection is the right lens (one clause)

Style:
- argument bridge, not navigation
- no “Now we discuss / Next we move / In this section…”
- no semicolon planning notes

Constraints:
- NO NEW FACTS
- NO citations
- only reuse handles that already exist (titles, RQs, bridge_terms)

Style targets (paper-like, still NO NEW FACTS):

  • Prefer argument bridges: content-bearing sentences, not outline narration.
  • Keep it short (often 1 sentence).
  • Avoid title narration once merged: do not write “From Section A to Section B”.
  • Avoid “Now we discuss / Next we introduce / In this section we ...”.

CRITICAL: Transitions must be real content sentences, NOT construction notes.

  • Bad: “After X, Y makes the bridge explicit via …; …; setting up a cleaner A-vs-B comparison.”
  • Good: “While loop design determines what actions are possible, tool interfaces define how those actions are grounded in executable APIs and orchestration policies.”

Also avoid (reads like axis/planning notes once merged):

  • Slash-list axis labels (e.g., A/B/C, planning/memory); rewrite using natural prose (and/or).

Inputs

  • outline/outline.yml (ordering + titles)
  • outline/subsection_briefs.jsonl (expects rq and optional bridge_terms/contrast_hook)

Output

  • outline/transitions.md (used by section-merger; keep paper voice)

Workflow (NO NEW FACTS)

  1. Read outline/outline.yml to determine adjacency (which H3 follows which).
  2. Read outline/subsection_briefs.jsonl to extract each subsection’s rq and any bridge handles (bridge_terms, contrast_hook).
  3. For each boundary, write 1–2 transition sentences:
  • no new facts
  • no citations
  • no explicit “we organize this section as …” meta narration
  • no placeholders (TODO, , <!-- SCAFFOLD -->)
  1. Write outline/transitions.md.

Role cards (use explicitly)

Linker (argument bridge)

Mission: write short, content-bearing transitions without narration.

Do:

  • Restate what was established (one clause).
  • Name the remaining tension/gap (one clause).
  • Justify why the next unit follows (one clause).

Avoid:

  • Title narration ("From X to Y") and slide navigation ("Now we turn").
  • Semicolon planning notes or meta commentary.

Skeptic (template killer)

Mission: delete anything that reads like construction notes.

Do:

  • Remove generic transitions that could fit any subsection.
  • Force subsection-specific nouns from titles/RQs/bridge terms.

Avoid:

  • Smuggling new facts into transitions.

Script (generator + validation)

You usually do not run this manually; it exists so a pipeline runner can deterministically generate and validate the artifact.

Quick Start

  • python .codex/skills/transition-weaver/scripts/run.py --workspace workspaces/<ws>

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; default validates outline/transitions.md)
  • --checkpoint <C#>: checkpoint id (optional; for logs)

Examples

  • Validate after you write outline/transitions.md:
    • python .codex/skills/transition-weaver/scripts/run.py --workspace workspaces/<ws>

Troubleshooting

Issue: transitions read like templates

Fix:

  • Ensure subsection briefs include subsection-specific bridge signals (bridge_terms / contrast_hook).
  • Rewrite the transitions to mention those handles (as content, not as axis-label lists).

Note: between-H2 transitions

By default, section-merger inserts within-chapter H3->H3 transitions only (more paper-like). If you want between-H2 transitions inserted too, create outline/transitions.insert_h2.ok in the workspace.

Expand your agent's capabilities with these related and highly-rated skills.

WILLOSCAR/research-units-pipeline-skills

thesis-compile-review

对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

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`.

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

thesis-question-list

维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

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;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

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。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

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;避免泛泛而谈。

377 25
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results