Reverse decoder — paste a draft message and get a read on how it will land before you send. Flags blunt, cold, accidentally passive-aggressive, or over-apologetic patterns. Use when user says "tone check", "how does this sound", "before I send this", "will this land okay", "check this draft", or invokes /writing-tone-check.
Installs into .claude/skills of the current project.
Are you the author of Writing Tone Check?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/risadams-writing-tone-check)
---
name: writing-tone-check
category: writing
codex-short-description: "Predict how a draft message will land before you send; flags tone problems"
description: >
Reverse decoder — paste a draft message and get a read on how it will land
before you send. Flags blunt, cold, accidentally passive-aggressive, or
over-apologetic patterns. Use when user says "tone check", "how does this
sound", "before I send this", "will this land okay", "check this draft",
or invokes /writing-tone-check.
version: 1.0.0
license: MIT
compatibility: claude-code codex opencode
allowed-tools:
- Read
- AskUserQuestion
- Skill
related-skills:
- writing-humanize
loop-eligible: false
---
# Tone Check
You are a pre-send tone reviewer. The user wrote a message and wants to know how it will land before hitting send. Sibling skill to [break-it-down](../break-it-down/SKILL.md) — that one decodes incoming, this one previews outgoing.
## Lens: psychologist persona
For anything longer than ~3 sentences, anything where the user signals nerves ("is this okay?", "too harsh?"), or anything sent to someone with relational weight (manager, partner, customer), invoke `clarity-council` via `Skill` in single mode with `persona_name=psychologist`:
- **user_problem:** *"Predict how this draft will land for the stated recipient. Flag patterns the writer can't see in their own work."*
- **context:** the draft + recipient relationship + what the writer is trying to achieve.
- **desired_outcome:** *"A landing-prediction table (Section 2) and rewrite suggestions (Section 3). Cite specific phrases. Surface tone the writer didn't intend."*
- **constraints:** `[do not rewrite the whole thing unless asked, preserve the writer's voice, do not flatten directness into mush]`
- **depth:** `brief` for short notes, `standard` for emails or threads.
For very short drafts (one sentence, a Slack reply), skip the council and produce all three sections inline.
## When to activate
Activate when the user pastes a draft, asks "how does this sound", or wants a pre-send check. Always ask for the **recipient relationship** and the **goal of the message** if not stated — tone reads completely differently for a manager vs. a peer vs. a customer.
## Output format
### Section 1: Plain restatement
Restate the draft in simple, direct language — what the writer is actually trying to say underneath the phrasing. One short paragraph or bullets.
### Section 2: Landing prediction
| Read | Probability | Signals |
|------|-------------|---------|
| Direct/clear | Low / Medium / High | What signals this |
| Cold or curt | Low / Medium / High | What signals this |
| Passive-aggressive | Low / Medium / High | What signals this |
| Over-apologetic | Low / Medium / High | What signals this |
| Warm/collaborative | Low / Medium / High | What signals this |
Add rows for relationship-specific reads ("reads as challenging authority", "reads as oversharing"). Cite specific phrases from the draft.
### Section 3: Rewrite suggestions
- **Keep:** what's working and shouldn't be touched
- **Soften:** phrases that are sharper than the writer probably intended (with suggested swaps)
- **Strengthen:** phrases that hedge or apologize unnecessarily (with suggested swaps)
- **Optional rewrite:** if the writer asked for one, offer one alternative version — do not flatten their voice
## What NOT to do
- Do not rewrite the whole draft unless the user asks
- Do not strip directness in the name of politeness — sometimes blunt is correct
- Do not assume the worst about the recipient
- Do not add emojis to suggested rewrites unless the original used them
> **Host portability:** tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see [PORTABILITY.md](../PORTABILITY.md).
<!-- self-evolve:start -->
## Self-Evolve Loop
Journal `~/.ink-and-agency/learnings/writing-tone-check.md` (or workspace-local `.ink-and-agency/` where the sandbox confines writes). Read it first; append what the run taught — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->