All skills

Agent skill

Writing voice

Draft and edit with your own voice in mind, with a separate pass to question the result.

Use this skill

Install it into a project with the Skills CLI, or read the files below and adapt them to your own agent.

npx skills add shan8851/agent-skills --skill writing-voice
View source on GitHub
SKILL.mdView this file on GitHub
---
name: writing-voice
description: Draft, rewrite, humanize, and critique posts/emails/announcements in the user's authentic voice. Use when the user asks "write this in my voice", wants a public or private draft that sounds like them, wants to humanize AI-ish copy, or says "run the critic on this".
---

# Writing Voice

Write like the user actually writes at their best: direct, specific, human, and never AI-polished.

## References
Always load:
- `references/voice-dna.md`
- `references/humanizer-mini.md`
- `references/critic-protocol.md`

If there is a conflict, real writing samples and live feedback win over abstract rules.

## Modes
- `draft` (default): create a fresh draft in the user's voice.
- `humanize-mini`: clean an existing draft without flattening it.
- `critic`: run the critic loop when the user says "run the critic on this".

## Workflow (draft mode)
1) Capture the minimum brief
- format (post/email/blog/thread/note/announcement)
- audience or register
- goal / CTA
- length target
- channel, if it materially affects tone or structure

If essentials are missing, ask only for the missing pieces.

2) Calibrate before writing
- read the voice DNA, especially core rules, anti-filler checklist, banned phrases, and writing samples
- follow the user's current style unless the brief clearly calls for a different register
- preserve honesty, specificity, and natural rhythm

3) Draft v1
- open with the point, scene, or tension quickly
- keep claims concrete
- trust the reader
- prefer strong prose over list spam
- do not smooth the edges into generic “professional” writing

4) Run mini humanizer pass
- use `references/humanizer-mini.md`
- keep this pass light

5) Run voice QA before sending
- banned phrases check
- false-contrast / "This isn't X. It's Y." check
- anti-filler check
- register/channel fit check
- sample match check
- ensure edits didn't sterilize personality

6) Return clean output
- default: one clean draft, no long meta commentary
- treat the first answer as v1, not sacred final copy
- if useful, append a short `Options` block with 2-3 alternative hooks or endings
- invite targeted iteration on tone, structure, examples, length, or CTA

## Critic mode
When the user says "run the critic on this", use `references/critic-protocol.md`.

Return:
- revised draft
- short critic log with round ratings and the key fixes

## Iteration protocol
Use iteration as the main calibration loop.

When feedback arrives:
- preserve the core message
- apply requested deltas only
- keep voice consistency
- keep anything the user wrote themselves unless they ask for a rewrite
- if a line is already distinctly theirs, leave it alone
- prefer tightening, trimming, and swapping weak lines over full rewrites unless the frame is wrong
- treat the user's edits as the highest-signal voice data

## Output style
- Default: one clean draft.
- Voice fidelity beats polish.
- Natural imperfections are fine if the piece sounds like the user.
- Do not explain the point, joke, or lesson twice.
references/critic-protocol.mdView this file on GitHub
# Critic Protocol

Use this protocol when the user says: "run the critic on this".

## Goal
Catch voice drift and weak writing choices before handoff, without sterilizing the style.

## Round loop (max 3)
For each round:
1) Review the draft against:
- voice rules
- anti-filler checklist
- banned phrases
- formatting rules
- register / channel fit
- writing samples
- current brief / CTA
2) Rate it: `Needs Work`, `Good`, or `Excellent`.
3) If below `Excellent`, list specific fixes and rewrite.
4) Re-check the rewritten draft.

Stop when:
- rating reaches `Excellent`, or
- 3 rounds complete.

## Critic checks
- Voice match: does this genuinely sound like the writer?
- Substance: does it answer the actual ask, not an adjacent one?
- Clarity: is it specific, concrete, and free of fluff or repetition?
- Structure: does it start fast and keep momentum?
- Register: does it fit the audience and channel without going corporate?
- Mini humanizer: lists/prose, emoji, em dash, title-case heading, preamble/recap cleanup.

## Critic rules
- Be specific. Quote exact misses, not vague judgments.
- Reference voice DNA rules or samples when flagging issues.
- Do not over-polish away personality.
- Natural imperfections are acceptable if the voice is strong.
- If a line is sharp, specific, and human, protect it.
references/humanizer-mini.mdView this file on GitHub
# Humanizer Mini Pass

Use this as a lightweight cleanup pass after drafting in voice.

## Purpose
Remove obvious AI-style residue without stripping personality.

## Keep this pass small
Only enforce these checks by default:
1. Lists to prose where appropriate
2. Emoji cleanup
3. Em dash cleanup
4. Title-case heading cleanup when it clashes with the writer's voice
5. Cut obvious preamble or recap sentences that only announce the point

## Rules
- Do not rewrite for generic neutrality.
- Do not remove sharp opinions, self-awareness, or natural rhythm.
- Preserve phrasing if it already sounds like the writer.
- If a list is clearer as a list, keep it.
- If a sentence has personality and precision, leave it alone.

## Quick QA
- Still sounds like the writer in the voice samples.
- Reads naturally out loud.
- No obvious AI formatting residue.
- Nothing got sanded down into bland "professional" copy.
references/voice-dna.mdView this file on GitHub
# Voice DNA

Populate this file with the target writer's actual voice profile. This is not aspirational. If the rules conflict with real writing samples or live edits, the samples and edits win.

## Voice

Describe how the writer actually sounds at their best. Focus on rhythm, sentence shape, level of bluntness, how quickly they get to the point, how much they explain, and whether they are more literal or more metaphorical.

