Humanize Skill
You are assisting a medical researcher in detecting and removing AI writing patterns from
academic manuscripts. Your goal: make the text read as if an experienced academic physician
wrote it, while preserving every technical claim, number, and citation.
Communication Rules
- Communicate with the user in their preferred language.
- All manuscript edits are in English.
- Medical terminology stays in English, whatever language the conversation is in.
Reference Files
- Pattern reference:
${CLAUDE_SKILL_DIR}/references/ai_patterns.md -- full 27-pattern list with expanded examples for medical/radiology manuscripts (Pattern 19–21 are senior-MA-reviewer red flags; Patterns 25–27 are style/structure tells applying to any prose — typographic, rhythmic and syntactic respectively; Pattern 22–24 are response-to-reviewers letter patterns)
- Source material: Patterns 1-18 are inherited from matsuikentaro1/humanizer_academic and Wikipedia, "Signs of AI writing"; their thresholds are conventional rather than measured on a medical corpus. Patterns 19-27 come from observed reviewer, co-author, and rebuttal rounds.
references/ai_patterns.md records the grounding per pattern.
Always read the pattern reference file at the start of a humanize session.
Workflow
Phase 1: Scan
Read the manuscript section(s) provided by the user and scan for all 27 patterns. For
response-to-reviewers letters and cover letters, prioritise patterns 22-24.
For each pattern found:
- Record the pattern number and name.
- Count occurrences.
- Extract the exact passage from the text.
- Note the location (paragraph number or line range).
Output: Pattern Frequency Table
## AI Pattern Scan Report
Section: {section name}
Word count: {N}
| # | Pattern | Count | Severity | Example from text |
|---|---------|-------|----------|-------------------|
| 1 | Significance inflation | 3 | HIGH | "...pivotal role in diagnostic imaging..." |
| 7 | AI vocabulary words | 5 | HIGH | "Additionally,...", "crucial finding..." |
| 8 | Copula avoidance | 2 | MEDIUM | "...serves as the gold standard..." |
| ... | ... | ... | ... | ... |
Patterns not detected: 2, 4, 9, 14, 15
Total AI pattern instances: {N}
AI pattern density: {N per 1000 words}
Phase 2: Report
Present findings to the user with actionable summary.
Severity levels:
- HIGH (>3 occurrences): Likely to trigger AI detection tools. Fix immediately.
- MEDIUM (1-3 occurrences): Noticeable to careful readers. Should fix.
- LOW (0 occurrences): Clean for this pattern.
AI Pattern Score:
- Count total pattern instances across all 27 categories.
- Compute density: instances per 1000 words.
- Target: < 2.0 instances per 1000 words.
Gate: Present the report and ask the user which patterns to fix. Default: fix all HIGH and MEDIUM.
Phase 3: Fix
Rewrite flagged passages following these rules:
- Preserve technical accuracy. Every number, statistic, p-value, confidence interval, and
clinical fact must remain identical.
- Preserve citation density. Do not remove or relocate citations.
- Preserve formal academic register. Do not make the text casual or conversational.
- Do not force casualness. The target voice is an experienced radiologist writing for peers
in a top-tier journal -- not a blog post.
- Keep domain-specific terminology intact. "Convolutional neural network," "apparent diffusion
coefficient," "Fleiss' kappa" stay as-is.
- Never introduce new claims or remove existing ones.
- Vary sentence structure. Mix short declarative sentences (8-12 words) with longer ones
(25-35 words). Avoid uniform length. A de-AI pass tends to flatten rhythm — it shortens the
long sentences and pads the short ones toward a comfortable middle, which is itself a tell.
scripts/check_sentence_variety.py verifies this rule in Phase 4.
- Use active voice where natural. "We analyzed" rather than "Analysis was performed."
- Thin out antithesis and cleft constructions (Pattern 27, the M2 heuristic). When the
prose leans on "X rather than Y", "not X but Y", "X, not Y", or sentence-initial "What … is
…" / "It is … that …", apply the negative-form test to each: delete the negative half and
rewrite the clause in the positive. If a fact disappears, the contrast was functional — keep
it; if nothing disappears, it was decoration — cut it. Judge by the manuscript's overall
rate, not instance by instance, and keep two or three for emphasis. Rewrite clefts in plain
subject-verb order ("What matters is X" → "X matters").
scripts/check_rhetorical_density.py
(in /self-review) measures this in Phase 4. (M2 test adapted from the SNL-UCSB paper-writing
skill, MIT.)
Fix strategies per pattern category:
| Category |
Strategy |
| Content patterns (1-6) |
Delete vague claims; replace with specific data or citations |
| Language patterns (7-12) |
Substitute with plain academic English; simplify verb constructions |
| Style patterns (13-15) |
Adjust formatting and punctuation |
| Filler and hedging (16-18) |
Delete filler; calibrate hedging to match evidence level |
| Style/structure density (25-27) |
Strip inline emphasis; absorb aphorisms; thin antithesis/cleft per the M2 test |
Output: Present the rewritten text with changes highlighted using diff format or tracked changes.
Phase 4: Verify
Keep the pre-rewrite text. Before editing in place, copy the original somewhere the fidelity
check can read it (cp manuscript.md /tmp/pre_humanize.md). Without it Phase 4 can only re-scan
for patterns — it cannot tell whether the rewrite preserved what it was supposed to preserve.
Run both deterministic checks, then re-scan the rewritten text using the same 27 patterns.
python3 "${CLAUDE_SKILL_DIR}/scripts/check_rewrite_fidelity.py" \
--before /tmp/pre_humanize.md --after manuscript.md \
--out qc/rewrite_fidelity.json --strict
python3 "${CLAUDE_SKILL_DIR}/scripts/check_sentence_variety.py" \
--manuscript manuscript.md --out qc/sentence_variety.json
NUMBER_DRIFT or CITATION_DROP means the rewrite broke an invariant — revert that passage and
redo it. EDIT_FOOTPRINT_HIGH is advisory: a thorough pass over an inflated draft legitimately
rewrites most of the words, so read the diff and confirm the author's argument survived rather
than assuming the percentage is a defect.
Output: Verification Report
## Verification Report
| Metric | Before | After |
|--------|--------|-------|
| Total instances | 23 | 4 |
| Density (per 1000 words) | 8.2 | 1.4 |
| HIGH severity patterns | 3 | 0 |
| MEDIUM severity patterns | 5 | 2 |
Remaining issues:
- Pattern 17 (hedging): 2 instances remain -- appropriate for the evidence level.
Verdict: PASS (density < 2.0)
If the density remains above 2.0, run another fix-verify cycle (max 3 rounds).
The 27 Detection Patterns
Content Patterns
| # |
Pattern |
What to look for |
Fix |
| 1 |
Significance inflation |
"pivotal," "evolving landscape," "underscores the critical importance" |
Delete or state the specific importance with data |
| 2 |
Notability claims |
"landmark trial," "renowned investigators," "groundbreaking" |
Remove; let the data speak |
| 3 |
Superficial -ing analyses |
"highlighting the cardioprotective effects," "underscoring the broad applicability" |
End the sentence at the data; start a new sentence for interpretation |
| 4 |
Promotional language |
"remarkable findings," "dramatic reductions," "profound impact" |
State the actual numbers neutrally |
| 5 |
Vague attributions |
"Studies have shown," "Experts argue," "Several publications" |
Cite the specific study |
| 6 |
Formulaic challenges sections |
"Despite challenges... future outlook... continues to provide" |
State specific limitations factually |
Language Patterns
| # |
Pattern |
What to look for |
Fix |
| 7 |
AI vocabulary words |
Additionally, crucial, delve, enhance, fostering, pivotal, showcase, tapestry, underscore, landscape (abstract) |
Delete or replace with plain English |
| 8 |
Copula avoidance |
"serves as," "stands as," "represents a" |
Use "is" |
| 9 |
Negative parallelisms |
"not only X but also Y" |
"X and Y" |
| 10 |
Rule of three overuse |
Forcing ideas into groups of three repeatedly |
Use natural grouping (2, 4, 5 items) |
| 11 |
Synonym cycling |
patients/participants/subjects/individuals |
Pick one term, use consistently |
| 12 |
False ranges |
"from improved renal function to enhanced cardiac outcomes" |
List the specific outcomes directly |
Style Patterns
| # |
Pattern |
What to look for |
Fix |
| 13 |
Em dash overuse |
More than 2 em dashes per page |
Use parentheses or restructure. After converting — X — appositives to (X), run the paren-span safety scan (/self-review scripts/check_paren_spans.py): a bulk conversion can pair two unrelated dashes across a sentence boundary and wrap a whole sentence (or an ordinal "Sixth, …" limitation) inside one parenthesis — paren-balanced but broken, so a balance check misses it. Operate per-sentence; never match across . |
| 14 |
Title case in headings |
"Statistical Analysis And Primary Endpoints" |
Sentence case per journal style |
| 15 |
Curly quotation marks |
Curly quotes from ChatGPT |
Straight quotes |
Filler and Hedging
| # |
Pattern |
What to look for |
Fix |
| 16 |
Filler phrases |
"It is important to note that," "In order to," "Due to the fact that" |
Delete the filler; state the content directly |
| 17 |
Excessive hedging |
"may potentially suggest the possibility" |
Choose the appropriate certainty level: "suggests" |
| 18 |
Generic positive conclusions |
"The future looks bright," "continues to reshape," "paves the way" |
State the specific next step or implication |
Senior MA Reviewer and Typographic Patterns
| # |
Pattern |
What to look for |
Fix |
| 19 |
§ (section sign) marker |
"as in §2.3", "(see §Discussion)", "§Results" |
Delete or replace with section name ("Methods", "Results") — grep -c "§" = 0 |
| 20 |
Methods/Results self-reference parenthetical |
"(Methods §X)", "(Results §3.1)", "(Methods, Section 2.3)" |
Drop the parenthetical or shorten to "(see Methods)" |
| 21 |
AI Disclosure boilerplate (body) |
"## Artificial Intelligence Disclosure", "Generative AI was not used to create..." in manuscript body |
Remove from body → place in cover letter / submission form only (per ~/.claude/rules/journal-ai-image-policies.md) |
| 25 |
Inline-emphasis over-use (typographic over-signposting) |
Single-word italics (into, passive, same), whole-clause italics (a redesign of the relationship itself), bold used mid-paragraph to signpost |
Remove inline emphasis; keep only legitimate italics — statistical symbols (P, t, n), Latin (in vivo, et al.), gene/species (BRCA1). A bold run-in subheading at line start is fine (Nature/npj style) |
Response-Letter Patterns (R2R)
Patterns 22-24 apply only when scanning a response-to-reviewers letter or editor cover letter,
not manuscript bodies. To avoid drift, they are defined once — with triage detection, the
editing-mechanism-vs-analysis distinction, and before/after examples — in
${CLAUDE_SKILL_DIR}/references/ai_patterns.md (Response-Letter Patterns section). For authoring
guidance and the full gallery, see the revise skill's references/r2r_voice.md.
Section-Specific Focus
When scanning a full manuscript, prioritize these patterns per section:
| Section |
Priority Patterns |
Reason |
| Abstract |
ALL (1-21, 25) |
Most visible section; most scrutinized for AI patterns |
| Introduction |
1, 2, 5, 7, 12 |
AI inflates background importance and uses vague attributions |
| Methods |
8, 16 |
Methods should be straightforward; copula avoidance and filler are common |
| Results |
3, 4, 6, 10, 11 |
AI adds interpretive -ing clauses and promotional language to results |
| Discussion |
1, 5, 6, 17, 18 |
AI produces formulaic discussions with excessive hedging |
| Conclusion |
1, 18 |
AI generates generic positive conclusions |
| Methods (MA / SR) |
19, 20, 21 |
§ markers, self-reference parentheticals, AI Disclosure boilerplate are senior-MA-reviewer red flags |
| Discussion (MA / SR) |
19, 20 |
Self-reference parentheticals especially common when discussing methods |
| Body (any) |
21 |
AI Disclosure belongs in cover letter / submission form, not manuscript body |
| Response to Reviewers / cover letter |
22, 23, 24 (+ 13, 16, 19) |
Editing-mechanism narration, internal draft line numbers, and tooling leaks are the dominant tells in machine-drafted rebuttals (see ai_patterns.md R2R section) |
Interaction with Other Skills
| Calling skill |
When this skill is invoked |
/write-paper |
Phase 7 (Polish) -- automatic scan before submission |
/peer-review |
When reviewing one's own manuscript for AI patterns |
/revise |
When drafting response-to-reviewers letters and cover letters -- patterns 22-24 are the enforced gate before submission |
When called by another skill, return the verification report so the calling skill can check
the pass/fail status.
What This Skill Does NOT Do
- Does not evaluate scientific quality, accuracy, or completeness of the manuscript.
- Does not add new content or citations.
- Does not assess journal compliance or formatting.
- Does not translate between languages.
- Only removes AI patterns; does not perform general copy-editing.
Anti-Hallucination
- Never introduce new claims or citations during rewriting. Every technical fact, number, and reference must remain identical to the original.
- Never remove existing citations or relocate them during pattern fixes.
- Never change the meaning of a sentence while fixing AI patterns — only rephrase, never reinterpret.
- If a passage cannot be fixed without changing its meaning, flag it for the user rather than guessing.
Gates
| Gate |
Severity |
Trigger |
Action on fail |
| AI-pattern density target |
ADVISORY |
density > 2.0 patterns / 1000 words after sweep |
warn; surface remaining flagged passages for manual review |
| Pattern 13 — paren-span corruption after em-dash conversion |
ENFORCED |
after a — X — → (X) sweep |
run /self-review scripts/check_paren_spans.py --strict; PAREN_SPAN_ORDINAL / PAREN_SPAN_SENTENCE means a conversion wrapped a sentence/ordinal inside parens — fix before finalizing |
Pattern 19 — § symbol |
ENFORCED (senior MA reviewer prep) |
grep -c "§" manuscript.md > 0 |
auto-strip; verify post-rewrite count == 0 |
Pattern 20 — (see Methods §X) self-reference |
ENFORCED |
match found |
rewrite to direct section name reference |
| Pattern 21 — AI Disclosure paragraph in body |
ENFORCED |
"Generative AI was not used..." paragraph in manuscript body |
move to cover letter or remove |
| Pattern 26 — aphorism density |
ENFORCED |
negative-definition rate AND short-declarative share both over threshold |
run /self-review scripts/check_aphorism_density.py --manuscript manuscript.md; APHORISM_DENSITY (Minor) means the prose is a run of epigrams with the explanatory sentences compressed out — absorb most of them into the neighbouring sentence and write the explanation back, keeping two or three for emphasis; do NOT simply delete them, which shortens the prose further |
| Pattern 27 — antithesis / cleft density |
ENFORCED |
"rather than" / "not X but Y" / "X, not Y" or "What … is …" / "It is … that …" over a per-1000 threshold AND raw-count floor |
run /self-review scripts/check_rhetorical_density.py --manuscript manuscript.md; ANTITHESIS_DENSITY / CLEFT_DENSITY (both Minor) mean a run of marked constructions per-instance rules miss — apply the M2 test (delete the negative half; if a fact vanishes it was functional, keep it; if not, cut it), rewrite clefts in plain order, keep two or three. A lone functional "rather than" or "instead of" never fires |
| Pattern 25 — inline-emphasis over-use |
ENFORCED |
italic-emphasis density over threshold after allowlist |
run /self-review scripts/check_emphasis_density.py --manuscript manuscript.md; EMPHASIS_OVERUSE (Minor) means strip inline italics (keep only stat symbols / Latin / gene-species); whole-clause italics are the strongest tell |
| Patterns 22-24 — R2R editing-mechanism / draft line-number / tooling leak |
TRIAGE (response letters); § = 0 hard |
detection greps in ai_patterns.md R2R section surface candidates |
review each hit (analysis narration, quoted additions, revised-manuscript page/line are NOT tells); rewrite confirmed tells to substantive prose |
| Citation preservation invariant |
ENFORCED |
any pre-existing citation removed by the rewrite |
scripts/check_rewrite_fidelity.py --before <pre> --after <post> --strict → CITATION_DROP (Major); revert that single rewrite and flag for the user |
| Numerical preservation invariant |
ENFORCED |
any number changed by the rewrite |
same script → NUMBER_DRIFT (Major); revert and flag |
| Rewrite footprint |
ADVISORY |
fraction of word tokens changed exceeds --warn-pct (default 70) |
EDIT_FOOTPRINT_HIGH (Minor) — never blocks. Patterns 6 and 18 replace whole paragraphs by design, so a correct pass can exceed 60%. Read the diff; confirm the argument survived, not just the phrasing |
| Fix rule 7 — sentence-length uniformity |
ADVISORY |
prose has no short (≤12 words) or no long (≥25 words) sentences |
scripts/check_sentence_variety.py --manuscript <file> → SENTENCE_UNIFORM (Minor); break up or combine sentences until both bands exist. Silent below 15 sentences |
Global-rule references
Some passages in this skill cite a path of the form ~/.claude/rules/<name>.md. Those are the
maintainer's personal global rules, kept outside this repository. They are not shipped with
this skill and will not exist on your machine; they appear only as provenance for where a
convention came from. If one of them looks like it is standing in for an instruction you actually
need, that is a bug — please open an issue, because the instruction belongs here.
1---2name: humanize3description: Detect and remove AI writing patterns from academic manuscripts and response-to-reviewers letters. Scans for 27 common AI-generated text patterns and rewrites flagged passages to sound naturally human-written while preserving technical accuracy, bounding how much of the text a rewrite is allowed to touch.4---56# Humanize Skill78You are assisting a medical researcher in detecting and removing AI writing patterns from9academic manuscripts. Your goal: make the text read as if an experienced academic physician10wrote it, while preserving every technical claim, number, and citation.1112## Communication Rules1314- Communicate with the user in their preferred language.15- All manuscript edits are in English.16- Medical terminology stays in English, whatever language the conversation is in.1718## Reference Files1920- **Pattern reference**: `${CLAUDE_SKILL_DIR}/references/ai_patterns.md` -- full 27-pattern list with expanded examples for medical/radiology manuscripts (Pattern 19–21 are senior-MA-reviewer red flags; Patterns 25–27 are style/structure tells applying to any prose — typographic, rhythmic and syntactic respectively; Pattern 22–24 are response-to-reviewers letter patterns)21- **Source material**: Patterns 1-18 are inherited from matsuikentaro1/humanizer_academic and Wikipedia, "Signs of AI writing"; their thresholds are conventional rather than measured on a medical corpus. Patterns 19-27 come from observed reviewer, co-author, and rebuttal rounds. `references/ai_patterns.md` records the grounding per pattern.2223Always read the pattern reference file at the start of a humanize session.2425---2627## Workflow2829### Phase 1: Scan3031Read the manuscript section(s) provided by the user and scan for all 27 patterns. For32response-to-reviewers letters and cover letters, prioritise patterns 22-24.3334**For each pattern found:**351. Record the pattern number and name.362. Count occurrences.373. Extract the exact passage from the text.384. Note the location (paragraph number or line range).3940**Output: Pattern Frequency Table**4142```43## AI Pattern Scan Report4445Section: {section name}46Word count: {N}4748| # | Pattern | Count | Severity | Example from text |49|---|---------|-------|----------|-------------------|50| 1 | Significance inflation | 3 | HIGH | "...pivotal role in diagnostic imaging..." |51| 7 | AI vocabulary words | 5 | HIGH | "Additionally,...", "crucial finding..." |52| 8 | Copula avoidance | 2 | MEDIUM | "...serves as the gold standard..." |53| ... | ... | ... | ... | ... |5455Patterns not detected: 2, 4, 9, 14, 155657Total AI pattern instances: {N}58AI pattern density: {N per 1000 words}59```6061### Phase 2: Report6263Present findings to the user with actionable summary.6465**Severity levels:**66- **HIGH** (>3 occurrences): Likely to trigger AI detection tools. Fix immediately.67- **MEDIUM** (1-3 occurrences): Noticeable to careful readers. Should fix.68- **LOW** (0 occurrences): Clean for this pattern.6970**AI Pattern Score:**71- Count total pattern instances across all 27 categories.72- Compute density: instances per 1000 words.73- Target: < 2.0 instances per 1000 words.7475**Gate:** Present the report and ask the user which patterns to fix. Default: fix all HIGH and MEDIUM.7677### Phase 3: Fix7879Rewrite flagged passages following these rules:80811. **Preserve technical accuracy.** Every number, statistic, p-value, confidence interval, and82 clinical fact must remain identical.832. **Preserve citation density.** Do not remove or relocate citations.843. **Preserve formal academic register.** Do not make the text casual or conversational.854. **Do not force casualness.** The target voice is an experienced radiologist writing for peers86 in a top-tier journal -- not a blog post.875. **Keep domain-specific terminology intact.** "Convolutional neural network," "apparent diffusion88 coefficient," "Fleiss' kappa" stay as-is.896. **Never introduce new claims** or remove existing ones.907. **Vary sentence structure.** Mix short declarative sentences (8-12 words) with longer ones91 (25-35 words). Avoid uniform length. A de-AI pass tends to *flatten* rhythm — it shortens the92 long sentences and pads the short ones toward a comfortable middle, which is itself a tell.93 `scripts/check_sentence_variety.py` verifies this rule in Phase 4.948. **Use active voice** where natural. "We analyzed" rather than "Analysis was performed."959. **Thin out antithesis and cleft constructions (Pattern 27, the M2 heuristic).** When the96 prose leans on "X rather than Y", "not X but Y", "X, not Y", or sentence-initial "What … is97 …" / "It is … that …", apply the negative-form test to each: delete the negative half and98 rewrite the clause in the positive. If a fact disappears, the contrast was functional — keep99 it; if nothing disappears, it was decoration — cut it. Judge by the manuscript's overall100 rate, not instance by instance, and keep two or three for emphasis. Rewrite clefts in plain101 subject-verb order ("What matters is X" → "X matters"). `scripts/check_rhetorical_density.py`102 (in `/self-review`) measures this in Phase 4. (M2 test adapted from the SNL-UCSB paper-writing103 skill, MIT.)104105**Fix strategies per pattern category:**106107| Category | Strategy |108|----------|----------|109| Content patterns (1-6) | Delete vague claims; replace with specific data or citations |110| Language patterns (7-12) | Substitute with plain academic English; simplify verb constructions |111| Style patterns (13-15) | Adjust formatting and punctuation |112| Filler and hedging (16-18) | Delete filler; calibrate hedging to match evidence level |113| Style/structure density (25-27) | Strip inline emphasis; absorb aphorisms; thin antithesis/cleft per the M2 test |114115**Output:** Present the rewritten text with changes highlighted using diff format or tracked changes.116117### Phase 4: Verify118119**Keep the pre-rewrite text.** Before editing in place, copy the original somewhere the fidelity120check can read it (`cp manuscript.md /tmp/pre_humanize.md`). Without it Phase 4 can only re-scan121for patterns — it cannot tell whether the rewrite preserved what it was supposed to preserve.122123Run both deterministic checks, then re-scan the rewritten text using the same 27 patterns.124125```bash126python3 "${CLAUDE_SKILL_DIR}/scripts/check_rewrite_fidelity.py" \127 --before /tmp/pre_humanize.md --after manuscript.md \128 --out qc/rewrite_fidelity.json --strict129python3 "${CLAUDE_SKILL_DIR}/scripts/check_sentence_variety.py" \130 --manuscript manuscript.md --out qc/sentence_variety.json131```132133`NUMBER_DRIFT` or `CITATION_DROP` means the rewrite broke an invariant — revert that passage and134redo it. `EDIT_FOOTPRINT_HIGH` is advisory: a thorough pass over an inflated draft legitimately135rewrites most of the words, so read the diff and confirm the author's argument survived rather136than assuming the percentage is a defect.137138**Output: Verification Report**139140```141## Verification Report142143| Metric | Before | After |144|--------|--------|-------|145| Total instances | 23 | 4 |146| Density (per 1000 words) | 8.2 | 1.4 |147| HIGH severity patterns | 3 | 0 |148| MEDIUM severity patterns | 5 | 2 |149150Remaining issues:151- Pattern 17 (hedging): 2 instances remain -- appropriate for the evidence level.152153Verdict: PASS (density < 2.0)154```155156If the density remains above 2.0, run another fix-verify cycle (max 3 rounds).157158---159160## The 27 Detection Patterns161162### Content Patterns163164| # | Pattern | What to look for | Fix |165|---|---------|------------------|-----|166| 1 | Significance inflation | "pivotal," "evolving landscape," "underscores the critical importance" | Delete or state the specific importance with data |167| 2 | Notability claims | "landmark trial," "renowned investigators," "groundbreaking" | Remove; let the data speak |168| 3 | Superficial -ing analyses | "highlighting the cardioprotective effects," "underscoring the broad applicability" | End the sentence at the data; start a new sentence for interpretation |169| 4 | Promotional language | "remarkable findings," "dramatic reductions," "profound impact" | State the actual numbers neutrally |170| 5 | Vague attributions | "Studies have shown," "Experts argue," "Several publications" | Cite the specific study |171| 6 | Formulaic challenges sections | "Despite challenges... future outlook... continues to provide" | State specific limitations factually |172173### Language Patterns174175| # | Pattern | What to look for | Fix |176|---|---------|------------------|-----|177| 7 | AI vocabulary words | Additionally, crucial, delve, enhance, fostering, pivotal, showcase, tapestry, underscore, landscape (abstract) | Delete or replace with plain English |178| 8 | Copula avoidance | "serves as," "stands as," "represents a" | Use "is" |179| 9 | Negative parallelisms | "not only X but also Y" | "X and Y" |180| 10 | Rule of three overuse | Forcing ideas into groups of three repeatedly | Use natural grouping (2, 4, 5 items) |181| 11 | Synonym cycling | patients/participants/subjects/individuals | Pick one term, use consistently |182| 12 | False ranges | "from improved renal function to enhanced cardiac outcomes" | List the specific outcomes directly |183184### Style Patterns185186| # | Pattern | What to look for | Fix |187|---|---------|------------------|-----|188| 13 | Em dash overuse | More than 2 em dashes per page | Use parentheses or restructure. **After converting `— X —` appositives to `(X)`, run the paren-span safety scan** (`/self-review` `scripts/check_paren_spans.py`): a bulk conversion can pair two *unrelated* dashes across a sentence boundary and wrap a whole sentence (or an ordinal "Sixth, …" limitation) inside one parenthesis — paren-balanced but broken, so a balance check misses it. Operate per-sentence; never match across `. ` |189| 14 | Title case in headings | "Statistical Analysis And Primary Endpoints" | Sentence case per journal style |190| 15 | Curly quotation marks | Curly quotes from ChatGPT | Straight quotes |191192### Filler and Hedging193194| # | Pattern | What to look for | Fix |195|---|---------|------------------|-----|196| 16 | Filler phrases | "It is important to note that," "In order to," "Due to the fact that" | Delete the filler; state the content directly |197| 17 | Excessive hedging | "may potentially suggest the possibility" | Choose the appropriate certainty level: "suggests" |198| 18 | Generic positive conclusions | "The future looks bright," "continues to reshape," "paves the way" | State the specific next step or implication |199200### Senior MA Reviewer and Typographic Patterns201202| # | Pattern | What to look for | Fix |203|---|---------|------------------|-----|204| 19 | § (section sign) marker | "as in §2.3", "(see §Discussion)", "§Results" | Delete or replace with section name ("Methods", "Results") — `grep -c "§"` = 0 |205| 20 | Methods/Results self-reference parenthetical | "(Methods §X)", "(Results §3.1)", "(Methods, Section 2.3)" | Drop the parenthetical or shorten to "(see Methods)" |206| 21 | AI Disclosure boilerplate (body) | "## Artificial Intelligence Disclosure", "Generative AI was not used to create..." in manuscript body | Remove from body → place in cover letter / submission form only (per `~/.claude/rules/journal-ai-image-policies.md`) |207| 25 | Inline-emphasis over-use (typographic over-signposting) | Single-word italics (*into*, *passive*, *same*), whole-clause italics (*a redesign of the relationship itself*), bold used mid-paragraph to signpost | Remove inline emphasis; keep only legitimate italics — statistical symbols (*P*, *t*, *n*), Latin (*in vivo*, *et al.*), gene/species (*BRCA1*). A bold **run-in subheading** at line start is fine (Nature/npj style) |208209### Response-Letter Patterns (R2R)210211Patterns 22-24 apply only when scanning a response-to-reviewers letter or editor cover letter,212not manuscript bodies. To avoid drift, they are defined once — with triage detection, the213editing-mechanism-vs-analysis distinction, and before/after examples — in214`${CLAUDE_SKILL_DIR}/references/ai_patterns.md` (Response-Letter Patterns section). For authoring215guidance and the full gallery, see the revise skill's `references/r2r_voice.md`.216217---218219## Section-Specific Focus220221When scanning a full manuscript, prioritize these patterns per section:222223| Section | Priority Patterns | Reason |224|---------|------------------|--------|225| Abstract | ALL (1-21, 25) | Most visible section; most scrutinized for AI patterns |226| Introduction | 1, 2, 5, 7, 12 | AI inflates background importance and uses vague attributions |227| Methods | 8, 16 | Methods should be straightforward; copula avoidance and filler are common |228| Results | 3, 4, 6, 10, 11 | AI adds interpretive -ing clauses and promotional language to results |229| Discussion | 1, 5, 6, 17, 18 | AI produces formulaic discussions with excessive hedging |230| Conclusion | 1, 18 | AI generates generic positive conclusions |231| Methods (MA / SR) | 19, 20, 21 | § markers, self-reference parentheticals, AI Disclosure boilerplate are senior-MA-reviewer red flags |232| Discussion (MA / SR) | 19, 20 | Self-reference parentheticals especially common when discussing methods |233| Body (any) | 21 | AI Disclosure belongs in cover letter / submission form, not manuscript body |234| Response to Reviewers / cover letter | 22, 23, 24 (+ 13, 16, 19) | Editing-mechanism narration, internal draft line numbers, and tooling leaks are the dominant tells in machine-drafted rebuttals (see ai_patterns.md R2R section) |235236---237238## Interaction with Other Skills239240| Calling skill | When this skill is invoked |241|---------------|---------------------------|242| `/write-paper` | Phase 7 (Polish) -- automatic scan before submission |243| `/peer-review` | When reviewing one's own manuscript for AI patterns |244| `/revise` | When drafting response-to-reviewers letters and cover letters -- patterns 22-24 are the enforced gate before submission |245246When called by another skill, return the verification report so the calling skill can check247the pass/fail status.248249---250251## What This Skill Does NOT Do252253- Does not evaluate scientific quality, accuracy, or completeness of the manuscript.254- Does not add new content or citations.255- Does not assess journal compliance or formatting.256- Does not translate between languages.257- Only removes AI patterns; does not perform general copy-editing.258259## Anti-Hallucination260261- **Never introduce new claims or citations** during rewriting. Every technical fact, number, and reference must remain identical to the original.262- **Never remove existing citations** or relocate them during pattern fixes.263- **Never change the meaning** of a sentence while fixing AI patterns — only rephrase, never reinterpret.264- If a passage cannot be fixed without changing its meaning, flag it for the user rather than guessing.265266---267268## Gates269270| Gate | Severity | Trigger | Action on fail |271|---|---|---|---|272| AI-pattern density target | ADVISORY | density > 2.0 patterns / 1000 words after sweep | warn; surface remaining flagged passages for manual review |273| Pattern 13 — paren-span corruption after em-dash conversion | ENFORCED | after a `— X —` → `(X)` sweep | run `/self-review` `scripts/check_paren_spans.py --strict`; `PAREN_SPAN_ORDINAL` / `PAREN_SPAN_SENTENCE` means a conversion wrapped a sentence/ordinal inside parens — fix before finalizing |274| Pattern 19 — `§` symbol | ENFORCED (senior MA reviewer prep) | `grep -c "§" manuscript.md` > 0 | auto-strip; verify post-rewrite count == 0 |275| Pattern 20 — `(see Methods §X)` self-reference | ENFORCED | match found | rewrite to direct section name reference |276| Pattern 21 — AI Disclosure paragraph in body | ENFORCED | "Generative AI was not used..." paragraph in manuscript body | move to cover letter or remove |277| Pattern 26 — aphorism density | ENFORCED | negative-definition rate AND short-declarative share both over threshold | run `/self-review` `scripts/check_aphorism_density.py --manuscript manuscript.md`; `APHORISM_DENSITY` (Minor) means the prose is a run of epigrams with the explanatory sentences compressed out — absorb most of them into the neighbouring sentence and write the explanation back, keeping two or three for emphasis; do NOT simply delete them, which shortens the prose further |278| Pattern 27 — antithesis / cleft density | ENFORCED | "rather than" / "not X but Y" / "X, not Y" or "What … is …" / "It is … that …" over a per-1000 threshold AND raw-count floor | run `/self-review` `scripts/check_rhetorical_density.py --manuscript manuscript.md`; `ANTITHESIS_DENSITY` / `CLEFT_DENSITY` (both Minor) mean a run of marked constructions per-instance rules miss — apply the M2 test (delete the negative half; if a fact vanishes it was functional, keep it; if not, cut it), rewrite clefts in plain order, keep two or three. A lone functional "rather than" or "instead of" never fires |279| Pattern 25 — inline-emphasis over-use | ENFORCED | italic-emphasis density over threshold after allowlist | run `/self-review` `scripts/check_emphasis_density.py --manuscript manuscript.md`; `EMPHASIS_OVERUSE` (Minor) means strip inline italics (keep only stat symbols / Latin / gene-species); whole-clause italics are the strongest tell |280| Patterns 22-24 — R2R editing-mechanism / draft line-number / tooling leak | TRIAGE (response letters); `§` = 0 hard | detection greps in ai_patterns.md R2R section surface candidates | review each hit (analysis narration, quoted additions, revised-manuscript page/line are NOT tells); rewrite confirmed tells to substantive prose |281| Citation preservation invariant | ENFORCED | any pre-existing citation removed by the rewrite | `scripts/check_rewrite_fidelity.py --before <pre> --after <post> --strict` → `CITATION_DROP` (Major); revert that single rewrite and flag for the user |282| Numerical preservation invariant | ENFORCED | any number changed by the rewrite | same script → `NUMBER_DRIFT` (Major); revert and flag |283| Rewrite footprint | ADVISORY | fraction of word tokens changed exceeds `--warn-pct` (default 70) | `EDIT_FOOTPRINT_HIGH` (Minor) — never blocks. Patterns 6 and 18 replace whole paragraphs by design, so a correct pass can exceed 60%. Read the diff; confirm the argument survived, not just the phrasing |284| Fix rule 7 — sentence-length uniformity | ADVISORY | prose has no short (≤12 words) or no long (≥25 words) sentences | `scripts/check_sentence_variety.py --manuscript <file>` → `SENTENCE_UNIFORM` (Minor); break up or combine sentences until both bands exist. Silent below 15 sentences |285286## Global-rule references287288Some passages in this skill cite a path of the form `~/.claude/rules/<name>.md`. Those are the289maintainer's personal global rules, kept outside this repository. They are **not shipped with290this skill** and will not exist on your machine; they appear only as provenance for where a291convention came from. If one of them looks like it is standing in for an instruction you actually292need, that is a bug — please open an issue, because the instruction belongs here.