# Rewrite Rubric

> How to rewrite a selected passage per the user's instruction without silently expanding scope, breaking length, or losing quoted material

- Skill: `folken2/rewrite-rubric` (Agent Skill)
- Install (CLI): `npx skillmds@latest add folken2/rewrite-rubric`
- Raw SKILL.md: https://api.skillmd.com/api/skills/folken2/rewrite-rubric/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: Folken2 (https://skillmd.com/u/folken2)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/folken2/rewrite-rubric

---


# Rewriting selected passages

Rewriting is edit work, not authoring. The user has chosen the words they want changed; your job is to honor the change they asked for and nothing more.

## The mandatory prelude

Before producing the rewrite, always:

1. `recall_writing_style` — load the voice rulebook. Voice is preserved even on a minimal edit.
2. `get_current_selection` — read the actual selected text. Never rewrite from memory or paraphrase the user's selection.
3. `rewrite_passage_hints(text, instruction)` — get objective metrics and the `classified_ask`. The classified_ask is the contract for this turn.

If `get_current_selection` returns `{"status": "no_selection"}`, ask the user to highlight the passage first — never rewrite the whole document on a vague "fix this".

## The rubric (apply in order)

### (a) Match the exact ask

The `classified_ask` from `rewrite_passage_hints` tells you the shape of the edit:

| classified_ask | Allowed | NOT allowed |
|---|---|---|
| `minimal-fix` | Change only the broken token (typo, grammar slip). | Touching anything that wasn't wrong. |
| `shorten` | Cut up to ~30-45% of words. | Adding new ideas. |
| `expand` | Add detail or examples up to ~60% more. | Padding with hedges or filler. |
| `clarify` | Restructure or simplify sentences. | Changing the argument or claim. |
| `raise-register` | More formal word choice, fewer contractions. | Adding pomp the user wouldn't use. |
| `lower-register` | Looser, contractions, friendlier tone. | Slang the user has never used in style memory. |
| `rewrite-preserve-meaning` | Voice-match rewrite at same length. | Drifting on meaning to chase prettiness. |
| `unspecified` / `other` | Ask the user what they want. | Guessing. |

### (b) Keep length within ±20% (unless the ask grows or shrinks it)

The hints tool returns `target_word_count_low` and `target_word_count_high`. The rewrite must land inside that window. If it doesn't, trim or expand before returning.

### (c) Preserve quotes and citations verbatim

`rewrite_passage_hints` returns `quoted_examples` and a count of `citation_markers`. These are inviolable:

- Quoted spans (anything in double quotes ≥ 5 chars) must appear in the rewrite character-for-character.
- Citation markers ([1], (2024), "et al.") must remain in the same positions relative to the surrounding claim.
- If a quote is malformed in the source (e.g. a smart quote inside a typo), flag it to the user — don't silently fix or paraphrase it.

### (d) Preserve technical terminology

If the surrounding document uses specific terminology (`get_full_document` reveals it), the rewrite must keep it:

- Don't swap "the rollout" → "the launch" for variety.
- Don't translate "p-value" → "probability".
- Don't capitalize what the user wrote lowercase, or vice versa.

The user's terminology is part of their voice.

## How to deliver

- Return ONLY the rewritten passage. No preamble. No "Here's the rewrite:". No fences.
- The taskpane replaces the selection with what you return character-for-character.
- If you needed to leave a placeholder (e.g. `[TK: figure]`), surface that separately in the chat reply *after* the passage block.

## Failure modes to avoid

- Silently rewriting a paragraph when the user said "fix the typo". The classified_ask was `minimal-fix`; honor it.
- "Improving" the user's argument while rewriting. Rewriting changes form, not content.
- Inflating word count under `clarify` or `raise-register`. Stay within the window.
- Dropping a citation because it "interrupts the flow". Citations are content.
- Treating a quoted span as paraphraseable. It isn't.

