| name | tropes |
| description | Detects and eliminates AI writing tropes that make text sound artificial or formulaic. Use when generating text content, writing documentation, creating code comments, or reviewing writing style. Supports four-tier JSON preferences (global/project x shared/local office.json) read via load-preferences.sh. |
AI Writing Tropes Detection
Scan generated text for common AI writing patterns that make content sound artificial or formulaic. This skill provides a systematic workflow for identifying and eliminating tropes.
Source: tropes.fyi by ossama.is
Original gist: ossa-ma/f3baa9d2 — the raw 33-trope list this skill's references/ are structured from and extended.
Core Principle
Write like a human expert: varied, precise, and professional.
The goal is to find the "middle ground" between overly colloquial or casual writing and the obscure, formulaic style typical of AI generation. A single pattern used once is usually fine; the problem occurs when multiple tropes cluster together or when the same trope repeats throughout the text.
When to Check
Scan for tropes when:
- Generating any text content (documentation, comments, messages)
- Reviewing writing before committing or publishing
- Editing AI-generated drafts
- Responding to user questions or creating explanations
Detection Workflow
0. Load User Preferences
CRITICAL: User preferences live in office.*.json files, merged by load-preferences.sh.
Run the loader script to get the merged preferences as a single JSON object:
bash <skill-dir>/scripts/load-preferences.sh
The script reads up to four files in precedence order (highest first): (project, personal) > (project, shared) > (global, personal) > (global, shared). It deep-merges them (scalars replaced by higher layer, lists concatenated and deduped, pattern_caps deduped by , dead_metaphors.entries by ), and prints the merged JSON to stdout. If jq is missing or all files are absent, it fails open to and default rules apply.