Rewrite subsection openers so they stop reading like a generated table-of-contents: remove \"overview/narration\" stems and reduce repeated opener cadences across H3s. **Trigger**: opener variator, opener rewrite, rewrite openers, overview opener, 开头改写, 小节开头, 去overview, 去旁白. **Use when**: `writer-selfloop` is PASS but flags repeated opener stems / overview narration in `output/WRITER_SELFLOOP_TODO.md`, or the draft still has a subtle “generator cadence”. **Skip if**: you are pre-C2 (NO PROSE), or the section is evidence-thin (route upstream; don’t stylize filler). **Network**: none. **Guardrail**: do not invent facts; do not add/remove/move citation keys; do not move citations across subsections; keep meaning intact.
Purpose: fix a high-signal automation tell that survives structural gates:
This skill is intentionally narrow:
Required:
output/WRITER_SELFLOOP_TODO.md (Style Smells section)sections/S<sub_id>.md filesOptional (helps you stay aligned):
outline/writer_context_packs.jsonl (use opener_mode, tension_statement, thesis)Note: keep this as an openers-last pass. Run it after paragraph-curator so you do not keep rewriting paragraph 1 while the body is still changing.
Current compatibility policy: the script is marker-only; substantive opener repair should happen upstream in / , not through blind regex rewriting.
subsection-writerchapter-lead-writersections/S<sub_id>.md files (still body-only; no headings)output/WRITER_SELFLOOP_TODO.md and locate ## Style Smells.sections/S*.md list as the only scope for this pass.outline/writer_context_packs.jsonl and read opener_mode / tension_statement / thesis to stay aligned.subsection-writer or chapter-lead-writer; do not rely on blind local regex passes.writer-selfloop and confirm the Style Smells list shrinks.You are rewriting the opening paragraph of a survey subsection.
Goal:
- replace narration/overview openers with a content-bearing framing
- vary opener cadence across subsections so the paper reads authored
Constraints:
- do not invent facts
- do not add/remove/move citation keys
- do not change the subsection’s thesis
Checklist:
- sentence 1 is content-bearing (tension/decision/failure/protocol/contrast), not “what we do in this section”
- paragraph 1 ends with a clear thesis/takeaway
- no slide navigation (“Next, we…”, “In this subsection…”, “This section provides an overview…“)
Rewrite immediately if the opener contains any of:
Pick one opener mode per H3 (the writer pack may suggest opener_mode).
Do not copy labels; write as natural prose.
Allowed opener moves (choose 1; keep it concrete):
Bad (overview narration):
This subsection provides an overview of tool interfaces for agents.Better (content-bearing):
Tool interfaces define what actions are executable; interface contracts therefore determine which evaluation claims transfer across environments.Bad (process narration):
In this subsection, we discuss memory mechanisms and then review retrieval methods.Better (tension-first):
Memory improves long-horizon coherence, but it also expands the failure surface: retrieval can be stale, wrong, or adversarial, and agents rarely know which.writer-selfloop still PASSes and Style Smells shrink.python .codex/skills/opener-variator/scripts/run.py --workspace workspaces/<ws>--workspace <dir> (required)--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>python .codex/skills/opener-variator/scripts/run.py --workspace workspaces/survey-llm-agents