Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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, 去旁白.
.claude/skills/willoscar-opener-variator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 12% | 0% |
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)Run this targeted pass immediately after style-harmonizer and before logic polish. The deterministic script is a certification adapter: it refuses to create the marker while the latest writer-selfloop report still names flagged files or predates any sections/*.md file. Perform the semantic rewrite through this Skill or the responsible upstream writer, rerun writer-selfloop, then retry the adapter. A passing marker records the certified Section-tree SHA256.
sections/S<sub_id>.md files (still body-only; no headings)1) Open output/WRITER_SELFLOOP_TODO.md and locate ## Style Smells. 2) Treat the flagged sections/S*.md list as the only scope for this pass. 3) For each flagged file:
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.4) Rerun writer-selfloop and confirm the Style Smells list shrinks.
textYou 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.uv run python .codex/skills/opener-variator/scripts/run.py --workspace <workspace>--workspace <dir> (required)--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>uv run python .codex/skills/opener-variator/scripts/run.py --workspace workspaces/survey-llm-agents| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,877 | 5,181 | +6% | 1 | 1 | 0% | 275 | 1,488 | +441% | 0 | 0 | — |
case-02 | fail→fail | 4,810 | 5,268 | +10% | 1 | 1 | 0% | 247 | 1,491 | +504% | 0 | 0 | — |
case-03 | fail→pass | 12,158 | 5,022 | -59% | 1 | 1 | 0% | 1,980 | 2,200 | +11% | 0 | 0 | — |
case-04 | fail→pass | 9,160 | 4,398 | -52% | 1 | 1 | 0% | 1,537 | 1,918 | +25% | 0 | 0 | — |
case-05 | pass→pass | 11,713 | 3,417 | -71% | 1 | 1 | 0% | 1,928 | 1,795 | -7% | 0 | 0 | — |
case-06 | pass→pass | 7,581 | 7,445 | -2% | 1 | 1 | 0% | 1,179 | 2,487 | +111% | 0 | 0 | — |
case-07 | fail→pass | 12,001 | 5,344 | -55% | 1 | 1 | 0% | 1,821 | 2,088 | +15% | 0 | 0 | — |
case-08 | pass→pass | 10,702 | 8,635 | -19% | 1 | 1 | 0% | 1,617 | 2,496 | +54% | 0 | 0 | — |
case-09 | pass→pass | 8,144 | 6,273 | -23% | 1 | 1 | 0% | 1,212 | 2,175 | +79% | 0 | 0 | — |
case-10 | fail→fail | 8,006 | 4,298 | -46% | 1 | 1 | 0% | 1,031 | 1,851 | +80% | 0 | 0 | — |
case-11 | fail→fail | 3,839 | 3,836 | -0% | 1 | 1 | 0% | 610 | 1,717 | +181% | 0 | 0 | — |
case-12 | fail→pass | 7,552 | 7,280 | -4% | 1 | 1 | 0% | 1,204 | 2,255 | +87% | 0 | 0 | — |
case-13 | pass→pass | 10,151 | 3,240 | -68% | 1 | 1 | 0% | 1,585 | 1,785 | +13% | 0 | 0 | — |
case-14 | fail→pass | 16,559 | 8,141 | -51% | 1 | 1 | 0% | 2,220 | 2,490 | +12% | 0 | 0 | — |
case-15 | fail→pass | 14,895 | 5,255 | -65% | 1 | 1 | 0% | 2,167 | 2,024 | -7% | 0 | 0 | — |
case-16 | fail→pass | 10,272 | 6,042 | -41% | 1 | 1 | 0% | 1,427 | 2,204 | +54% | 0 | 0 | — |
case-17 | fail→fail | 6,287 | 8,799 | +40% | 1 | 1 | 0% | 905 | 2,673 | +195% | 0 | 0 | — |
case-18 | pass→pass | 7,554 | 2,490 | -67% | 1 | 1 | 0% | 1,023 | 1,583 | +55% | 0 | 0 | — |
case-19 | pass→pass | 12,989 | 3,196 | -75% | 1 | 1 | 0% | 1,816 | 1,751 | -4% | 0 | 0 | — |
case-20 | fail→pass | 8,363 | 5,557 | -34% | 1 | 1 | 0% | 1,195 | 2,130 | +78% | 0 | 0 | — |
case-21 | fail→pass | 5,011 | 4,845 | -3% | 1 | 1 | 0% | 712 | 2,032 | +185% | 0 | 0 | — |
case-22 | fail→pass | 9,460 | 4,895 | -48% | 1 | 1 | 0% | 1,362 | 2,112 | +55% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +45 percentage points is the difference between those two pass rates over the 20 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.