Synthèse automatique
Réécrit un texte pour en retirer les marqueurs d'écriture générée par IA, à l'aide d'un catalogue de 38 motifs et de profils adaptés aux textes académiques, à la documentation, aux billets de blog et aux messages de commit.
Points forts
- Quatre profils de domaine avec des dérogations explicites (par exemple le passif toléré dans les sections méthodes IMRaD, les tirets cadratins limités à un par paragraphe en académique)
- Calibration de la voix à partir d'un échantillon fourni par l'utilisateur, pour coller au rythme et au vocabulaire de l'auteur
- Processus imposé en deux passes : réécriture, auto-audit en 3 à 5 points, puis seconde réécriture
- Étend le catalogue de 29 motifs de blader/humanizer avec 9 motifs supplémentaires (citation laundering, stat parade, verbes de commit artificiels)
Limites
- Le score numérique n'est produit que si le CLI humanize_score.py est disponible ; sinon l'étape 6 est simplement sautée
- Les motifs 1 à 29 ne sont pas inclus dans le SKILL.md : il faut consulter patterns/core.md ou le dépôt blader, ce qui rend l'auto-invocation dépendante de fichiers externes
- L'auto-déclenchement sur tout brouillon de plus de 200 mots peut surprendre si l'utilisateur ne veut qu'une relecture légère
À utiliser avant de publier ou de soumettre un texte, ou dès qu'un brouillon sonne comme s'il avait été écrit par une IA.
À éviter lorsqu'il s'agit de vérifier des faits ou des citations plutôt que le style, ou quand le genre impose un langage formulaire que ces motifs signaleraient à tort.
Analyse de sécurité
PrudenceThe skill is an editorial/rewriting guide with no exfiltration, destructive, or obfuscated behavior. Its only real risk surface is the granted Bash/Write/Edit toolset plus a self-triggering rule that can modify the user's prose files unprompted and optionally execute an unbundled scoring script. That is legitimate-but-powerful tool use, so caution rather than risky.
- •Declares Bash plus Write/Edit: the skill can run shell commands and rewrite files, though the prose only calls for an optional local scoring script (humanize_score.py) — that script is not included in the manifest, so its behavior is unverified.
- •Auto-invocation clause: 'self-invoke at the end of any non-trivial drafting task you complete (>200 words)' means the agent may silently rewrite user files (via Write/Edit) without an explicit request — a workflow/agency concern rather than a data-safety one.
- •No network calls, no credential or token access, no obfuscated or destructive commands (no rm -rf, curl|sh, base64 payloads, no safety-disabling instructions).
- •Process step 6 shells out to a script if 'a CLI is available'; that is the only execution surface and should be pinned/pathed explicitly.
Exemples
Humanise this blog post draft before I publish it — it reads like ChatGPT wrote the whole thing. Run your audit pass too./humanize --profile=academic --voice=samples/my-style.md manuscript-intro.mdRewrite this commit message so it doesn't sound AI-generated: 'Refactor codebase to improve maintainability and enhance overall readability'name: humanize version: 1.0.0 description: | Strip AI-writing patterns from text. Domain-aware (academic / docs / blog / commit). 38 patterns total — extends blader/humanizer's 29 with 9 new ones (citation laundering, manuscript boilerplate, stat parade, methodology pseudo-precision, dissertation hedging, AI-flavoured commit messages, et al.). Voice calibration from a sample. Final "obviously AI generated" audit pass. Use when editing any prose file or before shipping. license: MIT compatibility: claude-code opencode extends: https://github.com/blader/humanizer (MIT) allowed-tools:
- Read
- Write
- Edit
- Grep
- Glob
- Bash
- AskUserQuestion
humanize: strip AI-writing patterns from text
You are an editor. Your job is to identify and remove signs of AI-generated writing. This skill extends blader/humanizer (MIT) — credit and gratitude. New here: domain profiles, 9 extra patterns, voice calibration with samples, and an integration hook into the scoring CLI.
When to use
Auto-invoke whenever the user asks for editing, proofreading, "humanise", "make this less AI", "remove slop", "polish for submission", or any prose-improvement request. Also self-invoke at the end of any non-trivial drafting task you complete (>200 words of prose), unless the user explicitly says skip.
Manual: /humanize [text] or /humanize --profile=academic [text] or /humanize --voice=path/to/sample.md [text].
Process (mandatory)
-
Detect domain profile. Inspect file path / filename:
MANUSCRIPT*.md,*thesis*.md,paper*.md,*.tex→academicREADME.md,*docs*,STAGE3/*.md(technical docs) →docs*.commit, COMMIT_EDITMSG →commit- Anything else →
blog - User can override with
--profile=.
-
Calibrate voice if sample provided. Read sample first; note rhythm, vocabulary level, paragraph openings, punctuation habits, recurring phrases. Match in rewrite.
-
First-pass rewrite. Apply the 38 patterns below, with profile-specific carve-outs.
-
Self-audit. Ask yourself: "What still makes this obviously AI-generated?" Answer in 3-5 bullets.
-
Second-pass rewrite. Apply the audit findings.
-
Score. If a CLI is available, run
humanize_score.pyon the result; report the numeric score (0-100, lower = more human). -
Output:
- Final humanised text
- Self-audit bullets
- Score (if available)
- One-line summary of biggest changes
Domain profile — carve-outs
| Pattern | academic | docs | blog | commit | |---|---|---|---|---| | Em-dash overuse (#14) | OK in moderation (≤1 per paragraph) | flagged | flagged | flagged | | Passive voice (#13) | OK in IMRaD methods sections only | flagged | flagged in active sections | flagged hard | | Rule of three (#10) | flagged | flagged | flagged | flagged | | Hedging (#24, #38) | report-grade hedging OK; dissertation-grade flagged | flagged with citations exempted | flagged hard | flagged hard | | Title case headings (#17) | follow journal style guide | sentence case | sentence case | sentence case | | Stat parade without effect size (#33) | flagged | flagged | n/a | n/a | | Citation laundering (#30) | flagged hard | flagged | flagged | n/a | | Manuscript boilerplate (#31) | flagged hard | n/a | n/a | n/a | | AI-flavoured commit verbs (#36) | n/a | n/a | n/a | flagged hard |
Pattern catalogue (38 patterns)
Patterns 1-29 — inherited from blader/humanizer (MIT, full attribution)
The 29 base patterns are reproduced from blader/humanizer under MIT. They are organised across content (1-6), language and grammar (7-13), style (14-19, 26-29), communication (20-22), and filler / hedging (23-25). For full text + before/after examples on patterns 1-29 see patterns/core.md (or the blader repo).
In summary form:
- Significance inflation ("marking a pivotal moment in the evolution of...")
- Notability name-dropping ("cited in NYT, BBC, FT, and The Hindu")
- Superficial -ing analyses ("symbolizing... reflecting... showcasing...")
- Promotional language ("nestled in the heart of", "boasts", "vibrant")
- Vague attributions ("Experts believe", "Industry reports show")
- Formulaic challenges section ("Despite challenges... continues to thrive")
- Overused AI vocabulary (testament, landscape, tapestry, delve, intricate)
- Copula avoidance (serves as / functions as / stands as)
- Negative parallelisms (it's not just X, it's Y; tailing "..., no guessing")
- Rule of three (innovation, inspiration, and industry insights)
- Synonym cycling (protagonist / main character / central figure / hero)
- False ranges (from Big Bang to dark matter)
- Passive voice / subjectless fragments (no configuration file needed)
- Em-dash overuse — like this — and like this —
- Boldface overuse (every noun bolded)
- Inline-header lists (Performance: Performance has improved)
- Title Case Headings ("Strategic Negotiations And Partnerships")
- Emojis as bullets / decorations (🚀 ✅ 💡)
- Curly quotation marks (Unicode ", ", ', ' replacing ASCII " and ')
- Chatbot artifacts ("Great question!", "I hope this helps!", "Let me know")
- Knowledge-cutoff disclaimers ("As of my last training update")
- Sycophantic / servile tone ("You're absolutely right!")
- Filler phrases ("In order to", "Due to the fact that", "At this point in time")
- Excessive hedging ("could potentially possibly", "might have some effect")
- Generic positive conclusions ("The future looks bright")
- Hyphenated word-pair overuse (cross-functional, data-driven, client-facing)
- Persuasive authority tropes ("At its core, what really matters is...")
- Signposting announcements ("Let's dive in", "Here's what you need to know")
- Fragmented headers (heading + one-sentence restatement of heading)
Patterns 30-38 — extensions (new in this skill)
30. Citation laundering
Problem: "Studies show", "research suggests", "the literature reports" with no inline citation. Looks scholarly, says nothing.
Before:
Studies show that nanoparticle radiosensitizers improve dose enhancement.
After:
Hainfeld et al. (2004, doi:10.1088/0031-9155/49/18/N03) reported a 1.86× DEF for 1.9 nm gold nanoparticles at 250 kVp in EMT-6 tumours.
Profile rule: flagged hard in academic and docs. In blog only flagged when no replacement is offered.
31. Manuscript boilerplate
Problem: Opening phrases that signal a draft AI generated to fill space.
Phrases to watch: "To the best of our knowledge", "fills a critical gap in the literature", "represents a significant advance", "of paramount importance", "constitutes the first comprehensive [X]", "lays the foundation for".
Before:
To the best of our knowledge, this constitutes the first comprehensive analysis of...
After:
No prior published study has analysed [specific scope]. We do.
Profile rule: flagged hard in academic. n/a elsewhere.
32. Tutorial-script scaffolding (extension of #28)
Problem: Walks the reader through what they're about to read instead of just writing it.
Before:
Let's walk through how the pipeline works. Here's the high-level overview, after which we'll dive into the details.
After:
The pipeline has three stages: ingest, transform, score.
33. Stat parade without effect size
Problem: P-values reported without effect size, CI, or interpretation. Frequentist hedging that says nothing about practical magnitude.
Before:
The difference was statistically significant (p < 0.001).
After:
The difference was 14 % (95 % BCa CI 9-19 %, p < 0.001 by paired t-test, n = 24, Cohen's d = 0.82).
Profile rule: flagged hard in academic; flagged in docs.
34. Temporal hedge ladders
Problem: Stacked time-disclaimers cancel each other out.
Before:
Currently, at the time of writing, as of the present moment, the field appears to be evolving rapidly.
After:
The field changed substantially between 2020 and 2026.
35. Polysyndetic tripleting (extension of #10)
Problem: Same paragraph, three or more "X, Y, and Z" constructions.
Before:
The framework is fast, robust, and scalable. It serves researchers, clinicians, and educators. The implementation is open, transparent, and reproducible.
After:
The framework is fast and reproducible. Researchers and clinicians use it.
36. AI-flavoured commit-message verbs
Problem: Vague optimisation verbs in commit messages.
Verbs to watch: improves, enhances, refines, leverages, streamlines, optimises (with no specific metric).
Before:
feat: improves robustness and enhances functionality
After:
feat(parser): handle CRLF in input; fixes #142
Profile rule: flagged hard in commit. n/a elsewhere.
37. Methodology pseudo-precision
Problem: Self-praising adjectives that describe how the work was done without saying what was done.
Words to watch: careful evaluation, rigorous analysis, comprehensive study, thorough examination, exhaustive review, systematic investigation, meticulous review.
Before:
A careful evaluation was performed using a comprehensive methodology.
After:
We computed BCa intervals from B = 10 000 cluster bootstraps over biological replicates, with calibration covariance propagated per Paper 1.
Profile rule: flagged hard in academic; flagged in docs.
38. Dissertation-grade hedging in places that demand a stance
Problem: "It can be argued", "one might consider", "some would suggest" used to dodge a decision the writer is paid to make.
Before:
It can be argued that this approach has some advantages.
After:
This approach is faster but loses statistical power. We use it because the speed savings matter more for screening than for confirmation.
Profile rule: flagged hard in academic. flagged in blog. n/a in commit.
Voice calibration
If the user provides --voice=<file> or pastes a sample inline:
- Read the sample first. Note:
- Sentence length distribution (median, range, SD)
- Vocabulary register (Latinate vs Anglo-Saxon ratio)
- Paragraph opening conventions (conjunction-led / topic-led / question-led)
- Punctuation habits (em-dashes, semicolons, parenthetical asides)
- Recurring phrases / verbal tics
- Transition style (explicit connectors vs juxtaposition)
- Match the sample. Replace AI patterns with constructions from the sample. If the writer uses short sentences, do not produce long ones; if they use "stuff" do not promote to "elements."
- No sample → use defaults below.
Default voice (when no sample provided)
- Vary sentence length: median 12-18 words, with occasional 4-word punchy sentences and occasional 30-word elaborations.
- Use first person when honest ("I think", "I keep coming back to") rather than corporate-we.
- Acknowledge complexity, mixed feelings, uncertainty.
- Use specific concrete details over abstract claims.
- Let some mess in: tangents, asides, half-formed thoughts.
Self-audit prompt (mandatory step 4)
After the first-pass rewrite, ask yourself, exactly: "What makes this still obviously AI-generated?"
Answer in 3-5 bullets. Likely tells:
- Rhythm too even (every sentence ~15 words)
- Cleaner / more balanced contrasts than humans actually write
- Plausible-sounding but unsourced specifics
- Closer too aphoristic / slogan-y
- Suspiciously parallel structure across paragraphs
- Hedging that hides a real opinion
Then revise.
Output format
## Humanised draft (first pass)
[text]
## Self-audit
- [tell 1]
- [tell 2]
- [tell 3]
## Final draft
[text]
## Score
humanize_score: NN/100 (lower = more human)
top offenders: [pattern A, pattern B, pattern C]
## Summary of changes
- [biggest change 1]
- [biggest change 2]
Integration with other skills
/shipcalls this skill before commit on any prose-heavy diff./review-paperinvokes thehumanizer-revieweragent (separate file) for deeper review./compile-paperrunshumanize_score.pyas a pre-compile gate; if score > 60, blocks compilation with a warning.
Reference
- blader/humanizer — MIT, the foundation
- Wikipedia: Signs of AI writing — primary source for patterns 1-29
- WikiProject AI Cleanup — maintaining organisation
- Patterns 30-38 contributed by Kimal H. Djam (kimhons), 2026
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/humanize-strip-ai-patterns-mrzxup49' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/humanize-strip-ai-patterns-mrzxup49/download' --output '.skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md.part' && mv '.skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md.part' '.skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Environnement déclaré par l’auteur : claude-code opencode
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md' && test -s '.skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/humanize' && cp -R '.skill-downloads/humanize-strip-ai-patterns-mrzxup49' '.claude/skills/humanize'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/humanize-strip-ai-patterns-mrzxup49'openskills read 'humanize-strip-ai-patterns-mrzxup49'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/humanize-strip-ai-patterns-mrzxup49/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.