skills/ai-anti-patterns/SKILL.md
This skill should be used when reviewing AI-generated text, checking for AI writing patterns, detecting undisclosed AI content, or before finalizing any written content.
npx skillsauth add edwinhu/workflows ai-anti-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Field guide for detecting and revising AI-generated content indicators based on Wikipedia's "Signs of AI writing" guide.
Invoke this skill:
Check every piece of AI-assisted writing against these patterns before submission.
This is not optional. AI writing patterns are detectable and undermine credibility.
Start with the most objective indicators:
| Priority | Section | What to Check |
|----------|---------|---------------|
| 1 | ChatGPT Artifacts | turn0search0, oaicite, contentReference |
| 2 | Citation Problems | Hallucinated DOIs, dead links, non-existent sources |
| 3 | Prompt Refusals | "As an AI language model...", "I hope this helps" |
| 4 | Puffery | "stands as", "plays a vital role", "rich tapestry" |
| 5 | Structure | Section summaries, "Despite challenges", rule of three |
These patterns are unambiguous AI artifacts:
ChatGPT-Specific Artifacts:
turn0search0, turn1search2 (internal search references)oaicite:X (citation placeholders)contentReference[oaicite:X] (unresolved references)Prompt Refusals:
Puffery and Exaggeration:
Promotional Language:
Structural Patterns:
Stylistic Quirks:
Words/phrases the model reaches for that don't match the user's voice:
To be sure,):
admittedly, granted,, of course,, that said,, to be clear,,
no doubt,, we acknowledge that. Use To be sure, only when the
next sentence rebuts the concession (concede-then-rebut). If the next
sentence extends the disclaimer or frames scope, leave the original
phrasing or rewrite without a caveat word at all.writing-review/scripts/bridge_repetition_check.py for the detector.| AI Pattern | Human Alternative | |------------|-------------------| | "stands as a testament to" | "shows" or "demonstrates" | | "plays a vital role in" | "affects" or just state the effect | | "rich tapestry of" | describe specifically what it contains | | "nestled in the heart of" | "in" or "located in" | | "delves into" | "examines" or "covers" |
| AI Pattern | Human Alternative | |------------|-------------------| | Section summary of heading | Start with substance, not meta-commentary | | "Despite challenges..." | State the reality directly without formula | | Exactly three examples | Use the number that fits: 2, 4, 5, or just 1 | | "It's important to note" | Just state the important thing |
| AI Pattern | Human Alternative | |------------|-------------------| | "groundbreaking" | describe what it actually does | | "revolutionary" | compare to what came before | | "cutting-edge" | specify the technology | | "transformative" | show the transformation with evidence |
For detailed patterns and extensive examples, consult:
| File | Contents |
|------|----------|
| references/_index.md | Overview and quick screening guide |
| references/01-puffery-and-exaggeration.md | "Stands as", superficial analyses |
| references/02-promotional-language.md | "Rich tapestry", disclaimers |
| references/03-structural-patterns.md | Section summaries, negative parallelisms |
| references/04-stylistic-quirks.md | Elegant variation, false ranges |
| references/05-formatting-and-typography.md | Boldface, em dashes, emojis |
| references/06-communication-patterns.md | Subject lines, "I hope this helps" |
| references/07-template-artifacts.md | Mad Libs patterns, placeholders |
| references/08-markup-issues.md | Markdown vs wikitext confusion |
| references/09-chatgpt-specific-artifacts.md | turn0search, oaicite |
| references/10-citation-problems.md | Hallucinated DOIs, dead links |
| references/11-meta-indicators.md | Abrupt cutoffs, style discrepancies |
This plugin includes PostToolUse hooks that automatically scan Write/Edit output for anti-patterns. When patterns are detected:
The hook checks for all CRITICAL and HIGH severity patterns automatically.
From Wikipedia's guide:
/writing - Core writing principles from Elements of Style/writing-legal - Legal writing (Phase 2)/writing-econ - Economics writing (Phase 2)tools
Use when "query Dewey Data", "deweydata.io", "SafeGraph places/patterns/spend", "Advan foot traffic", "POI / points of interest", "mobility data", "dataplor", "Veraset", "PassBy", "crypto/Bitcoin ATM locations", or any pull from the Dewey Data academic marketplace (UVA/NYU Platform Subscription) via the deweypy/deweydatapy client, DuckDB, or the Dewey MCP server.
development
Use when submitting jobs to UVA HPC (Rivanna/Afton), writing Slurm scripts (sbatch/srun/squeue), converting SGE to Slurm, running compute on any Slurm-managed cluster, or building WRDS data pipelines with polars on HPC. Triggers: 'submit to HPC', 'sbatch', 'squeue', 'slurm job', 'run on Rivanna', 'run on Afton', 'HPC array job', 'convert SGE to Slurm', 'polars on HPC', 'WRDS from HPC'.
testing
Internal skill for literature review and source materialization. Called after brainstorm, before setup. NOT user-facing.
development
This skill should be used when the user asks to "add paper", "paperpile add", "fetch PDF for", "find and add", "search paperpile", "find in paperpile", "paperpile search", "label paper", "trash paper", "download paper", "paperpile index", "edit paper metadata", "update paper title", "fix paper author", "paperpile edit", "find PDF online", "search google for PDF", "resolve PDF", "fetch PDF for citation", "get full-text for DOI", "resolve cite to PDF", or any request to manage their Paperpile library or resolve a citation to a local PDF.