Skip to content
Back to skills

Rewrite Rubric

ASecurity

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

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 2, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned October 2, 2026

npx -y skills add Folken2/nuvel --skill rewrite-rubric --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rewrite Rubric?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rewrite Rubric
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/folken2-rewrite-rubric/badge)](https://www.skillsdirectory.com/skills/folken2-rewrite-rubric)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rewrite-rubric
description: How to rewrite a selected passage per the user's instruction without silently expanding scope, breaking length, or losing quoted material
when_to_use: The user asks to "rewrite this", "fix this", "tighten this", "make this clearer", "make this more formal", "fix the typo", or otherwise applies an edit to the currently-selected text. Also fires when the user pastes a passage with an edit instruction.
---

# 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.