mcpbeat

Paragraph Curator

willoscar/paragraph-curator

| Deterministically compact final H3 bodies to the active delivery profile's paragraph budget without deleting prose or changing citation-block order.

2k tokens
context cost
the whole folder, loaded on every use
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
496
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill paragraph-curator

What comes with it

7 086 bytes besides the instruction
scripts/run.py

The instruction itself

6 sections, as written by the author

Paragraph Curator

Compact paragraph boundaries without performing a new semantic rewrite.

This is a deterministic convergence step. It prevents a long drafting loop from

leaving sections outside the delivery profile, while keeping the original prose

and evidence recoverable. It does not rank paragraphs, generate alternatives,

replace evidence, or decide which claims are important.

Inputs

  • sections/S<subsection-id>.md
  • queries.md for draft_profile
  • upstream logic and writer reports for operator context

Only H3 files are modified. Front matter (S1.md, S2.md), H2 lead files, and

global sections are not touched.

Profile Contract

| Profile | Paragraphs per H3 |

|---|---:|

| course_paper | 5-7 |

| survey | 10-12 |

| deep | 11-13 |

The script first joins short adjacent body paragraphs while respecting the

profile floor. If a section remains over budget, it repeatedly joins the

shortest eligible adjacent pair. It never truncates a paragraph or drops a

middle block.

Outputs

  • updated H3 files under sections/
  • output/PARAGRAPH_CURATION_REPORT.md
  • sections/paragraphs_curated.refined.ok on PASS

The report records the active profile and before/after paragraph counts for

each H3. PASS requires every H3 to be within budget and the sequence of

citation blocks to be unchanged. On FAIL, the marker is removed.

Boundaries

  • If an H3 is below the floor, route to subsection-writer or the relevant

evidence unit. Compaction must not invent padding.

  • If prose is repetitive or logically weak, route to writer-selfloop or

section-logic-polisher. This Skill changes paragraph boundaries, not ideas.

  • Run argument-selfloop after this Skill so the argument ledger and section

manifest describe the final section content.

Run

uv run python .codex/skills/paragraph-curator/scripts/run.py \
  --workspace workspaces/<name>

Optional runner fields are --unit-id, --inputs, --outputs, and

--checkpoint.

How to use it

Copy the folder

Take willoscar/paragraph-curator from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.