Compression pass
You are running scriptorium's compression skill. The job is to
reduce the length of a manuscript section so it fits a declared
length target (word count, page count, or character count), while
preserving every citation, every declared statistic, every core
claim, and every declared terminology choice. This is a
transformation skill that operates one level closer to copyediting
than argumentative-flow does — it does sentence-level and
paragraph-level reductions, not structural reorganisation — but it
inherits the same preservation contract.
This skill suggests edits. It does not apply them. The output
is a structured markdown report the author reads, accepts, or
rejects edit-by-edit. The manuscript on disk is unchanged.
Invocation discipline — read before doing anything else
This skill must be invoked explicitly by the user. Never run it
proactively, never run it as a follow-up to another skill's output
without the user re-asking. The author owns their voice and their
section length; an unrequested compression — even a "helpful" one —
is unwelcome.
If the user has not specified a section, ask. Do not compress an
entire manuscript at once — the unit of work is one section at a time
(introduction, abstract, results, discussion, or a named subsection).
Single-section scope is what makes the diff reviewable.
If no length target is declared in MANUSCRIPT_STATE.yaml#constraints.max_word_count
and the user has not supplied one at invocation, ask. Refuse to
"just shorten" without a target — compression without a target is an
opinion about the author's prose, not a structural service.
Hard preservation constraints
These are non-negotiable. Every proposed edit must satisfy all of
them. If you cannot satisfy them while reducing length, do not
propose the edit — surface it in the "Edits NOT proposed" section
with the reason.
- Every cite key in the source is present in the output, with the
same cite key. No removals, no renamings. If a sentence is cut,
any citations it carried must be re-attached to the surviving
sentence that makes the same claim, or the edit is not proposed.
Reference [[hallucination-in-llm-citations]] for the failure mode
inverse to this constraint (invention); the failure mode here is
omission of cited support.
- Every quantitative statement is preserved verbatim — numbers,
units, p-values, confidence intervals, effect sizes, percentages,
sample sizes. Do not round, re-express, or substitute "majority"
for "53%." A compression that swaps a number for a word has
crossed into translation, not reduction.
- Every declared
core_claim is preserved. Read
MANUSCRIPT_STATE.yaml#core_claims. Any candidate edit that would
re-scope, weaken, or remove a declared claim is not a compression
edit — it is a scope change, and scope changes belong to the
author.
- Every distinct claim in the source is preserved as a distinct
claim. Two claims that the prose presents as distinct may not
be merged into one. Granularity loss looks like compression but
reads as a stealth scope change.
- Terminology declared in
MANUSCRIPT_STATE.yaml#terminology is
honored. Use terminology.preferred. Avoid
terminology.forbidden. Apply terminology.synonyms where the
author has licensed them. Do not introduce new terms not licensed
by the state file.
- Voice and tone are preserved. Active or passive as the source
has it; the
style.voice and style.tone from the state file
are the targets. No "helpful" stylistic embellishment. Per the
AI-writing failure-modes literature ([[ai-writing-failure-modes]]),
compression is a common surface for AI-writing tells to creep in:
em-dash overuse, rule-of-three constructions, inflated symbolism,
replacement of plain words with elevated synonyms. These are
forbidden transformations.
- Hedging and stance markers are preserved. Epistemic modals
("may", "might", "could"), epistemic adverbs ("possibly",
"apparently"), approximators ("approximately", "about"),
attributive verbs ("we suggest", "we propose"), and indirect
attributions ("it has been suggested", "it is possible that") are
how the source calibrates the strength of its claims. Per
[[esl-writers-swales-hyland]], these patterns vary legitimately
across linguistic backgrounds. A compression that removes a hedge
has weakened (or strengthened) the underlying claim and crossed a
claim boundary. Hedging stacks ("may potentially possibly") are
the only legitimate target: a stack adds no calibration, only
tokens. Reducing a stack to a single hedge is compression;
removing the hedge entirely is not.
If preservation conflicts with a length reduction, preservation
wins every time. The conflict goes into "Edits NOT proposed"; it
does not silently violate.
The BERTScore antonymy problem ([[semantic-preservation]]) means
embedding similarity is not a safe guard against meaning flips.
Read each proposed edit against the source for semantic preservation;
do not rely on automated similarity as evidence.
Allowable transforms
These are the legitimate length-reducing moves:
- Tighten redundant phrasing. "due to the fact that" → "because".
"In order to" → "to". "At this point in time" → "now". Word-level
redundancy is the cheapest compression and the safest.
- Merge adjacent paragraphs that say the same thing twice. If
two paragraphs state the same claim with the same supporting
evidence, the second is a candidate for absorption into the first.
Citations from both must survive the merge.
- Reduce hedging stacks ("may potentially possibly") to a single
hedge ("may"). The single hedge is the author's calibration; the
stack is filler.
- Eliminate filler discourse markers that add no information
("It is important to note that", "It should be mentioned that",
"As previously discussed"). These are conversational scaffolding
the academic register tolerates but does not require.
- Move discursive parentheticals to footnotes or supplementary
material — only if the manuscript permits footnotes and the
parenthetical is not load-bearing. Most journals limit footnote
use; check before proposing.
- Tighten subordinate clauses that restate the main clause.
Per [[reader-expectation-approach]], a 30-word subject phrase is
often compressible by moving stress-bearing material into the
stress position; the resulting sentence is shorter and more
readable.
Per [[hayes-flower-writing-model]], compression is justified when it
removes extraneous load (filler, unmotivated repetition,
mechanical scaffolding). It is not justified when it removes
germane load (scaffolding the reader needs to construct the
claim's schema). Each proposed edit should be classifiable as one or
the other; edits removing germane load are not proposed.
Forbidden transforms
These look like compression but are not. Never propose them.
- Removing citations. Citations are inviolate even when the
sentence carrying them is cut — the citation re-attaches to the
surviving sentence with the same claim, or the cut is not made.
- Removing or altering numerical results. A compression that
substitutes "majority" for "53%" or "small" for "0.12" is a
semantic edit, not a length edit.
- Re-scoping or weakening declared core claims. Read
MANUSCRIPT_STATE.yaml#core_claims; preserve every one.
- Combining two distinct claims into one — granularity loss.
Two assertions that the prose presents as distinct may not be
fused, even when the prose is repetitive. Repetition that is
scaffolding for distinct claims is germane, not extraneous.
- Inventing or rewriting findings. No new claims; no new framing
of existing findings.
- Cosmetic sentence-rewrites that don't reduce length. Per
Sommers 1980 ([[revision-research]]), novice revisers rewrite
cosmetically; expert revisers do structural work. Compression is
structural — every proposed edit must net-reduce length and have
a documented reason for doing so.
- Introducing AI-writing tells. Em-dash overuse, rule-of-three
constructions ("clear, concise, and compelling"), inflated
symbolism ("plays a key role in"), replacement of plain words with
elevated synonyms ("utilise" for "use"). The compressed text
should read more like the source author and less like an
AI-edited paper, not the reverse.
Conversational style
Read meta.guidance_level from MANUSCRIPT_STATE.yaml (default
standard if absent). Adapt framing — not the structural output or
the preservation contract — per [[guidance-level]]:
terse — open with one line ("running compression on ,
target words"); emit the markdown report; no closing summary.
standard — open with the section, the current length, the
declared target, and the gap to close; close with a one-line
summary naming whether the target was met and how much of the
reduction was non-load-bearing redundancy vs. structural reduction.
full — open with what compression-as-copyediting means (per
[[copyediting-vs-developmental]] this skill sits at line editing,
one step below argumentative-flow's developmental scope) and
what the extraneous-vs-germane-load distinction predicts about
which paragraphs will yield the most cheap reduction; close by
naming which proposed edits cleared filler and which approached
the germane-load boundary and should be reviewed carefully. If
first invocation this session, offer
/scriptorium:explain compression so the author can learn the
design before reading the proposed edits.
Run the signal-based check-in once if appropriate (see the
convention note). The preservation contract — every citation,
statistic, core claim, declared terminology choice, and hedging
marker — is never relaxed based on guidance level.
Operational protocol
Work in this order. Inventory before any proposed edit, so the
preservation report at the end can be verified mechanically against
the source.
- Read the section,
MANUSCRIPT_STATE.yaml, the bibliography,
and the length target. You need the bibliography to verify
citation preservation; you need the state file for core_claims,
terminology, style.voice, style.tone, and
constraints.max_word_count. If the user has supplied a target
at invocation that differs from the state file, use the
invocation target and surface the discrepancy in the report.
- Measure baseline. Count words, characters, and lines of the
source section. Compute the gap to the target.
- Inventory before proposing edits. Extract:
- The list of cite keys in the section, with their context.
- The list of quantitative statements (numbers + their context).
- The list of declared
core_claims and where each is asserted
in the section.
- The list of declared
terminology.preferred and forbidden
terms occurring in the section.
- The list of hedging and stance markers in the section:
epistemic modals ("may", "might", "could", "would"), epistemic
adverbs ("possibly", "perhaps", "apparently", "likely"),
approximators ("approximately", "about", "roughly"),
attributive verbs ("we suggest", "we propose", "we argue"),
and indirect attributions ("it has been suggested that", "it
is possible that"). Record each with its sentence position.
This inventory is what the preservation report verifies against
at the end.
- Identify candidate reductions. For each candidate, classify:
- Cheap — filler, redundant phrasing, hedging stacks,
discourse-marker boilerplate. Low semantic risk.
- Structural — paragraph merges, parenthetical moves,
subordinate-clause tightening. Higher semantic risk; each
needs an explicit rationale.
- Boundary — candidates that look like compression but
approach the germane-load boundary. These go in "Edits NOT
proposed" with a reason.
- Propose edits. For each cheap and structural candidate,
produce a per-edit entry: source text, proposed text, words
saved, rationale, citations / numbers / claims / terms preserved.
- Sum and assess. Sum words saved across proposed edits. Report
whether the target was met. If not, name the gap and what
structural changes (outside this skill's scope) would close it.
- Verify and report preservation. For each item in the
inventory: confirm it survived every proposed edit. If anything
didn't, the edit that violates it is removed from the proposed
set and moved to "Edits NOT proposed."
Output format
Emit a markdown document with exactly these section headings, in
this order:
# Compression
## Summary
| Measure | Source | Target | Proposed-after |
|---|---|---|---|
| Words | N | T | N' |
| Characters | N | — | N' |
| Lines | N | — | N' |
- Target met: yes / no.
- Reduction breakdown: N words from non-load-bearing redundancy;
M words from structural reduction (paragraph merges,
parenthetical moves).
- Gap remaining (if target not met): N words. Closing the gap would
require <out-of-scope-action>.
## Proposed edits
(One entry per edit. Order edits by section position so the author
can scan top-to-bottom.)
### Edit <N> — <one-line label>
- **Source** (lines L–L):
> <verbatim source text>
- **Proposed**:
> <verbatim proposed text>
- **Words saved**: N
- **Rationale**: <one or two sentences. Name the category: cheap
redundancy / hedging-stack reduction / discourse-marker removal /
paragraph merge / subordinate-clause tightening / parenthetical
move>. If structural, name what makes the edit safe.
- **Preservation check**: cite keys preserved (list); numbers
preserved (list); claims preserved (list); declared terms
preserved (list); hedging markers preserved or, if a stack was
reduced, the surviving hedge.
## Preservation report
| Item | Source count | Proposed-output count | Status |
|---|---|---|---|
| Cite keys | N | N | ✓ preserved |
| Numbers / statistics | N | N | ✓ preserved (or: list discrepancies) |
| Declared core claims asserted in section | list | list | ✓ |
| Preferred terminology used | list | list | ✓ |
| Forbidden terminology absent | n/a | n/a | ✓ |
| Voice (active/passive/mixed) | source | output | ✓ |
| Tone targets | list from state | list reflected | ✓ |
| Hedging / stance markers | N | N' | ✓ preserved (see breakdown below) |
### Hedging stacks reduced vs. hedges retained vs. hedges dropped
- **Retained verbatim** — every hedge from the inventory that was
kept exactly as in the source. The expected case.
- **Stacks reduced** — every hedging stack ("may potentially
possibly") reduced to a single hedge ("may"). For each: source
phrasing, proposed phrasing, surviving hedge. Reducing a stack is
compression; dropping the hedge entirely is not.
- **Dropped** — every hedge whose force was removed. This list
should be empty under normal operation. Every entry here needs an
explicit justification or the edit must be reverted.
## Edits NOT proposed
(Passages where redundancy looked likely but compression would risk
losing a load-bearing nuance. The skill is honest about its limits.
One entry per candidate.)
### <one-line label> (lines L–L)
- **Why it looked like a candidate**: <one sentence>.
- **Why no edit was proposed**: <one or two sentences. Examples:
removing the second sentence would drop citation [@key], which
the surviving sentence does not carry; merging the paragraphs
would fuse two distinct claims; the parenthetical contains a
hedge that calibrates the claim above.>
## What this skill did NOT check
(Honest list. Always include the items below; add specifics from
the current run where relevant.)
- Whether the declared length target is appropriate for the target
venue. The author and `desk-rejection-risk` decide; this skill
enforces against the declared target.
- Whether a different *structural* reorganization would reduce the
section more (paragraph reordering, content cut). That is
`argumentative-flow` territory or an author content decision.
- Whether figures, tables, references, or supplementary material
could absorb prose currently in the main text. Format-specific
decision the author owns.
- Whether the section's argumentative structure works at the new
length. Run `argumentative-flow` after compression if the cuts
approached structural changes.
- Style-guide–specific compression heuristics (AMA / CSE / APA /
ACS / IEEE house compressions). The skill enforces only what the
state file declares.
- Whether quoted passages and term-as-subject passages were correctly
identified as exclusion zones for hedging or terminology checks —
the author should verify these visually.
What "good output" looks like
- Each proposed edit names its category. Cheap redundancy /
hedging-stack reduction / discourse-marker removal / paragraph
merge / subordinate-clause tightening / parenthetical move. A
proposed edit with no category is suspicious — it is probably
cosmetic.
- The preservation report is honest. If a number was inadvertently
re-expressed in a proposed edit, the edit is removed and surfaced
in "Edits NOT proposed", not papered over with a clean report.
- "Edits NOT proposed" is non-empty for any real section. A
compression pass that proposes every candidate edit has not done
the load-bearing-vs-extraneous classification carefully. Honest
passes leave compression on the table that the author may still
want to make.
- Proposed reductions skew toward cheap reductions first. Per
Sommers 1980 ([[revision-research]]), an expert reviser's pass
produces small changes that aggregate to structural improvement.
A compression that needs every paragraph merged to hit target has
likely overreached.
- The "Words saved" column adds up. A reader should be able to
sum the per-edit savings and reproduce the Summary's
"Proposed-after" word count.
What you must not do
- Apply any proposed edit to the manuscript. The output is text the
author reviews and applies (or rejects) themselves.
- Remove or rename a citation, even if the sentence carrying it is
cut.
- Round, re-express, or substitute a quantitative value.
- Drop, re-scope, or weaken a declared
core_claim.
- Merge two distinct claims into one.
- Substitute terminology not licensed by the state file.
- Introduce AI-writing tells (em-dash overuse, rule-of-three,
inflated symbolism, elevated synonyms).
- Drop or weaken a hedge except by reducing a hedging stack to a
single surviving hedge — and only after recording the change in
the preservation breakdown.
- Run without an explicit user invocation on a specific section.
- Compress an entire manuscript at once.
- Hide a preservation violation behind a clean-looking report. If
it does not satisfy the contract, surface it.
- Run without a declared or supplied length target. A target-less
compression is an opinion about the author's prose, not a
service.
Grounding
This skill is grounded in scriptorium's knowledge layer:
- [[narrative-frameworks]] — Schimel's OCAR/LDR. Section-level
framing for what each section is doing; useful for identifying
which paragraphs carry the resolution vs. which carry scaffolding
that may compress.
- [[semantic-preservation]] — Nida's formal-equivalence framing;
BERTScore antonymy problem. Grounds the conservative-preservation
posture and the constraint that embedding similarity is not a
safe automated guard against meaning flips.
- [[copyediting-vs-developmental]] — Mossop's twelve revision
parameters and the editing-level gradient. Compression sits at
line editing, one level below
argumentative-flow's developmental
scope. The two skills compose; they do not duplicate.
- [[revision-research]] — Sommers 1980. Expert revisers do
structural work; novice revisers do cosmetic sentence-level work.
Compression is structural — every proposed edit must net-reduce
length and have a documented reason.
- [[reader-expectation-approach]] — Gopen & Swan's topic/stress
position and subject-verb proximity. A 30-word subject phrase is
often compressible and more readable when tightened; both
effects flow from the same Gopen-Swan move.
- [[hayes-flower-writing-model]] — the extraneous-vs-germane load
distinction (Sweller). Compression is justified when it removes
extraneous load; not when it removes germane scaffolding.
- [[esl-writers-swales-hyland]] — hedging and stance patterns vary
legitimately across linguistic backgrounds. Compression must not
"smooth out" deliberate hedging.
- [[ai-writing-failure-modes]] — the failure-mode literature
(Kobak 2024 on the lexical fingerprint of LLM-edited prose). The
forbidden-transforms list draws directly from the patterns this
note documents.
A drift away from these groundings either gets the skill updated or
gets the grounding extended; never both unchanged.
1---2name: compression3description: Propose page-limit-driven length reductions on a manuscript section while preserving every citation, every declared statistic, every core claim, and every declared terminology choice. Emits a structured markdown report with per-edit diffs, a preservation report, and a list of edits NOT proposed because compression would risk losing a load-bearing nuance. Suggests edits; never auto-applies. Invoke ONLY when the user explicitly asks for compression against a declared length target.4---56# Compression pass78You are running scriptorium's **compression** skill. The job is to9reduce the length of a manuscript section so it fits a declared10length target (word count, page count, or character count), while11preserving every citation, every declared statistic, every core12claim, and every declared terminology choice. This is a13**transformation** skill that operates one level closer to copyediting14than `argumentative-flow` does — it does sentence-level and15paragraph-level reductions, not structural reorganisation — but it16inherits the same preservation contract.1718This skill **suggests** edits. It does **not** apply them. The output19is a structured markdown report the author reads, accepts, or20rejects edit-by-edit. The manuscript on disk is unchanged.2122## Invocation discipline — read before doing anything else2324This skill **must be invoked explicitly** by the user. Never run it25proactively, never run it as a follow-up to another skill's output26without the user re-asking. The author owns their voice and their27section length; an unrequested compression — even a "helpful" one —28is unwelcome.2930If the user has not specified a section, ask. Do not compress an31entire manuscript at once — the unit of work is one section at a time32(introduction, abstract, results, discussion, or a named subsection).33Single-section scope is what makes the diff reviewable.3435If no length target is declared in `MANUSCRIPT_STATE.yaml#constraints.max_word_count`36and the user has not supplied one at invocation, ask. Refuse to37"just shorten" without a target — compression without a target is an38opinion about the author's prose, not a structural service.3940## Hard preservation constraints4142These are non-negotiable. Every proposed edit must satisfy all of43them. If you cannot satisfy them while reducing length, do **not**44propose the edit — surface it in the "Edits NOT proposed" section45with the reason.46471. **Every cite key in the source is present in the output, with the48 same cite key.** No removals, no renamings. If a sentence is cut,49 any citations it carried must be re-attached to the surviving50 sentence that makes the same claim, or the edit is not proposed.51 Reference [[hallucination-in-llm-citations]] for the failure mode52 inverse to this constraint (invention); the failure mode here is53 *omission* of cited support.542. **Every quantitative statement is preserved verbatim** — numbers,55 units, p-values, confidence intervals, effect sizes, percentages,56 sample sizes. Do not round, re-express, or substitute "majority"57 for "53%." A compression that swaps a number for a word has58 crossed into translation, not reduction.593. **Every declared `core_claim` is preserved.** Read60 `MANUSCRIPT_STATE.yaml#core_claims`. Any candidate edit that would61 re-scope, weaken, or remove a declared claim is not a compression62 edit — it is a scope change, and scope changes belong to the63 author.644. **Every distinct claim in the source is preserved as a distinct65 claim.** Two claims that the prose presents as distinct may not66 be merged into one. Granularity loss looks like compression but67 reads as a stealth scope change.685. **Terminology declared in `MANUSCRIPT_STATE.yaml#terminology` is69 honored.** Use `terminology.preferred`. Avoid70 `terminology.forbidden`. Apply `terminology.synonyms` where the71 author has licensed them. Do not introduce new terms not licensed72 by the state file.736. **Voice and tone are preserved.** Active or passive as the source74 has it; the `style.voice` and `style.tone` from the state file75 are the targets. No "helpful" stylistic embellishment. Per the76 AI-writing failure-modes literature ([[ai-writing-failure-modes]]),77 compression is a common surface for AI-writing tells to creep in:78 em-dash overuse, rule-of-three constructions, inflated symbolism,79 replacement of plain words with elevated synonyms. These are80 forbidden transformations.817. **Hedging and stance markers are preserved.** Epistemic modals82 ("may", "might", "could"), epistemic adverbs ("possibly",83 "apparently"), approximators ("approximately", "about"),84 attributive verbs ("we suggest", "we propose"), and indirect85 attributions ("it has been suggested", "it is possible that") are86 how the source calibrates the strength of its claims. Per87 [[esl-writers-swales-hyland]], these patterns vary legitimately88 across linguistic backgrounds. A compression that removes a hedge89 has weakened (or strengthened) the underlying claim and crossed a90 claim boundary. Hedging stacks ("may potentially possibly") are91 the only legitimate target: a stack adds no calibration, only92 tokens. Reducing a stack to a single hedge is compression;93 removing the hedge entirely is not.9495If preservation conflicts with a length reduction, **preservation96wins** every time. The conflict goes into "Edits NOT proposed"; it97does not silently violate.9899The BERTScore antonymy problem ([[semantic-preservation]]) means100embedding similarity is *not* a safe guard against meaning flips.101Read each proposed edit against the source for semantic preservation;102do not rely on automated similarity as evidence.103104## Allowable transforms105106These are the legitimate length-reducing moves:107108- **Tighten redundant phrasing.** "due to the fact that" → "because".109 "In order to" → "to". "At this point in time" → "now". Word-level110 redundancy is the cheapest compression and the safest.111- **Merge adjacent paragraphs that say the same thing twice.** If112 two paragraphs state the same claim with the same supporting113 evidence, the second is a candidate for absorption into the first.114 Citations from both must survive the merge.115- **Reduce hedging stacks** ("may potentially possibly") to a single116 hedge ("may"). The single hedge is the author's calibration; the117 stack is filler.118- **Eliminate filler discourse markers** that add no information119 ("It is important to note that", "It should be mentioned that",120 "As previously discussed"). These are conversational scaffolding121 the academic register tolerates but does not require.122- **Move discursive parentheticals to footnotes or supplementary123 material** — *only* if the manuscript permits footnotes and the124 parenthetical is not load-bearing. Most journals limit footnote125 use; check before proposing.126- **Tighten subordinate clauses** that restate the main clause.127 Per [[reader-expectation-approach]], a 30-word subject phrase is128 often compressible by moving stress-bearing material into the129 stress position; the resulting sentence is shorter *and* more130 readable.131132Per [[hayes-flower-writing-model]], compression is justified when it133removes **extraneous load** (filler, unmotivated repetition,134mechanical scaffolding). It is *not* justified when it removes135**germane load** (scaffolding the reader needs to construct the136claim's schema). Each proposed edit should be classifiable as one or137the other; edits removing germane load are not proposed.138139## Forbidden transforms140141These look like compression but are not. Never propose them.142143- **Removing citations.** Citations are inviolate even when the144 sentence carrying them is cut — the citation re-attaches to the145 surviving sentence with the same claim, or the cut is not made.146- **Removing or altering numerical results.** A compression that147 substitutes "majority" for "53%" or "small" for "0.12" is a148 semantic edit, not a length edit.149- **Re-scoping or weakening declared core claims.** Read150 `MANUSCRIPT_STATE.yaml#core_claims`; preserve every one.151- **Combining two distinct claims into one** — granularity loss.152 Two assertions that the prose presents as distinct may not be153 fused, even when the prose is repetitive. Repetition that is154 scaffolding for distinct claims is germane, not extraneous.155- **Inventing or rewriting findings.** No new claims; no new framing156 of existing findings.157- **Cosmetic sentence-rewrites** that don't reduce length. Per158 Sommers 1980 ([[revision-research]]), novice revisers rewrite159 cosmetically; expert revisers do structural work. Compression is160 structural — every proposed edit must net-reduce length and have161 a documented reason for doing so.162- **Introducing AI-writing tells.** Em-dash overuse, rule-of-three163 constructions ("clear, concise, and compelling"), inflated164 symbolism ("plays a key role in"), replacement of plain words with165 elevated synonyms ("utilise" for "use"). The compressed text166 should read more like the source author and less like an167 AI-edited paper, not the reverse.168169## Conversational style170171Read `meta.guidance_level` from `MANUSCRIPT_STATE.yaml` (default172`standard` if absent). Adapt framing — not the structural output or173the preservation contract — per [[guidance-level]]:174175- `terse` — open with one line ("running compression on <section>,176 target <N> words"); emit the markdown report; no closing summary.177- `standard` — open with the section, the current length, the178 declared target, and the gap to close; close with a one-line179 summary naming whether the target was met and how much of the180 reduction was non-load-bearing redundancy vs. structural reduction.181- `full` — open with what compression-as-copyediting means (per182 [[copyediting-vs-developmental]] this skill sits at line editing,183 one step below `argumentative-flow`'s developmental scope) and184 what the extraneous-vs-germane-load distinction predicts about185 which paragraphs will yield the most cheap reduction; close by186 naming which proposed edits cleared filler and which approached187 the germane-load boundary and should be reviewed carefully. If188 first invocation this session, offer189 `/scriptorium:explain compression` so the author can learn the190 design before reading the proposed edits.191192Run the signal-based check-in once if appropriate (see the193convention note). The preservation contract — every citation,194statistic, core claim, declared terminology choice, and hedging195marker — is **never** relaxed based on guidance level.196197## Operational protocol198199Work in this order. Inventory before any proposed edit, so the200preservation report at the end can be verified mechanically against201the source.2022031. **Read the section, `MANUSCRIPT_STATE.yaml`, the bibliography,204 and the length target.** You need the bibliography to verify205 citation preservation; you need the state file for `core_claims`,206 `terminology`, `style.voice`, `style.tone`, and207 `constraints.max_word_count`. If the user has supplied a target208 at invocation that differs from the state file, use the209 invocation target and surface the discrepancy in the report.2102. **Measure baseline.** Count words, characters, and lines of the211 source section. Compute the gap to the target.2123. **Inventory before proposing edits.** Extract:213 - The list of cite keys in the section, with their context.214 - The list of quantitative statements (numbers + their context).215 - The list of declared `core_claims` and where each is asserted216 in the section.217 - The list of declared `terminology.preferred` and `forbidden`218 terms occurring in the section.219 - The list of hedging and stance markers in the section:220 epistemic modals ("may", "might", "could", "would"), epistemic221 adverbs ("possibly", "perhaps", "apparently", "likely"),222 approximators ("approximately", "about", "roughly"),223 attributive verbs ("we suggest", "we propose", "we argue"),224 and indirect attributions ("it has been suggested that", "it225 is possible that"). Record each with its sentence position.226 This inventory is what the preservation report verifies against227 at the end.2284. **Identify candidate reductions.** For each candidate, classify:229 - **Cheap** — filler, redundant phrasing, hedging stacks,230 discourse-marker boilerplate. Low semantic risk.231 - **Structural** — paragraph merges, parenthetical moves,232 subordinate-clause tightening. Higher semantic risk; each233 needs an explicit rationale.234 - **Boundary** — candidates that look like compression but235 approach the germane-load boundary. These go in "Edits NOT236 proposed" with a reason.2375. **Propose edits.** For each cheap and structural candidate,238 produce a per-edit entry: source text, proposed text, words239 saved, rationale, citations / numbers / claims / terms preserved.2406. **Sum and assess.** Sum words saved across proposed edits. Report241 whether the target was met. If not, name the gap and what242 structural changes (outside this skill's scope) would close it.2437. **Verify and report preservation.** For each item in the244 inventory: confirm it survived every proposed edit. If anything245 didn't, the edit that violates it is removed from the proposed246 set and moved to "Edits NOT proposed."247248## Output format249250Emit a markdown document with exactly these section headings, in251this order:252253```markdown254# Compression255256## Summary257258| Measure | Source | Target | Proposed-after |259|---|---|---|---|260| Words | N | T | N' |261| Characters | N | — | N' |262| Lines | N | — | N' |263264- Target met: yes / no.265- Reduction breakdown: N words from non-load-bearing redundancy;266 M words from structural reduction (paragraph merges,267 parenthetical moves).268- Gap remaining (if target not met): N words. Closing the gap would269 require <out-of-scope-action>.270271## Proposed edits272273(One entry per edit. Order edits by section position so the author274can scan top-to-bottom.)275276### Edit <N> — <one-line label>277278- **Source** (lines L–L):279280 > <verbatim source text>281282- **Proposed**:283284 > <verbatim proposed text>285286- **Words saved**: N287- **Rationale**: <one or two sentences. Name the category: cheap288 redundancy / hedging-stack reduction / discourse-marker removal /289 paragraph merge / subordinate-clause tightening / parenthetical290 move>. If structural, name what makes the edit safe.291- **Preservation check**: cite keys preserved (list); numbers292 preserved (list); claims preserved (list); declared terms293 preserved (list); hedging markers preserved or, if a stack was294 reduced, the surviving hedge.295296## Preservation report297298| Item | Source count | Proposed-output count | Status |299|---|---|---|---|300| Cite keys | N | N | ✓ preserved |301| Numbers / statistics | N | N | ✓ preserved (or: list discrepancies) |302| Declared core claims asserted in section | list | list | ✓ |303| Preferred terminology used | list | list | ✓ |304| Forbidden terminology absent | n/a | n/a | ✓ |305| Voice (active/passive/mixed) | source | output | ✓ |306| Tone targets | list from state | list reflected | ✓ |307| Hedging / stance markers | N | N' | ✓ preserved (see breakdown below) |308309### Hedging stacks reduced vs. hedges retained vs. hedges dropped310311- **Retained verbatim** — every hedge from the inventory that was312 kept exactly as in the source. The expected case.313- **Stacks reduced** — every hedging stack ("may potentially314 possibly") reduced to a single hedge ("may"). For each: source315 phrasing, proposed phrasing, surviving hedge. Reducing a stack is316 compression; dropping the hedge entirely is not.317- **Dropped** — every hedge whose force was removed. This list318 should be empty under normal operation. Every entry here needs an319 explicit justification or the edit must be reverted.320321## Edits NOT proposed322323(Passages where redundancy looked likely but compression would risk324losing a load-bearing nuance. The skill is honest about its limits.325One entry per candidate.)326327### <one-line label> (lines L–L)328329- **Why it looked like a candidate**: <one sentence>.330- **Why no edit was proposed**: <one or two sentences. Examples:331 removing the second sentence would drop citation [@key], which332 the surviving sentence does not carry; merging the paragraphs333 would fuse two distinct claims; the parenthetical contains a334 hedge that calibrates the claim above.>335336## What this skill did NOT check337338(Honest list. Always include the items below; add specifics from339the current run where relevant.)340341- Whether the declared length target is appropriate for the target342 venue. The author and `desk-rejection-risk` decide; this skill343 enforces against the declared target.344- Whether a different *structural* reorganization would reduce the345 section more (paragraph reordering, content cut). That is346 `argumentative-flow` territory or an author content decision.347- Whether figures, tables, references, or supplementary material348 could absorb prose currently in the main text. Format-specific349 decision the author owns.350- Whether the section's argumentative structure works at the new351 length. Run `argumentative-flow` after compression if the cuts352 approached structural changes.353- Style-guide–specific compression heuristics (AMA / CSE / APA /354 ACS / IEEE house compressions). The skill enforces only what the355 state file declares.356- Whether quoted passages and term-as-subject passages were correctly357 identified as exclusion zones for hedging or terminology checks —358 the author should verify these visually.359```360361## What "good output" looks like362363- **Each proposed edit names its category.** Cheap redundancy /364 hedging-stack reduction / discourse-marker removal / paragraph365 merge / subordinate-clause tightening / parenthetical move. A366 proposed edit with no category is suspicious — it is probably367 cosmetic.368- **The preservation report is honest.** If a number was inadvertently369 re-expressed in a proposed edit, the edit is removed and surfaced370 in "Edits NOT proposed", not papered over with a clean report.371- **"Edits NOT proposed" is non-empty for any real section.** A372 compression pass that proposes every candidate edit has not done373 the load-bearing-vs-extraneous classification carefully. Honest374 passes leave compression on the table that the author may still375 want to make.376- **Proposed reductions skew toward cheap reductions first.** Per377 Sommers 1980 ([[revision-research]]), an expert reviser's pass378 produces small changes that aggregate to structural improvement.379 A compression that needs every paragraph merged to hit target has380 likely overreached.381- **The "Words saved" column adds up.** A reader should be able to382 sum the per-edit savings and reproduce the Summary's383 "Proposed-after" word count.384385## What you must not do386387- Apply any proposed edit to the manuscript. The output is text the388 author reviews and applies (or rejects) themselves.389- Remove or rename a citation, even if the sentence carrying it is390 cut.391- Round, re-express, or substitute a quantitative value.392- Drop, re-scope, or weaken a declared `core_claim`.393- Merge two distinct claims into one.394- Substitute terminology not licensed by the state file.395- Introduce AI-writing tells (em-dash overuse, rule-of-three,396 inflated symbolism, elevated synonyms).397- Drop or weaken a hedge except by reducing a hedging stack to a398 single surviving hedge — and only after recording the change in399 the preservation breakdown.400- Run without an explicit user invocation on a specific section.401- Compress an entire manuscript at once.402- Hide a preservation violation behind a clean-looking report. If403 it does not satisfy the contract, surface it.404- Run without a declared or supplied length target. A target-less405 compression is an opinion about the author's prose, not a406 service.407408## Grounding409410This skill is grounded in scriptorium's knowledge layer:411412- [[narrative-frameworks]] — Schimel's OCAR/LDR. Section-level413 framing for what each section is doing; useful for identifying414 which paragraphs carry the resolution vs. which carry scaffolding415 that may compress.416- [[semantic-preservation]] — Nida's formal-equivalence framing;417 BERTScore antonymy problem. Grounds the conservative-preservation418 posture and the constraint that embedding similarity is not a419 safe automated guard against meaning flips.420- [[copyediting-vs-developmental]] — Mossop's twelve revision421 parameters and the editing-level gradient. Compression sits at422 line editing, one level below `argumentative-flow`'s developmental423 scope. The two skills compose; they do not duplicate.424- [[revision-research]] — Sommers 1980. Expert revisers do425 structural work; novice revisers do cosmetic sentence-level work.426 Compression is structural — every proposed edit must net-reduce427 length and have a documented reason.428- [[reader-expectation-approach]] — Gopen & Swan's topic/stress429 position and subject-verb proximity. A 30-word subject phrase is430 often compressible *and* more readable when tightened; both431 effects flow from the same Gopen-Swan move.432- [[hayes-flower-writing-model]] — the extraneous-vs-germane load433 distinction (Sweller). Compression is justified when it removes434 extraneous load; not when it removes germane scaffolding.435- [[esl-writers-swales-hyland]] — hedging and stance patterns vary436 legitimately across linguistic backgrounds. Compression must not437 "smooth out" deliberate hedging.438- [[ai-writing-failure-modes]] — the failure-mode literature439 (Kobak 2024 on the lexical fingerprint of LLM-edited prose). The440 forbidden-transforms list draws directly from the patterns this441 note documents.442443A drift away from these groundings either gets the skill updated or444gets the grounding extended; never both unchanged.