Good prompts for building this section:
- How does the writer usually open?
- What do they trust the reader to infer?
- How sharp or soft is the tone?
- What makes the writing feel human rather than processed?

Write 2-3 paragraphs here in plain language.

## Core Rules
List the writer's non-negotiables. Be specific.

Good rule examples:
- Write like a sharp human, not a language model.
- Use contractions naturally.
- Short paragraphs. 1-3 sentences max.
- Get to the point. No throat-clearing.
- If making a claim, be specific. Use names, numbers, tools, examples, or real consequences.
- Vary sentence length. Mix short punches with longer explanatory lines.
- Use natural transitions, not mechanical ones.
- Trust the reader. Do not over-explain the obvious.
- When uncertain, say so plainly.
- Never pad output to seem more thorough.
- Prefer concrete verbs over mushy abstractions.
- Keep the writer's older personality even if the newer style is shorter.

Replace, remove, or add rules based on the real writer.

## Formatting Rules
Capture presentation defaults, for example:
- Short paragraphs, usually 1-2 sentences.
- Numbers as digits.
- Contractions always.
- Em dash preference.
- Bold sparingly.
- Use code blocks only for real prompts, commands, or outputs.
- Use headings to chunk thought, not to sound official.

## Anti-Filler Checklist
Cut or rewrite these on sight:
- The preamble: a sentence that announces the insight before giving it.
- The duplicate: 2 consecutive sentences saying the same thing differently.
- The recap: a closing paragraph that just restates the whole piece.
- The vague smart-sounding line: abstract, polished, and empty.
- The buzzword substitution: using impressive words where a plain one would hit harder.
- The fake contrast: negating one framing just to assert another.
- The transition sentence that exists only to sound smooth.
- The over-neat list: bullets where prose would read better.
- The generic CTA or inspirational finish tacked on at the end.

Customize this list based on what the writer actually deletes from drafts.

## Banned Phrases (never use these)

### Dead AI Language
- "In today's [anything]..."
- "It's important to note that..."
- "It's worth noting..."
- "Delve"
- "Dive into"
- "Unpack"
- "Harness"
- "Leverage"
- "Utilize"
- "Landscape"
- "Realm"
- "Robust"
- "Game-changer"
- "Cutting-edge"
- "Straightforward"
- "I'd be happy to help"
- "In order to"

### Dead Transitions
- "Furthermore"
- "Additionally"
- "Moreover"
- "Moving forward"
- "At the end of the day"
- "To put this in perspective..."
- "What makes this particularly interesting is..."
- "The implications here are..."
- "In other words..."
- "It goes without saying..."

### Engagement Bait
- "Let that sink in"
- "Read that again"
- "Full stop"
- "This changes everything"
- "Are you paying attention?"
- "You're not ready for this"

### AI Cringe
- "Supercharge"
- "Unlock"
- "Future-proof"
- "10x your productivity"
- "The AI revolution"
- "In the age of AI"

### Generic Insider Claims
- "Here's the part nobody's talking about"
- "What nobody tells you"
- Anything with "nobody" or "most people don't realize"

### Generic Product Copy / Critique Crutches
Use this section for phrases the writer specifically hates and tends to delete from drafts.

Examples:
- "a calmer way to"
- "operating surface"
- "default posture"
- "chrome" when talking about UI polish or clutter
- "hand-wavy"

Only keep these if they are true for the target writer.

### The Big One (FATAL)
- "This isn't X. This is Y."
- "Not X. Y."
- "Forget X. This is Y."
- "Less X, more Y."
- Any sentence that negates one framing just to assert a corrected one.

If even 1 of these appears, the output fails. Delete the negation and just state the positive claim.

## Audience Adaptation
You probably do not write the same way to every audience. Define the main registers.

Example structure:

### Register 1: Public technical / opinion writing
Describe how the writer sounds here.

### Register 2: Practical professional / email / note writing
Describe how the writer sounds here.

### What stays the same across all registers
List the constants.

## Channel-Specific Notes
Capture what changes by channel.

### Short-form social
How should short posts work?

### Blog / long-form
How should longer writing work?

### Email / note / announcement
How should direct communication work?

## Iteration Calibration
You do not need a formal drafted-vs-sent archive for this skill to work.

Calibration can happen through live revision. Treat every first draft as v1, then use the writer's edits and feedback as the highest-signal source of truth.

When the writer changes the output, pay attention to:
- what got cut
- what got tightened
- what got made more concrete
- what got made less corporate or less polished
- what got more blunt, more personal, or more specific

Those deltas matter more than abstract style rules.

## Company / Product Context
If the writer talks about products, tools, or systems, capture their positioning rules here.

Useful questions:
- Do they describe products plainly or with more flourish?
- How do they talk about competitors?
- What hype do they avoid?
- What tradeoffs or mechanics do they usually emphasise?

## Editing Process
Describe how AI should edit the writer's drafts.

Useful defaults:
- Prefer small passes before wholesale rewrites.
- Preserve exact phrasing when the writer gives a line they clearly want kept.
- If the structure is fine, tighten rather than restart.
- If the draft is fundamentally off, rewrite cleanly rather than patching a bad frame.
- Before returning a revision, check banned phrases, false contrast, duplicate ideas, recap endings, and tone drift.
- If a sentence is sharp, specific, and unmistakably theirs, keep it.

## Writing Samples
Add 3-6 representative samples from the target writer.

For each sample include:
- what style it represents (short/long, personal/professional)
- the excerpt
- what to mimic (rhythm, vocabulary, structure)

These samples are the primary calibration source. When in doubt, match the samples over any generic rule.