Skip to content

Check a writing sample for tells before following it - #286

Open
padiil wants to merge 1 commit into
blader:mainfrom
padiil:vet-writing-sample
Open

padiil wants to merge 1 commit into
blader:mainfrom
padiil:vet-writing-sample

Conversation

@padiil

@padiil padiil commented Sep 17, 2026

Copy link
Copy Markdown

Problem

The Voice section says the sample outranks every pattern:

The sample overrides the patterns below

So a sample that carries tells teaches the rewrite to keep them. The skill already
says human writing keeps absorbing AI habits, which means "the writer wrote it"
is not proof the sample is clean. Anyone who drafts with an assistant and then
pastes their own recent writing as a voice sample gets the tells locked in.

This is a real path, not a hypothetical: the writer reaches for a sample to make
the output sound like them, and recent writing is the easiest sample to find.

Change

Mark the sample's tells first, then act on one of three results:

Sample What it sets
No tells, or only weak alone ones Everything. Still overrides the patterns, dashes included
A few scattered tells Sentence length, formality, punctuation rate, openings, transitions, vocabulary. No pattern
A tell in every paragraph Nothing. Say so, name two or three tells, ask for another

The result is reported before anything else, so the writer knows which reference
was used. The pre-2022 date already in "When not to act" is repeated here, since
that is where a writer picks a sample.

No pattern is added, removed, or renumbered. 25 patterns, unchanged.

Also in this change

The Voice line pointed the dash override at §6. Dashes have been §8 since 3.0.0
(#273). The rewritten line says §8. Happy to drop that part and rebase if #274,
#276, or #285 lands first.

Checks

  • python3 scripts/validate-package.pyHumanizer package v3.1.0 is valid
  • claude plugin validate .✔ Validation passed
  • npx skills add . --listUnknown command: "skills" on npm 11 here. Looks
    like a local npx resolution problem rather than anything in this change; happy
    to retry if you have a working invocation.

Version bumped to 3.1.0 in SKILL.md, README.md, and plugin.json, with a
README release note, per AGENTS.md.

The Voice section let a sample override every pattern. A sample that
carries tells therefore taught the rewrite to keep them, and human
writing keeps absorbing AI habits, so the writer's own text is not
proof that it is clean.

Mark the sample's tells first and act on one of three results: follow a
clean sample in full, take only surface traits from a sample with
scattered tells, and refuse one with a tell in every paragraph. Report
the result before returning anything else.

Also points the dash override at §8, its number since 3.0.0 (blader#273).
Copilot AI lite review requested due to automatic review settings September 17, 2026 07:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The sample fallback rule contradicts the scattered-tells behavior, and the README omits two preserved voice traits.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

This PR adds voice-sample screening before style matching and synchronizes the package version to 3.1.0.

Changes:

  • Classifies samples as clean, scattered-tell, or heavily tainted.
  • Documents the new behavior and release.
  • Updates package metadata versions.
File summaries
File Description
SKILL.md Adds sample screening and voice-handling rules.
README.md Documents behavior and version 3.1.0.
.claude-plugin/plugin.json Updates the plugin version.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread SKILL.md
- **A few scattered tells.** Follow the sample's sentence length, formality, punctuation rate, openings, transitions, and subject vocabulary. It licenses no pattern below.
- **A tell in every paragraph.** Do not use it. Tell the writer the sample reads as AI-written, name two or three tells you found, and ask for another.

A sample written before November 30, 2022 is not AI-written. Work without a sample rather than follow one that carries tells.
Comment thread README.md
```

Humanizer follows the sample's rhythm, word choice, punctuation, and deliberate quirks, including dashes if you use them.
Humanizer checks the sample for AI patterns first, then says what it found. A clean sample sets the voice in full, including dashes if you use them. A sample with a few tells sets sentence length, formality, punctuation rate, and vocabulary, but licenses no pattern. A sample with a tell in every paragraph is refused, so pick writing you know is your own: anything from before November 30, 2022 is safe.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants