willoscar/subsection-writer
| Write survey prose into per-section files under `sections/` so each unit can be QA'd independently before merging.
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill subsection-writer
Purpose: write or refine per-section survey prose under sections/ while keeping the current pipeline contract unchanged.
Compatibility mode:
scripts/run.py still handles approval checks, missing-file bootstrap, and sections/sections_manifest.jsonlreferences/ instead of being encoded primarily in the scriptAlways read:
references/overview.mdreferences/paragraph_jobs.mdreferences/paragraph_job_archetypes.md when adjusting paragraph-role behavior or refactoring writer policy out of Pythonreferences/bootstrap_assembly.md when reasoning about compatibility-mode bootstrap behaviorRead as needed:
references/opener_catalog.md when paragraph 1 sounds generic or narratedreferences/contrast_moves.md when building A-vs-B comparison paragraphsreferences/eval_anchor_patterns.md when making performance / robustness / benchmark claimsreferences/limitation_moves.md when adding caveats or local conclusionsreferences/examples_good.md and references/examples_bad.md for calibration onlyMachine-readable contract:
assets/subsection_writer_context.schema.jsonassets/bootstrap_paragraph_templates.jsonassets/paragraph_job_templates.jsonRequired:
DECISIONS.md (must include Approve C2)outline/outline.ymloutline/writer_context_packs.jsonl (preferred)citations/ref.bibOptional but useful:
outline/subsection_briefs.jsonloutline/evidence_drafts.jsonloutline/evidence_bindings.jsonloutline/anchor_sheet.jsonloutline/chapter_briefs.jsonlKeep the current contract:
sections/S<sub_id>.md for H3 bodiessections/sections_manifest.jsonl, refreshed across all section files alreadyproduced by the three writer Skills
sections/h3_bodies.refined.ok after a model or human has reviewed thegenerated H3 bodies and is submitting U100 for mandatory acceptance
front-matter-writer owns Abstract, Introduction, Related Work, Discussion, and
Conclusion. chapter-lead-writer owns H2 lead blocks. This Skill reads those
files while refreshing the shared manifest but does not claim their authorship.
The active rule is move coverage, not paragraph quota.
A subsection should cover the necessary argument moves the pack supports; do not pad to a fixed count when the evidence does not justify it.
Opener / ending policy:
Use scripts/run.py as a helper only:
versioned template assets; it is inspectable fallback material, not a claim
of model authorship or final prose quality
sections/h3_bodies.refined.okdownstream writer-selfloop, so it cannot mean that the self-loop already passed
writer template assets and rejects literal residue above the Pipeline limit
writer-selfloop calls the shared strict section checker, which recomputes theH3 measure before the report can PASS
pipeline-auditor measures the entire merged draft and writes ascorecard whose verdict and dimensions the Harness projects into the
evaluation ledger
replay measures 0/226 residue for one retained Artifact set, while clean
from-scratch and cross-topic reproduction remain open
uv run python .codex/skills/subsection-writer/scripts/run.py --workspace <workspace>references/opener_catalog.md and references/examples_bad.md.references/eval_anchor_patterns.md before rewriting.When running in compatibility mode, scripts/run.py currently consumes:
DECISIONS.md for Approve C2outline/outline.yml to enumerate chapter / subsection filesoutline/writer_context_packs.jsonl as the primary drafting inputcitations/ref.bib for in-scope citationsoutline/subsection_briefs.jsonl, outline/evidence_drafts.jsonl, outline/evidence_bindings.jsonl, outline/anchor_sheet.jsonl, and outline/chapter_briefs.jsonl as optional enrichment sourcesuv run python .codex/skills/subsection-writer/scripts/run.py --workspace <workspace>--workspace <dir>--unit-id <id>--inputs <a;b;...>--outputs <a;b;...>--checkpoint <C*>uv run python .codex/skills/subsection-writer/scripts/run.py --workspace <workspace>DECISIONS.md lacks Approve C2, stop and fix approval first.outline/writer_context_packs.jsonl is thin, reroute upstream instead of padding prose.citations/ref.bib and the writer packs before editing output text.Take willoscar/subsection-writer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.