Vendor avoid-ai-writing skill as third invocable skill#1
Vendor avoid-ai-writing skill as third invocable skill#1
Conversation
Adds Conor Bronsdon's avoid-ai-writing skill (MIT) alongside fiction-workshop and narrative-nonfiction. Skill is vendored verbatim from commit b38ee9f with LICENSE preserved and README.md renamed to UPSTREAM-README.md. Adds ATTRIBUTION.md and a root LICENSE file, and updates README + plugin manifest to register and document the new /author-toolkit:avoid-ai-writing skill (detect and rewrite modes).
There was a problem hiding this comment.
Pull request overview
This PR vendors Conor Bronsdon’s avoid-ai-writing skill into the author-toolkit plugin, adds attribution/licensing artifacts, and updates plugin metadata/docs to expose /author-toolkit:avoid-ai-writing (detect + rewrite modes).
Changes:
- Add new
skills/avoid-ai-writing/skill directory (SKILL + upstream docs + license + changelog). - Add root
LICENSEandATTRIBUTION.mdto document third-party licensing. - Update root
README.mdand plugin metadata (.claude-plugin/*.json) to mention/register the new skill and bump plugin version.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/avoid-ai-writing/UPSTREAM-README.md | Vendored upstream README (renamed). |
| skills/avoid-ai-writing/SKILL.md | New skill definition and rules (detect + rewrite modes). |
| skills/avoid-ai-writing/LICENSE | Upstream MIT license for the vendored skill. |
| skills/avoid-ai-writing/CLAUDE.md | Vendored maintenance guidance for the skill. |
| skills/avoid-ai-writing/CHANGELOG.md | Vendored changelog for the skill’s upstream versions. |
| skills/avoid-ai-writing/.gitignore | Vendored ignore file. |
| README.md | Document the new skill and provide usage examples + attribution section. |
| LICENSE | Add root MIT license and note about vendored third-party licenses. |
| ATTRIBUTION.md | Record upstream source, commit SHA, and license locations for the vendored skill. |
| .claude-plugin/plugin.json | Bump plugin version/description and expand keywords. |
| .claude-plugin/marketplace.json | Bump marketplace version/description to match plugin release. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| --- | ||
| name: avoid-ai-writing | ||
| description: Audit and rewrite content to remove AI writing patterns ("AI-isms"). Use this skill when asked to "remove AI-isms," "clean up AI writing," "edit writing for AI patterns," "audit writing for AI tells," or "make this sound less like AI." Supports a detection-only mode that flags patterns without rewriting. | ||
| version: 3.3.1 |
There was a problem hiding this comment.
SKILL.md frontmatter declares version: 3.3.1, but the vendored CHANGELOG.md has no 3.3.1 entry (latest is 3.3.0) and CLAUDE.md also references a different SKILL version. Align the SKILL frontmatter version with the changelog (either add a 3.3.1 entry or set the version to 3.3.0) to avoid confusion for consumers and future updates.
| version: 3.3.1 | |
| version: 3.3.0 |
| - "But what does this mean for developers?" / "So why should you care?" / "What's next?" � AI uses rhetorical questions to stall before the actual point. If you know the answer, just say it. Rhetorical questions are earned by strong setup, not dropped as section transitions. | ||
|
|
||
| ### Parenthetical hedging | ||
| - "(and, increasingly, Z)" / "(or, more precisely, Y)" / "(and perhaps more importantly, W)" � AI inserts parenthetical asides to sound nuanced without committing. If the aside matters, give it its own sentence. If it doesn't, cut it. | ||
|
|
||
| ### Numbered list inflation | ||
| - "Three key takeaways" / "Five things to know" / "Here are the top seven" � AI defaults to numbered lists because they're structurally safe. Only use numbered lists when the content genuinely has that many discrete, parallel items. If you're padding to hit a number, the list shouldn't exist. |
There was a problem hiding this comment.
There are visible replacement characters ("�") in these pattern descriptions, which usually indicates an encoding/copy issue (intended punctuation like an em dash or arrow). Replace the "�" with the intended character(s) so the skill renders cleanly across markdown viewers and doesn’t propagate corrupted text into outputs.
| - "But what does this mean for developers?" / "So why should you care?" / "What's next?" � AI uses rhetorical questions to stall before the actual point. If you know the answer, just say it. Rhetorical questions are earned by strong setup, not dropped as section transitions. | |
| ### Parenthetical hedging | |
| - "(and, increasingly, Z)" / "(or, more precisely, Y)" / "(and perhaps more importantly, W)" � AI inserts parenthetical asides to sound nuanced without committing. If the aside matters, give it its own sentence. If it doesn't, cut it. | |
| ### Numbered list inflation | |
| - "Three key takeaways" / "Five things to know" / "Here are the top seven" � AI defaults to numbered lists because they're structurally safe. Only use numbered lists when the content genuinely has that many discrete, parallel items. If you're padding to hit a number, the list shouldn't exist. | |
| - "But what does this mean for developers?" / "So why should you care?" / "What's next?" — AI uses rhetorical questions to stall before the actual point. If you know the answer, just say it. Rhetorical questions are earned by strong setup, not dropped as section transitions. | |
| ### Parenthetical hedging | |
| - "(and, increasingly, Z)" / "(or, more precisely, Y)" / "(and perhaps more importantly, W)" — AI inserts parenthetical asides to sound nuanced without committing. If the aside matters, give it its own sentence. If it doesn't, cut it. | |
| ### Numbered list inflation | |
| - "Three key takeaways" / "Five things to know" / "Here are the top seven" — AI defaults to numbered lists because they're structurally safe. Only use numbered lists when the content genuinely has that many discrete, parallel items. If you're padding to hit a number, the list shouldn't exist. |
| ## Severity tiers | ||
|
|
||
| Not all AI-isms are equal. When doing a quick pass or triaging a large document, prioritize by tier: | ||
|
|
||
| ### P0 � Credibility killers (fix immediately) | ||
| - Cutoff disclaimers ("As of my last update") | ||
| - Chatbot artifacts ("I hope this helps!", "Great question!") | ||
| - Vague attributions without sources ("Experts believe") | ||
| - Significance inflation on routine events | ||
|
|
||
| ### P1 � Obvious AI smell (fix before publishing) | ||
| - Word-list violations (delve, leverage, harness, robust, etc.) | ||
| - Template phrases and slot-fill constructions | ||
| - "Let's" transition openers | ||
| - Synonym cycling within a paragraph | ||
| - Formulaic openings ("In the rapidly evolving world of...") | ||
| - Bold overuse | ||
| - Em dash frequency (above 1 per 1,000 words) | ||
|
|
||
| ### P2 � Stylistic polish (fix when time allows) | ||
| - Generic conclusions ("The future looks bright") |
There was a problem hiding this comment.
The severity tier headings contain a "�" replacement character (e.g., "P0 � Credibility killers"). This looks like an encoding artifact and will render poorly; replace it with the intended punctuation (typically an em dash) consistently across P0/P1/P2 headings.
| | Code blocks, API references, or technical architecture | `technical-blog` | | ||
| | Salutation ("Hi [name]", "Dear") + investor/fundraising language | `investor-email` | | ||
| | Step-by-step instructions, parameter docs, README structure | `docs` | | ||
| | No strong signals | `blog` (safest default � all rules apply) | |
There was a problem hiding this comment.
The context profile definitions and auto-detection table include "�" replacement characters (e.g., after profile names and in the default blog row). This is likely an encoding issue; replace with the intended punctuation so the documentation stays readable and copy/paste-safe.
| | No strong signals | `blog` (safest default � all rules apply) | | |
| | No strong signals | `blog` (safest default — all rules apply) | |
| - `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. |
There was a problem hiding this comment.
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.
| ## [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 | ||
|
|
There was a problem hiding this comment.
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.
Adds Conor Bronsdon's avoid-ai-writing skill (MIT) alongside
fiction-workshop and narrative-nonfiction. Skill is vendored verbatim
from commit b38ee9f with LICENSE preserved and README.md renamed to
UPSTREAM-README.md. Adds ATTRIBUTION.md and a root LICENSE file, and
updates README + plugin manifest to register and document the new
/author-toolkit:avoid-ai-writing skill (detect and rewrite modes).