Deslopify is an agent-neutral skill (Agent Skills format) that rewrites AI-sounding prose into natural human copy while preserving Markdown structure and factual content.
- Removes formulaic AI writing patterns using a 24-pattern taxonomy.
- Preserves protected spans: code blocks, inline code, URLs, link text, quotes, numbers, citations, and footnotes.
- Uses a hybrid pattern source strategy:
- curated local rules (canonical)
- Wikipedia sync cache (update signal)
- Defaults to final rewritten text only unless diagnostics are requested.
- Ships a real CLI:
deslopify lint,deslopify check, anddeslopify eval. - Supports explicit rewrite presets:
technical,marketing,essay, andteam-update. - Excludes protected spans from lint and evaluation scans by default.
skills/deslopify/
├── __init__.py
├── cli.py
├── core.py
├── SKILL.md
├── references/
│ ├── ai_tells.wikitext
│ ├── ai_tells_fallback.txt
│ ├── pattern-catalog.md
│ ├── patterns.json
│ ├── rewrite-protocol.md
│ └── voice-mode.md
├── scripts/
│ ├── check_rewrite.py
│ ├── evaluate_rewrites.py
│ ├── fetch_wikipedia_ai_tells.py
│ └── lint_ai_tells.py
└── tests/
└── fixtures/
├── input/
└── output/
python3 -m pip install .For local development:
python3 -m pip install -e .This installs the deslopify command.
mkdir -p ~/.codex/skills
cp -R skills/deslopify ~/.codex/skills/deslopifyThen restart Codex.
Copy skills/deslopify into the configured skills directory for your setup, then restart the agent.
Prompt examples:
deslopify article.mddeslopify this draft and keep headings as-isdeslopify this memo with the technical presetdeslopify this team update and include diagnostics
Lint a draft:
deslopify lint path/to/draft.md
deslopify lint path/to/draft.md --diagnostics --preset technical
deslopify lint path/to/draft.md --format json --strictValidate a single rewrite pair:
deslopify check before.md after.md
deslopify check before.md after.md --preset team-updateEvaluate the fixture suite:
deslopify eval skills/deslopify/tests/fixtures
deslopify eval skills/deslopify/tests/fixtures --format jsonRun from repo root.
python3 skills/deslopify/scripts/fetch_wikipedia_ai_tells.pyBehavior:
- live fetch from Wikipedia
- fallback to cached
skills/deslopify/references/ai_tells.wikitext - fallback to local
skills/deslopify/references/ai_tells_fallback.txt
python3 skills/deslopify/scripts/lint_ai_tells.py path/to/draft.mdUseful options:
python3 skills/deslopify/scripts/lint_ai_tells.py path/to/draft.md --strict
python3 skills/deslopify/scripts/lint_ai_tells.py path/to/draft.md --format json
python3 skills/deslopify/scripts/lint_ai_tells.py path/to/draft.md --min-severity high
python3 skills/deslopify/scripts/lint_ai_tells.py path/to/draft.md --diagnostics --preset technicalExit behavior:
0: no blocking patterns2: blocking patterns found1: runtime/config error
python3 skills/deslopify/scripts/evaluate_rewrites.py skills/deslopify/tests/fixturespython3 skills/deslopify/scripts/check_rewrite.py before.md after.mdChecks:
- protected-span invariants unchanged
- pattern-hit reduction from input to output
- length drift threshold guardrail
- Keep headings/lists/tables/order intact unless explicitly requested otherwise.
- Never invent facts or citations.
- Prefer direct, concrete phrasing over inflated or promotional language.
- Keep tone aligned with source context (technical, marketing, essay).
- Wikipedia: Signs of AI writing