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
6 changes: 3 additions & 3 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"name": "author-toolkit",
"description": "Writing skills for fiction and narrative nonfiction authors",
"description": "Writing skills for fiction and narrative nonfiction authors, including an AI-writing audit/rewrite skill",
"owner": {
"name": "rhavekost",
"email": "rob@kostlabs.com"
},
"plugins": [
{
"name": "author-toolkit",
"description": "Writing skills for fiction and narrative nonfiction authors",
"version": "1.0.0",
"description": "Writing skills for fiction and narrative nonfiction authors, including an AI-writing audit/rewrite skill",
"version": "1.1.0",
"source": "./",
"author": {
"name": "rhavekost",
Expand Down
6 changes: 3 additions & 3 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "author-toolkit",
"description": "Writing skills for fiction and narrative nonfiction authors",
"version": "1.0.0",
"description": "Writing skills for fiction and narrative nonfiction authors, including an AI-writing audit/rewrite skill",
"version": "1.1.0",
"author": {
"name": "rhavekost",
"email": "rob@kostlabs.com"
},
"homepage": "https://github.com/rhavekost/author-toolkit",
"repository": "https://github.com/rhavekost/author-toolkit",
"license": "MIT",
"keywords": ["writing", "fiction", "nonfiction", "editing", "author", "skills"]
"keywords": ["writing", "fiction", "nonfiction", "editing", "author", "skills", "ai-writing", "avoid-ai-writing"]
}
18 changes: 18 additions & 0 deletions ATTRIBUTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Attribution

This project vendors third-party skills. Their original licenses and copyright
notices are preserved inside each skill directory.

## avoid-ai-writing

- **Skill:** `avoid-ai-writing`
- **Author:** Conor Bronsdon ([@ConorBronsdon](https://github.com/conorbronsdon))
- **Source:** https://github.com/conorbronsdon/avoid-ai-writing
- **License:** MIT
- **Vendored commit:** [`b38ee9f8f529476ac2d4f870d2dce2d9a155f34d`](https://github.com/conorbronsdon/avoid-ai-writing/commit/b38ee9f8f529476ac2d4f870d2dce2d9a155f34d)
- **Upstream LICENSE:** [`skills/avoid-ai-writing/LICENSE`](skills/avoid-ai-writing/LICENSE)
- **Upstream README:** [`skills/avoid-ai-writing/UPSTREAM-README.md`](skills/avoid-ai-writing/UPSTREAM-README.md)

The full MIT license text and copyright notice are preserved unmodified at
`skills/avoid-ai-writing/LICENSE`, as required by the MIT license terms. No
changes have been made to the vendored skill contents.
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
MIT License

Copyright (c) 2026 rhavekost

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

---

This project vendors third-party skills that retain their original licenses.
See ATTRIBUTION.md for a list of vendored components and their upstream
license files. The vendored `avoid-ai-writing` skill is MIT-licensed
(Copyright (c) 2026 Conor Bronsdon); its upstream LICENSE is preserved at
`skills/avoid-ai-writing/LICENSE`.
37 changes: 36 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,21 @@ For self-help and prescriptive nonfiction with storytelling elements:
- **Reveal Engineering** - Twist/reframe setup and payoff
- **Voice Editing** - Tone and persona consistency

### Avoid AI Writing
Audits and rewrites text to remove AI-ism patterns that make prose sound
machine-generated. Supports two modes:
- **Detect mode** — Flag AI-isms only; no rewriting. Use when auditing
published content, someone else's writing, or when you want to decide
yourself what to fix.
- **Rewrite mode** (default) — Flag AI-isms and rewrite the text to fix them.

Recommended workflow: run `avoid-ai-writing` after the line-edit pass in
either `fiction-workshop` or `narrative-nonfiction` to catch any residual
AI patterns before final polish.

Vendored from [conorbronsdon/avoid-ai-writing](https://github.com/conorbronsdon/avoid-ai-writing)
(MIT). See [ATTRIBUTION.md](ATTRIBUTION.md).

## Installation

### Direct from GitHub
Expand All @@ -48,6 +63,7 @@ Invoke skills directly:
```bash
/author-toolkit:fiction-workshop
/author-toolkit:narrative-nonfiction
/author-toolkit:avoid-ai-writing
```

Once activated, work with the editorial personas:
Expand All @@ -62,6 +78,10 @@ Once activated, work with the editorial personas:
"Help me design the transformation arc for my self-help book"
"Check metaphor consistency in chapters 4-8"
"Engineer the reveal for chapter 16"

# Avoid AI Writing
"Audit this chapter for AI-isms" (detect mode)
"Rewrite this chapter to remove AI patterns" (rewrite mode)
```

## Quick Reference
Expand All @@ -78,7 +98,22 @@ Once activated, work with the editorial personas:
| Reader journey | `/author-toolkit:narrative-nonfiction` | "Design the transformation arc" |
| Metaphor consistency | `/author-toolkit:narrative-nonfiction` | "Check metaphor consistency in chapters 4-8" |
| Exercise design | `/author-toolkit:narrative-nonfiction` | "Design exercises for [concept]" |
| Audit chapter for AI-isms | `/author-toolkit:avoid-ai-writing` | "Detect mode — flag AI patterns in this chapter" |
| Clean AI-isms from chapter | `/author-toolkit:avoid-ai-writing` | "Rewrite mode — remove AI patterns from this chapter" |

## Attribution

This plugin vendors the `avoid-ai-writing` skill by
[Conor Bronsdon (@ConorBronsdon)](https://github.com/conorbronsdon),
sourced from
[conorbronsdon/avoid-ai-writing](https://github.com/conorbronsdon/avoid-ai-writing)
and licensed under the MIT License. The upstream `LICENSE` and `README` are
preserved unmodified inside
[`skills/avoid-ai-writing/`](skills/avoid-ai-writing/). Full attribution and
vendored commit SHA are recorded in [ATTRIBUTION.md](ATTRIBUTION.md).

## License

MIT
MIT. See [LICENSE](LICENSE). Vendored third-party skills retain their
original licenses inside their skill directories — see
[ATTRIBUTION.md](ATTRIBUTION.md) for details.
16 changes: 16 additions & 0 deletions skills/avoid-ai-writing/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# OS
.DS_Store
Thumbs.db
Desktop.ini
*.swp
*~

# Editors
.vscode/
.idea/
*.sublime-project
*.sublime-workspace

# Environment
.env
.env.local
160 changes: 160 additions & 0 deletions skills/avoid-ai-writing/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Changelog

All notable changes to this project are documented here.

---

## [3.3.0] — 2026-04-01

### Added
- **"Worth [verb]ing" vague endorsement pattern**: `worth reading`, `worth paying attention to`, `worth a look`, `worth exploring`, `worth checking out`, `worth your time` — broadens existing "it's worth noting that" to the full family
- **Reader-steering frames**: `Here's what's interesting`, `Here's what caught my eye`, `Here's what stood out` — added to both transition phrases and confidence calibration sections with context on when the pattern is a genuine problem vs. when data-backed usage is acceptable

### Changed
- Version bump to 3.3.0

Comment on lines +7 to +15
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog’s latest entry is [3.3.0], but the vendored SKILL.md frontmatter is 3.3.1. Either add a 3.3.1 entry describing what changed, or set the SKILL frontmatter back to 3.3.0 so the versioning is consistent.

Copilot uses AI. Check for mistakes.
---

## [3.2.0] — 2026-03-31

### Added
- **Detect mode**: flag-only mode that identifies AI patterns without rewriting. Trigger with "detect," "flag only," "audit only," "just flag," "scan," or similar. Returns issues grouped by severity (P0/P1/P2) plus an assessment of which flags are clear problems vs. judgment calls. Useful when flagged patterns are intentional, when auditing published or third-party content, or when you want a quick scan without a full rewrite.

### Changed
- Output format section now documents both rewrite (default) and detect mode outputs
- Version bump to 3.2.0

---

## [3.1.0] — 2026-03-25

### Added
- 3 new Tier 1 words from Pangram AI detection research: `keen` (as intensifier), `symphony` (metaphor), `embrace` (metaphor)
- 2 new template phrases: "Whether you're X or Y" (false-breadth), "I recently had the pleasure of" (review/social AI pattern)
- "In summary" added to transition phrases (alongside existing "In conclusion" / "To summarize")
- Structure-priority note in Rhythm section: structural regularity is the #1 signal AI detectors weight, above vocabulary
- Over-polishing warning: aggressive editing can push writing toward AI statistical profiles by removing natural disfluency

### Changed
- Total vocabulary: 106 → 109 entries (60 Tier 1 + 38 Tier 2 + 11 Tier 3)
- Template phrases: 2 → 4 entries

### Source
- Pangram Labs AI detection research (pangram.com) — decoder-only classifier trained on 28M human documents. Key insight: structural uniformity and pacing consistency are weighted higher than individual word choices.

---

## [3.0.0] — 2026-03-20

### Added
- Novelty inflation pattern (AI treats established concepts as speaker inventions)
- False concession structure pattern
- Rhetorical question openers pattern
- Parenthetical hedging pattern
- Numbered list inflation pattern
- Severity tiers (P0/P1/P2) for prioritized auditing
- Self-reference escape hatch (exempts quoted examples from flagging)
- Context profiles with tolerance matrix (linkedin, blog, technical-blog, investor-email, docs, casual)
- Auto-detection cues for context inference
- Extended frontmatter: license, compatibility, author, tags, agentskills_spec

### Changed
- Pattern count: 30 → 35 categories

---

## [2.2.0] — 2026-03-18

### Added
- OpenClaw compatibility — added `version` and `metadata.openclaw` to SKILL.md frontmatter
- OpenClaw installation instructions in README (ClawHub and manual)
- Skill now works with both Claude Code and OpenClaw from a single `SKILL.md`

### Changed
- `README.md` — broadened description to reference both platforms, reorganized installation into Claude Code and OpenClaw sections

---

## [2.1.0] — 2026-03-18

### Added
- 5 new pattern categories: reasoning chain artifacts, sycophantic tone, acknowledgment loops, confidence calibration phrases, excessive structure
- New "Rhythm and uniformity" section — checks for sentence length uniformity, paragraph length uniformity, missing first-person perspective, and read-aloud test guidance
- New "When to rewrite from scratch vs. patch" threshold — advises full rewrites when AI density is too high for patching
- 5 rewrite principles in tone calibration section (vary length, be concrete, have a voice, cut neutrality, earn emphasis)
- New "Meta Patterns" group in README pattern table
- Expanded credits: OpenClaw humanizer ecosystem (community patterns)

### Changed
- Pattern count: 23 → 30 categories
- `README.md` — updated pattern count, added Meta Patterns table, expanded credits with source descriptions
- Communication Patterns table in README now includes all communication patterns

---

## [2.0.0] — 2026-03-18

### Added
- **Tiered vocabulary system** — words are now organized into three tiers based on AI-signal strength:
- Tier 1 (always flag): 53 entries — dead giveaways that appear 5–20x more often in AI text
- Tier 2 (flag in clusters): 38 entries — legitimate words that signal AI when 2+ appear in the same paragraph
- Tier 3 (flag by density): 11 entries — common words that only flag when the text is saturated with them
- 39 new vocabulary entries across all tiers, including: bustling, intricate, complexities, ever-evolving, daunting, holistic, actionable, impactful, learnings, thought leadership, best practices, synergy, interplay, encompass, catalyze, reimagine, galvanize, augment, cultivate, illuminate, elucidate, juxtapose, paradigm-shifting, transformative, cornerstone, paramount, poised, burgeoning, nascent, quintessential, overarching, underpinning, significant, innovative, dynamic, scalable, compelling, unprecedented, sophisticated, instrumental, world-class
- Credit to [brandonwise/humanizer](https://github.com/brandonwise/humanizer) for tiered vocabulary research

### Changed
- Word/phrase table reorganized from flat list to tiered structure with usage guidance
- Total vocabulary: 58 → 102 entries (53 Tier 1 + 38 Tier 2 + 11 Tier 3)
- `README.md` — updated replacement table description, pattern table, and credits

---

## [1.4.0] — 2026-03-17

### Added
- 15 new word/phrase replacements: nuanced, crucial, multifaceted, ecosystem, myriad, plethora, deep dive/dive into, unpack, bolster, spearhead, resonate, revolutionize, facilitate, underpin
- New pattern category: "let's" constructions (false-collaborative openers like "let's explore," "let's break this down")
- Skill now covers 23 pattern categories with 58 word/phrase replacements

### Changed
- Deduplicated filler phrases that appeared in both the word table and the filler section
- `README.md` — updated pattern count (22 → 23), replacement table count (43 → 58), added "let's" constructions row to pattern table

---

## [1.3.0] — 2026-03-17

### Changed
- Em dash detection now catches double-hyphen (`--`) in addition to Unicode em dash (`—`)
- `README.md` — updated formatting pattern description to mention `--`

---

## [1.2.0] — 2026-03-06

### Added
- New pattern category: emotional flatline (AI claims emotions as structural crutch without conveying them; also flags lazy human writing)
- Skill now covers 22 pattern categories with 43 word/phrase replacements

---

## [1.1.0] — 2026-03-06

### Added
- 8 new pattern categories: notability name-dropping, superficial -ing analyses, promotional language, formulaic challenges, false ranges, inline-header lists, title case headings, cutoff disclaimers
- 5 new word table entries (nestled, vibrant, thriving, despite challenges, showcasing)
- Skill now covers 21 pattern categories with 43 word/phrase replacements

### Changed
- `README.md` — expanded full example (6 paragraphs → 4 clean sentences, 40+ tells flagged); added per-pattern before/after table organized into Content, Language, Structure, Communication groups; updated pattern count and replacement table count throughout

---

## [1.0.0] — 2026-03-05

### Added
- `SKILL.md` — Claude Code skill with 13 pattern categories: formatting, sentence structure, word/phrase replacements (38 entries), template phrases, transition phrases, structural issues, significance inflation, copula avoidance, synonym cycling, vague attributions, filler phrases, generic conclusions, chatbot artifacts
- Four-section output format: issues found, rewritten version, what changed, second-pass audit
- `README.md` — installation guide (3 methods), full pattern reference, usage examples
- `LICENSE` — MIT
- `.gitignore` — OS/editor exclusions
44 changes: 44 additions & 0 deletions skills/avoid-ai-writing/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## What this is

A single-file writing skill (`SKILL.md`) that audits and rewrites content to remove AI writing patterns. No build system, no dependencies, no tests — the skill is a markdown file consumed by AI coding assistants.

## Repository structure

- `SKILL.md` — the skill itself (v3.2.0). This is the product. All rules, tiers, profiles, and output format live here.
- `README.md` — public-facing docs, installation instructions, pattern reference table, full before/after example.
- `CHANGELOG.md` — version history with what changed and why.
Comment on lines +11 to +13
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CLAUDE.md describes a README.md file in this directory and instructs updating it, but the vendored directory only contains UPSTREAM-README.md (README was renamed). Update these references (and the stated SKILL version) so the guidance matches the actual filenames and versions in this repo.

Copilot uses AI. Check for mistakes.

## How to make changes

Edit `SKILL.md` directly. There's nothing to build or test. When making changes:

- Bump the version in the SKILL.md frontmatter (`version: X.Y.Z`)
- Add a dated entry to CHANGELOG.md
- Update README.md if the change affects installation, usage, feature list, or pattern count
- Keep the README pattern count table (currently "36 Patterns Detected") in sync with actual SKILL.md categories

## Architecture of the skill

The skill has two modes (`rewrite` default, `detect` flag-only) and processes text through this pipeline:

1. **Context profile detection** — auto-detects or accepts a profile hint (linkedin, blog, technical-blog, investor-email, docs, casual) that adjusts rule strictness via the tolerance matrix
2. **Pattern matching** — 36 categories across content, language, structure, communication, and meta patterns
3. **Vocabulary flagging** — 3-tier system: Tier 1 (always flag), Tier 2 (flag in clusters), Tier 3 (flag at high density)
4. **Severity classification** — P0 (credibility killers), P1 (obvious AI smell), P2 (stylistic polish)
5. **Output** — rewrite mode: 4 sections including a second-pass audit; detect mode: 2 sections with problem vs. judgment-call assessment

## Key constraints

- The skill must remain a single `SKILL.md` file with agentskills.io-compatible frontmatter
- Word replacement table entries need specific alternatives, not just "rephrase"
- The self-reference escape hatch (quoted examples exempt from flagging) must be preserved — without it the skill flags its own documentation
- Technical-blog profile has explicit word table exceptions (e.g., "robust" and "ecosystem" are legitimate in technical contexts)
- "Extra strict" and "skip" in the tolerance matrix have specific meanings defined in the file

## Compatibility

The skill works with Claude Code, OpenClaw/ClawHub, and any agentskills.io-compatible agent. The frontmatter includes both `agentskills_spec` and `openclaw` fields. Changes must not break either format.
21 changes: 21 additions & 0 deletions skills/avoid-ai-writing/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Conor Bronsdon

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading