Fit Page Limit
Two sides of the same problem: a paper that is over the limit and needs
careful cuts, or a paper that is under and needs useful substance rather
than filler. This skill maps the draft section by section, then gives the author
a prioritized plan for whichever direction they need.
It coordinates with polish-prose for sentence-level
tightening, refactor-structure for larger
reorganization, polish-tables-figures for
visual layout, and preflight-check when the
page limit comes from a venue rule. Run it after the draft is roughly complete.
When to use
- The draft is over the limit and the author needs to know where the bulk is.
- The draft is under the target length and the author wants to use space well.
- The author asks for a length map: "where is all my length going?"
Inputs
- The
.tex source.
- The real compiled page count, if available, to calibrate the estimate.
- The target: a venue page limit or a length the author names.
- The venue CFP or profile, if the target comes from a venue.
Process
Map the length. Run the analyzer from this skill directory; do not
eyeball where the pages went.
python3 scripts/section_budget.py paper.tex --target-pages 10 --current-pages 11
It reports per-section words, percentage of the paper, estimated pages, and
the over/under gap. --current-pages calibrates words per page to the
author's actual compile. Use --json for machine-readable output.
Confirm what counts. Re-verify the venue's limit and exclusions against
the live CFP before relying on appendix moves or excluded sections. A stale
page limit can desk-reject the paper.
Pick the right branch. Use
references/resize-tactics.md to turn the
map into a value-aware resize plan.
If over: compress value-aware, never blind
Rank sections by compressibility x low impact, and cut there first:
- Redundancy: the same point repeated in the intro, method, and conclusion.
- Over-long related work: condense paragraph-per-paper prose into clusters
that state only the delta that matters.
- Verbose method/setup: tighten with
polish-prose; cut walkthroughs a
figure already shows.
- Move, do not delete: push proofs, extra results, or implementation detail
to an appendix only when the venue excludes it.
- Figures/tables: resize, merge subfigures, or drop a redundant baseline
column with
polish-tables-figures.
Protect contributions, headline results, and every citation. Present estimated
savings per cut and let the author approve before editing. Never delete a
result, claim, or reference to hit a number.
If under: expand with substance
A short, complete paper can be fine; say so. If there is real room to strengthen
it, suggest substance: a missing ablation, deeper error analysis, limitations
or threats to validity, clearer motivation, a worked example, or a related-work
gap. Flag suggestions that would merely pad. Hand drafting to the writing
skills.
Output
A length map and prioritized resize plan:
- Over: ranked cut list, estimated savings, and protected material.
- Under: substantive additions ranked by value.
Write durable outputs to the user's local paper-workspace/writing/ directory
when a workspace exists. The skill recommends and explains; the author decides
and edits.
Guardrails
- Never delete results, claims, or citations to fit.
- Never pad to fill.
- Page numbers are estimates; tell the author to compile and check the real
count.
- Re-verify venue limits and exclusions against the live CFP before advising
appendix moves.
- Copilot, not pilot: propose the plan; the author approves and edits.
Memory
Uses the shared .paper-memory/ convention documented by
paper-profile.
- At start: read
lessons.md for recurring overspend patterns, such as
"related work always runs long".
- At end: append `date - fit-page-limit - over/under - where the length went
- what was cut/added` after deduping.
- Create
.paper-memory/ on demand in the user's paper directory. It is local
only and should usually be ignored by git.
1---2name: fit-page-limit3description: Helps a paper hit its target length: recommends exactly what to compress when it is over the page limit, or what to add with substance when it is too short. Use when a researcher says "I'm over the page limit", "compress my paper", "what should I cut", "trim two pages", "my paper is too long", "help me fit NeurIPS's limit", "my paper is too short", "I have space left, what should I add", or "where is all my length going". Runs a section-by-section length analysis, then gives a prioritized, value-aware plan: which low-value sections to condense or move to an appendix, while protecting contributions, results, and citations, or which thin sections to develop. Never deletes evidence to fit and never pads to fill. Trigger words: page limit, compress, trim, cut down, too long, too short, over the limit, fit the limit, what to cut, what to add.4---56# Fit Page Limit78Two sides of the same problem: a paper that is **over** the limit and needs9careful cuts, or a paper that is **under** and needs useful substance rather10than filler. This skill maps the draft section by section, then gives the author11a prioritized plan for whichever direction they need.1213It coordinates with [`polish-prose`](../polish-prose/SKILL.md) for sentence-level14tightening, [`refactor-structure`](../refactor-structure/SKILL.md) for larger15reorganization, [`polish-tables-figures`](../polish-tables-figures/SKILL.md) for16visual layout, and [`preflight-check`](../preflight-check/SKILL.md) when the17page limit comes from a venue rule. Run it after the draft is roughly complete.1819## When to use2021- The draft is over the limit and the author needs to know where the bulk is.22- The draft is under the target length and the author wants to use space well.23- The author asks for a length map: "where is all my length going?"2425## Inputs2627- The `.tex` source.28- The real compiled page count, if available, to calibrate the estimate.29- The target: a venue page limit or a length the author names.30- The venue CFP or profile, if the target comes from a venue.3132## Process33341. **Map the length.** Run the analyzer from this skill directory; do not35 eyeball where the pages went.3637 ```bash38 python3 scripts/section_budget.py paper.tex --target-pages 10 --current-pages 1139 ```4041 It reports per-section words, percentage of the paper, estimated pages, and42 the over/under gap. `--current-pages` calibrates words per page to the43 author's actual compile. Use `--json` for machine-readable output.44452. **Confirm what counts.** Re-verify the venue's limit and exclusions against46 the live CFP before relying on appendix moves or excluded sections. A stale47 page limit can desk-reject the paper.48493. **Pick the right branch.** Use50 [references/resize-tactics.md](references/resize-tactics.md) to turn the51 map into a value-aware resize plan.5253### If over: compress value-aware, never blind5455Rank sections by **compressibility x low impact**, and cut there first:5657- **Redundancy**: the same point repeated in the intro, method, and conclusion.58- **Over-long related work**: condense paragraph-per-paper prose into clusters59 that state only the delta that matters.60- **Verbose method/setup**: tighten with `polish-prose`; cut walkthroughs a61 figure already shows.62- **Move, do not delete**: push proofs, extra results, or implementation detail63 to an appendix only when the venue excludes it.64- **Figures/tables**: resize, merge subfigures, or drop a redundant baseline65 column with `polish-tables-figures`.6667Protect contributions, headline results, and every citation. Present estimated68savings per cut and let the author approve before editing. Never delete a69result, claim, or reference to hit a number.7071### If under: expand with substance7273A short, complete paper can be fine; say so. If there is real room to strengthen74it, suggest substance: a missing ablation, deeper error analysis, limitations75or threats to validity, clearer motivation, a worked example, or a related-work76gap. Flag suggestions that would merely pad. Hand drafting to the writing77skills.7879## Output8081A length map and prioritized resize plan:8283- **Over**: ranked cut list, estimated savings, and protected material.84- **Under**: substantive additions ranked by value.8586Write durable outputs to the user's local `paper-workspace/writing/` directory87when a workspace exists. The skill recommends and explains; the author decides88and edits.8990## Guardrails9192- Never delete results, claims, or citations to fit.93- Never pad to fill.94- Page numbers are estimates; tell the author to compile and check the real95 count.96- Re-verify venue limits and exclusions against the live CFP before advising97 appendix moves.98- Copilot, not pilot: propose the plan; the author approves and edits.99100## Memory101102Uses the shared `.paper-memory/` convention documented by103[`paper-profile`](../paper-profile/references/paper-memory-convention.md).104105- **At start:** read `lessons.md` for recurring overspend patterns, such as106 "related work always runs long".107- **At end:** append `date - fit-page-limit - over/under - where the length went108 - what was cut/added` after deduping.109- Create `.paper-memory/` on demand in the user's paper directory. It is local110 only and should usually be ignored by git.