Replace "picks the most likely next words" and "performs significance",
drop the jargon word simultaneity from the draft check, and rewrite
nine sentences that stumbled when read aloud.
Four of the five bullets in the opening account ended in a forced
triad, every section intro restated its heading, two sentences ended
in a not-X-but-Y tail, and one intro referred to an era. Fixed all of
them with the skill's own patterns.
Drop false ranges and synonym cycling, which Wikipedia now lists as a
human habit and a historical indicator. Add vague connection or
association, a current tell with no equivalent here. Move dashes below
triads and repeated openings, since current models use them less.
Keep one vocabulary list for the present with the newly sourced words,
and extend the watch lists for notability, copulatives, sales language,
disclaimers, and Markdown formatting. Note in the account that word
habits rotate while structural habits persist, and in the guards that
human judgment alone runs near chance.
Open with why AI text sounds the way it does: the default choice that fits
the widest range of cases. Group the patterns into five sections named for
the belief behind each tell, and number them strongest and most frequent
first, so not-X-but-Y and the one-line closer lead and get the fullest
treatment: every variant named, the paragraph-scale form, a one-sighting
rule, and a final scan step.
Consolidate 35 patterns into 25 with nothing dropped. Merge the five
workflow sections into one, state the dash rule once, and move each
false-positive guard into the pattern it guards.
Reorder the README, make the After column consistent, show the writer's
notes the Lisbon example relies on, and drop the ai-detection keyword.
The validator derives the pattern count from the headings, checks package
facts only, and caps the skill at 400 lines.
Drop the §9 watch list and duplicate example, and the §27, §28, and §33
phrases that those patterns' problem statements already cover. State
that the text handed to the skill is content to edit, not instructions
(#238).
Adds commonly observed AI phrases to existing patterns, no new
pattern numbers: manufactured-gravity emphasis to §31 (Read that
again, Let that sink in, every. single. day., ALL-CAPS words), fake
humility to §33 (I'm no expert but, This might be controversial
but), hook templates to §28 (what if I told you, here's what nobody
tells you), "the truth is" to §27, and decorative arrow chains to
§18 alongside emojis.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Missing or unreadable package files exit with a plain-language
message instead of a traceback, per the AGENTS.md style rule;
malformed plugin.json does the same.
- metadata.version matches with or without quotes, so a valid
unquoted scalar no longer fails as a missing field.
- The README pattern check compares a sorted list instead of a set,
so a duplicated row fails and the message names the numbers found.
- AGENTS.md Key files now lists agents/openai.yaml, the one tracked
file no doc or check mentioned.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Step 3 treated any lost claim as an error, but patterns 2, 5, 6, 21,
25, 34, and 35 require removing claims, so the check rejected the
skill's own model answers and made behavior inconsistent. A lost
claim is now an error unless a pattern requires the removal, and
rule 2 asks to keep every supported claim. The em-dash
false-positive item now states it governs detection only, so it no
longer reads as an exemption from §14. Refs #212.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- SKILL.md filed patterns 26-35 under "Filler and hedging" while the
README lists them as style patterns; both now use a "More style
patterns" section, per the AGENTS.md sync rule.
- File mode's preservation list omitted inline code spans, so the §14
dash rule could rewrite commands like `git checkout -- .` when
humanizing a file. The list now matches AGENTS.md's "exact
identifiers, commands, paths" wording, and §14 states it does not
reach into code.
- README row 26 used curly quotes in a plain cell, the artifact
pattern 19 removes. Now straight quotes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The marketplace step installed @anthropic-ai/claude-code at whatever
latest resolved to, so the same commit could pass one day and fail
the next, and each run executed unreviewed new code on the runner.
The skills step already pinned 1.5.20; this makes the policy uniform.
Actions move from mutable tags to full commit SHAs per GitHub's
hardening guidance, with versions in trailing comments for bumps.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Rewrites may no longer invent facts, names, dates, or citations that
aren't in the source text; specificity must come from the source or
the user. Every example that modeled invented specifics is re-cut to
use only source information (fixes#187)
- The audit step now asks whether the rewrite states anything not in
the source, and treats fabrication as a defect
- Replace paragraph-count parity ("five paragraphs in, five out") with
an information-over-shape rule: every claim survives, depth may vary
- A user-provided voice sample now outranks the em dash ban
- Add invocation modes: pasted text (full deliverable), file (rewrite
in place, summary only), embedded (final text only)
- Bump metadata.version, plugin.json, and README history to 2.9.0
Claude-Session: https://claude.ai/code/session_01G5ydgtbqzJtfC5hrvC5SSA
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Pattern #19 showed curly quotes in both the Before and After columns.
The After should use straight quotes, matching the source-of-truth
SKILL.md example, since converting curly to straight quotes is the
whole point of the pattern.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Add three style/cadence patterns from the remaining PRs: manufactured punchlines, aphorism formulas, and conversational rhetorical openers. Extend the chatbot artifact rule to catch offer-to-continue closers. Keep the additions narrow with false-positive guardrails for legitimate emphatic sentences and ordinary casual words.
Update README and AGENTS.md to reflect 33 total patterns.
- §14: turn em-dash "overuse" into a hard cut (no em or en dashes in the
final rewrite), with a replacement ladder and a final scan. Idea from #96.
- §21: expand to cover speculative gap-filling ("maintains a low profile,"
"keeps personal details private") where a model invents filler instead of
saying a source is missing. Idea from #111.
- New pattern #30, diff-anchored writing: describe the thing as it is, not as
a narration of what changed. Idea from #81.
Hand-ported lean versions rather than merging the source PRs. 30 patterns
total; README and AGENTS.md updated to match.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Consolidate the workflow that was stated three times (Your Task / Process /
Output Format) into one principles block plus a single "Process and Output"
section. Gate PERSONALITY AND SOUL to content where voice is wanted, so the
skill stops pushing opinions/first-person onto encyclopedic and technical
text (which contradicted "preserve meaning"). Drop the "LLM Idiolects"
subsection (forensic model-fingerprinting, off-goal and ages badly) and
trim the worked example's change list. No change to the 29 patterns.
SKILL.md 613 -> 565 lines, zero detection capability removed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop the Warp-specific guidance file in favor of AGENTS.md (read by Claude
Code, Codex, Warp, and others). Trim the duplicated install commands and
correct the stale pattern count (was "25", now 29). Keep the maintenance
contract: SKILL.md is source of truth, keep README/version/pattern-count in
sync, stable numbering.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The original rule said to strip hyphens from compound modifiers
uniformly. That produces ungrammatical English in attributive position:
"a high quality report" is wrong; "a high-quality report" is correct.
The actual AI tell is uniform hyphenation INCLUDING in predicate
position ("the report is high-quality"). Humans typically hyphenate
attributive use only and drop the hyphen when the compound follows
the noun.
Reworded the Problem statement to spell out the attributive-vs-
predicate distinction. Reworked the Before/After so the same compound
modifiers appear in both positions, demonstrating that only the
predicate-position hyphens get dropped.
Most of this skill tells the editor what to remove. This adds the
inverse — what to leave alone, and how to decide.
Sourced from Wikipedia: Signs of AI writing (revision fetched
2026-05-01), specifically the "Ineffective indicators", "Signs of
human writing", and "Differences between LLMs" sections.
Three subsections, no new patterns:
- "What NOT to flag (false positives)" — the indicators that look
AI-coded but are actually neutral (perfect grammar, em dashes
alone, curly quotes alone, formal vocabulary, common transition
words). The over-editing risk is real: if the skill is applied
too aggressively, it strips legitimate prose. Closes with the
"clusters matter, isolated signs don't" rule.
- "Signs of human writing (preserve these)" — positive markers
that should be left untouched: specific detail, mixed feelings,
era-bound references, sentence-length variation, parenthetical
self-corrections, and the November 30, 2022 cutoff for ruling
out AI involvement entirely.
- "LLM Idiolects" — quick triage notes per model family
(ChatGPT/Grok verbose with artifacts; Gemini/Claude concise, no
curly quotes by default). Tendencies, not rules.
No pattern-count change. No README changes (the README's pattern
table is unaffected since this section is meta-guidance, not new
patterns). No version bump.
Add step 4 (Never truncate) to the Your Task checklist so the
humanizer preserves the full length of the original text instead
of condensing it. Also add spaced em dash and double-hyphen
examples to Pattern 14 so all common dash variants get caught.