| name | fix |
| description | Review a piece of writing for misreadings and then apply the rewrites — fixing the flagged phrases in place while keeping the meaning and the author's voice. Use when the user says "fix the wording", "rewrite this so it can't be misread", "clean this up", "apply those suggestions", or asks subtext to edit rather than just report. Changes text — always shows the diff and gets a go-ahead before writing to a file. |
| allowed-tools | Read, Edit, Write, Task |
| disable-model-invocation | false |
| user-invocable | true |
| model | opus |
| effort | high |
subtext — fix
Find the misreadings, then repair them. This is /subtext:review plus applying
the rewrites — but only to the flagged phrases, and only after a check that each
rewrite actually preserves the meaning.
Step 1 — Review
Run the review pipeline in
../review/SKILL.md: establish goal / audience / stakes,
find candidate misreadings across the seven lenses, and verify each with the
misread-verifier agent. If a review was already produced for this exact text
earlier in the conversation, reuse those confirmed findings instead of
re-running.
Fix the findings that clear the stakes-scaled severity bar (the same bar the
review skill reports at). Skip low-severity findings unless the user asked for a
thorough pass or the stakes are high.
Step 2 — Rewrite the flagged phrases only
For each finding to fix, write one replacement for just that phrase. The
rewrite must:
- remove the misreading the finding named,
- keep the denotation — the literal, intended meaning does not change,
- keep the voice — match the register, warmth, and rhythm of the surrounding
text; do not flatten a warm note into corporate neutral or vice versa,
- stay local — change only the flagged span. Do not rewrite adjacent
sentences that were not flagged, do not restructure the whole text, do not
"improve" things nobody asked about. Scope creep is how a fix tool loses trust.
Where the fix is inherently non-local (e.g. a cumulative-tone finding from the
goal-alignment lens that no single phrase owns), make the smallest set of edits
that resolves it and say why it couldn't be a one-phrase change.
Step 3 — Meaning-preservation check
A rewrite that removes the misreading but quietly changes what the text says is a
worse failure than the original — the author ships something they didn't mean.
So check every rewrite before applying it. Hand the verifier agent the original
phrase and your rewrite with a preservation rubric:
- Does the rewrite still say what the original denoted (same facts, same
commitment, same ask)?
- Is the named misreading actually gone from the rewrite?
- Does the rewrite introduce any new misreading (re-run the phrase through the
lenses)?
- Does it hold the author's voice?
Keep a rewrite only if it passes all four. If it fails, revise and re-check, or
report that the phrase needs the author's judgment (some fixes are a genuine
content decision, not a wording swap — surface those instead of guessing).
Step 4 — Show the diff, then apply
- Show the user a before/after for every phrase you intend to change, grouped so
the whole set is reviewable at once.
- If the text is in a file: get a go-ahead, then apply with
Edit, changing
only the flagged spans. Editing someone's writing in place is an outward-facing,
hard-to-eyeball change — confirm before writing.
- If the text was pasted into the conversation: output the full revised text,
with a short note listing what changed and why.
Never apply silently, and never touch a span that wasn't a confirmed finding.
What this skill does not do
- It does not rewrite for style, length, or preference — only to remove named
misreadings. "Make it punchier" is a different job.
- It does not invent content. If removing a misreading requires a fact or
decision only the author has (which of two meanings did you intend?), it asks.