Skip to content

/writing

Enforce direct, concise prose style and catch writing slop. Use when writing or editing PR descriptions, issue bodies, commit messages, documentation, Slack messages, or any human-facing text. Also use when asked to clean up, rewrite, or "de-AI" existing text.

shell
$ npx -y skills add bendrucker/claude --skill writing --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/writing
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Enforce direct, concise prose style and catch writing slop. Use when writing or editing PR descriptions, issue bodies, commit messages, documentation, Slack messages, or any human-facing text. Also use when asked to clean up, rewrite, or "de-AI" existing text.

SKILL.md

writing.SKILL.md
name: writing:writing
description: >-
  Enforce direct, concise prose style and catch writing slop. Use when writing or editing PR descriptions,
  issue bodies, commit messages, documentation, Slack messages, or any human-facing text.
  Also use when asked to clean up, rewrite, or "de-AI" existing text.

Writing

Patterns to Avoid

The hook enforces these automatically. Specific vocabulary and marketing-verb lists live in [`wordlists/`](../../wordlists/).

Structure

  • Never use spaced em dashes (` — `).
  • Avoid "not just X, but also Y" parallelism. Simplify.
  • Don't join independent clauses with em dashes, semicolons, or hyphens. Write two sentences. Swapping one connector for another is not a fix. A rare semicolon is fine only when the clauses genuinely can't stand alone.
  • Don't structure bullets as `- **path/to/file**: description`.
  • Use `####` headers instead of `**Label:**` for labeled subsections.
  • Headings name the topic in a couple of words. No verbs, no `Topic: clause`, no sentence-shaped headings. Move the explanation into the body.

Word Choice

  • Don't replace "is"/"are" with "serves as" or "stands as".
  • Don't write "reaching for X." Use "use X" or "prefer X over Y."
  • Don't write "dig into" / "dive into." Name what you're looking at.
  • Hedging verbs ("looks like", "appears to", "seems to") are vague. State directly or name the uncertainty.

PR and Review Prose

  • Active voice. Not "X is added" but "Adds X."
  • Not "Tests cover X" but "Added tests covering X."
  • No trailing hedge adverbs ("regardless.", "nonetheless.").
  • No cross-sentence negation ("It isn't X. It is Y."). Combine or drop the negation.

Outbound Email and Messages

  • Don't write human-facing email in a punchy journalistic cadence: dramatic one-sentence paragraphs, rhetorical question then answer ("The result? X."), or escalating triads. Match the sender's plain voice.

Voice

Direct, conversational. Every sentence should teach something new. Cut words that restate the obvious.

  • Substance over filenames or implementation details
  • Shorter sentences over compound constructions
Read more
Read it on GitHub ↗
Ships withbendrucker-claude

My personal plugin marketplace for Claude Code, Anthropic's AI coding assistant.

Get the whole plugin, auto-invoked
Stats
15
Stars
0
Views
1
Forks
Active
Maintenance
TypeScript
Language
MIT
License
14h ago
Last commit
1y ago
Created

Repo: bendrucker/claude