Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "humanizer",
"description": "Remove signs of AI-generated writing from text, making it sound more natural and human. Based on Wikipedia's \"Signs of AI writing\" guide.",
"version": "2.9.1",
"version": "2.10.0",
"author": {
"name": "blader",
"url": "https://github.com/blader"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ Rewrites follow a no-fabrication rule: they never add facts, names, dates, or ci

## Version History

- **2.10.0** - Added an annotated-link / definition exception to the em dash rule (#14): an em dash used as the separator in a `[title](url) — description` reference item or a `**Term** — definition` list is a formatting convention, not a tell. The skill now detects this pattern and asks the user once whether to keep or convert these separators, then applies that choice document-wide; embedded mode (which cannot ask) defaults to keeping them. No change to the 33 patterns.
- **2.9.1** - Improved distribution and portability: removed nonportable frontmatter and tool preapprovals, made global installation the documented default, added package validation, and removed the duplicated long-form example from the runtime prompt. No change to the 33 patterns.
- **2.9.0** - Added a no-fabrication rule: rewrites may not invent facts, names, dates, or citations not present in the source, and every example that modeled invented specifics was re-cut to use only source information (fixes #187). Replaced paragraph-count parity with an information-over-shape rule, made a user's voice sample outrank the em dash ban, and added invocation modes (pasted text / file / embedded). No change to the 33 patterns.
- **2.8.3** - Moved the skill version from the unsupported top-level frontmatter key to `metadata.version` for Agent Skills and Claude compatibility. No change to the 33 patterns.
Expand Down
17 changes: 15 additions & 2 deletions SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: |
voice, negative parallelisms, and filler phrases.
license: MIT
metadata:
version: "2.9.1"
version: "2.10.0"
---

# Humanizer: Remove AI Writing Patterns
Expand Down Expand Up @@ -180,7 +180,20 @@ When voice is appropriate, avoid uniform sentence structures, bloodless neutrali
**After:**
> The new policy, announced without warning, affects thousands of workers. The changes, long overdue according to critics, will take effect immediately.

Before returning the final rewrite, scan it for `—` and `–`. Any hit means the draft isn't done. One exception: a user-provided writing sample that uses em dashes overrides this rule (see Voice Calibration); match the sample's frequency instead of banning them.
**Exception: annotated-link and definition separators.** An em dash is sometimes a structural separator rather than a mid-sentence tell. The common case is a reference or source list where each item is a linked title followed by a description:

> [Debian Wiki – SSH](https://wiki.debian.org/SSH) — Debian-specific notes on SSH configuration, including the drop-in files under `/etc/ssh/sshd_config.d/`.

The em dash after `](url)` separates the title from its annotation (the "title — description" pattern, one item per line). The same shape appears in glossaries and definition lists (`**Term** — definition`). Removing it flattens a deliberate formatting convention, not an AI habit.

Detect this case: an em dash that directly follows a Markdown link `](url)` or a bolded/leading term at the start of a list item and introduces a descriptive clause for that title. When you hit the **first** such separator in a document, stop and ask the user which they want:

- **Keep** the annotated-link separators as em dashes (leave them untouched).
- **Convert** them like any other em dash (a period or a colon).

Apply the answer to every matching separator in the document; do not re-ask per occurrence. If the mode cannot ask (embedded mode), default to keeping these separators, since the pattern is a legitimate convention rather than a tell. This exception covers only the title/term separator; em dashes inside the surrounding prose still follow the rule above.

Before returning the final rewrite, scan it for `—` and `–`. Any hit means the draft isn't done, with two exceptions: a user-provided writing sample that uses em dashes overrides this rule (see Voice Calibration; match the sample's frequency instead of banning them), and annotated-link or definition separators you kept after asking the user (see the exception above).

### 15. Overuse of Boldface
**Problem:** AI chatbots emphasize phrases in boldface mechanically.
Expand Down