The Cursor port was a hand-made copy stranded at v3.16.0 while
SKILL.md reached v3.22.3 — its own README said 'no automated sync
today, open an issue if drift becomes a problem.' It did.
scripts/sync-cursor-rules.sh now generates the .mdc from SKILL.md:
Cursor frontmatter with the version derived from the SKILL.md
frontmatter, plus the three portability rewrites a copied-out rule
needs (no repo self-reference, no CATEGORIES.md citation, manual
preservation check instead of node detector/validate.js). Each
rewrite is anchored on exact upstream text and exits non-zero if the
anchor stops matching once, so an upstream edit to a ported span
breaks CI here instead of silently shipping a wrong rule.
plugin-skill-sync workflow regenerates the rule on every SKILL.md
change and fails on drift; cursor-rules/** added to its path filters
so a hand-edit to the .mdc alone can't dodge the check.
Negative control run: mutating a ported span in SKILL.md makes the
script exit 1 with an actionable message; restoring it regenerates
byte-identically (second run idempotent).
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* feat: position-pivot preface + Cursor rule port
Two low-hanging-fruit items from the May 2026 competitive landscape
research (private docs at avoid-ai-writing-app/docs/competitive/).
1. SKILL.md preface — "What this skill is and isn't"
Frames the skill explicitly as a writing-quality nudge, not a
forensic AI detector. The independent-audit evidence against
detection-as-forensics is now overwhelming:
- Liang et al. (Stanford, Patterns 2023): 61.3% of TOEFL essays
flagged AI; 19.8% unanimously misclassified by 7 detectors
- Jabarian & Imas (BFI WP 2025-116, 2025): OSS detectors
misclassify up to 78% of human text
- Adversarial paraphrasing (arXiv:2506.07001, June 2025): defeats
every detection method tested, including those trained against
paraphrase, with ~88% T@1%F reduction
- Turnitin lost its first lawsuit Feb 2026 (Newby v. Adelphi);
downstream cases pending at Yale, Michigan, Palo Alto HS
The skill's framing now disavows the forensic use case explicitly:
patterns are real and worth fixing in your own writing; they are
NOT evidence about anyone else's. Inoculates the project against
the reputational + liability risk hitting Turnitin et al.
2. Cursor rule — `cursor-rules/avoid-ai-writing.mdc`
Modern `.cursor/rules/*.mdc` format port of SKILL.md. Activates on
prose file globs (.md, .mdx, .txt, .rst, .adoc) — no
alwaysApply, so the rule doesn't interfere with code work. Body is
byte-for-byte SKILL.md content; only the frontmatter differs.
Opens a new distribution channel: `PatrickJS/awesome-cursorrules`
(39.5K stars) has zero prose-humanizer entries. First-mover
opportunity. Submission to the awesome-cursorrules list is the
natural follow-up.
README.md updated with install snippet pointing at raw.githubusercontent
so users can grab the file with one curl.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: add Vocabulary diversity (stylometric) section
First stylometric signal documented in the spec. TTR threshold (< 0.40
on >= 200-word samples) matches the detector implementation in
avoid-ai-writing-app#TBD. Three other stylometric signals on the roadmap
(sentence-length burstiness as continuous, function-word z-scores,
POS-bigram log-odds) named but not yet implemented.
Driven by the May 2026 competitive-landscape research
(detection-research lens): academic detectors lean heavily on
stylometric features, current avoid-ai-writing is regex-only. Layering
stylometry closes the methodological gap without requiring transformer
inference or a POS tagger dependency for this first signal.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: soften preface from prohibition to calibration
Feedback: the prior wording ("do not use it to make decisions",
"not evidence about anyone else's") was overcorrected. The right
framing is signals-not-proof, not signals-not-allowed. Detector
output is legitimate input; just not the sole basis for adverse
action. Updated preface accordingly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(cursor-rules): re-sync after preface softening
Body re-extracted from SKILL.md after the previous commit's wording
update. Frontmatter unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>