# De AI

> Transform AI-sounding text into human, authentic writing while preserving meaning and facts. Focuses on quality improvement over detection evasion. Supports multiple languages with language-specific optimization. Use when humanizing AI-generated text, removing AI tells from drafts, or improving text authenticity.

- Skill: `glebis/de-ai` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add glebis/de-ai`
- Raw SKILL.md: https://api.skillmd.com/api/skills/glebis/de-ai/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: glebis (https://skillmd.com/u/glebis)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/glebis/de-ai

---


# De-AI Text Humanization Skill

## Objective

Transform AI-sounding text into human, authentic writing while strictly preserving meaning and facts. Focus on quality improvement over detection evasion.

## Core Principles

1. **Meaning Preservation First**: Never sacrifice accuracy for "humanness"
2. **Language-Aware**: Optimize for language-specific patterns (Russian ≠ English ≠ German)
3. **Iterative Dialogue**: Understand context before processing
4. **Transparency**: Explain changes when requested
5. **Professional Quality**: Focus on readability and authenticity, not academic cheating

## Workflow

### Phase 1: Context Gathering (if interactive=true)

Use AskUserQuestion to understand:

1. **Purpose & Audience**
   - Why was this written? (inform, persuade, document, entertain)
   - Who will read it? (general public, specialists, stakeholders)

2. **Constraints & Priorities**
   - Must preserve: facts, citations, technical terms, specific phrasing?
   - Flexibility: can restructure? can cut redundancy? can add subjectivity?
   - Tone target: formal/casual, confident/exploratory, personal/objective?

3. **Language-Specific**
   - For Russian: formality level, should preserve/add participles?
   - For German: compound words acceptable? prefer simple structures?
   - For English: US/UK/International conventions?

**Skip questions if**:
- User explicitly said "don't ask questions"
- Interactive mode disabled
- Context is obvious from text itself

### Phase 2: AI Tell Diagnosis

Identify patterns at six levels:

#### 1. Structural Level
- Uniform paragraph length
- List-like enumeration
- Symmetrical organization
- Predictable flow

#### 2. Sentence Level
- Uniform complexity (all mid-range)
- Similar lengths
- Predictable syntax
- No fragments or run-ons

#### 3. Lexical Level

**Universal AI Words** (any language):
- crucial, transformative, robust, comprehensive
- delve, underscore, paradigm, foster, navigate
- landscape, realm, leverage, synergy

**Russian AI Tells**:
- важно отметить, следует подчеркнуть, необходимо учитывать
- в современном мире, в конечном счете, в целом
- данный, указанный, вышеуказанный (excessive formal pronouns)
- комплексный, инновационный, эффективный (overused adjectives)

**German AI Tells**:
- Es ist wichtig zu beachten, Man sollte bedenken
- Im Hinblick auf, Vor diesem Hintergrund
- Darüber hinaus, Ferner, Zudem (transition overuse)
- umfassend, nachhaltig, ganzheitlich, zielgerichtet

**English AI Tells**:
- "it is important to note", "in order to", "let's explore"
- "it's worth noting", "the fact that", "in today's world"

**LinkedIn AI Tells** (platform-specific):
- Uniform single-paragraph-per-insight cadence (each paragraph = one neat point)
- "Here's what I learned" / "Here's the thing" signposting
- Feature changelogs disguised as prose (bullet points rewritten as sentences)
- The builder-post arc: problem → learnings list → "I built a thing" → CTA/link
- Perfectly steady confidence throughout (no doubt, no mess)
- One-line paragraph openers for dramatic effect (overused)
- Numbered insights ("Three things I learned:", "5 takeaways:")
- Engagement-bait closers ("What's your experience?", "Drop a comment")

#### 4. Voice Level
- Emotional flatness
- Balanced phrasing throughout
- No subjective markers
- Consistent confidence

#### 5. Rhetorical Level
- Meta-signposting ("here's the thing", "the key is")
- Rhetorical Q + immediate answer
- False binaries
- Over-explaining

#### 6. Predictability Level
- Too-safe word choices
- Expected patterns
- Low perplexity
- No surprises

### Phase 3: Humanization

Apply language-appropriate transformations:

#### Universal Techniques

**Structural Variation**:
- Paragraph length: 1-8 sentences (mix aggressively)
- Include 1+ very short paragraph (1 sentence)
- Include 1+ longer paragraph (6+ sentences)
- Break symmetry

**Sentence Diversity**:
- Very simple: 3-5 words
- Very complex: 25+ words
- Use fragments naturally
- Occasional run-ons
- Start with And/But/So when conversational

**Lexical Diversity**:
- Ban stock AI vocabulary
- Unexpected (appropriate) word choices
- No phrase repetition
- Mix formal/informal register

**Voice Variation**:
- Emotional range (doubt, certainty, frustration, enthusiasm)
- Subjective markers when appropriate
- Vary confidence levels
- Let opinions show

**Increase Unpredictability**:
- Less predictable words
- Break expected patterns
- Surprising connections
- Avoid formulaic transitions

**Cut Meta-Commentary**:
- Remove signposting
- State points directly
- No preamble phrases
- No "let's explore" or "it's worth noting"

**Trust the Reader**:
- Don't explain everything
- Leave implications unstated
- Use concrete specifics without setup
- Let readers connect

**Reduce Transitions**:
- Let adjacent ideas stand alone
- Allow abrupt shifts when natural
- Don't over-connect

**Allow Imperfection**:
- Keep rough edges
- Not every thought perfectly polished
- Minor tone inconsistencies are human
- Embrace occasional messiness

#### Language-Specific Optimization

**Russian**:
- Reduce excessive participles
- Replace formal pronouns with simpler forms
- Break long compound sentences
- Add ellipsis, dashes for rhythm
- Mix formality appropriately for audience
- Use colloquial particles sparingly
- Replace канцелярит with живую речь

**German**:
- Break excessive compound words when clarity helps
- Vary sentence structure (not all Hauptsatz-Nebensatz)
- Use shorter sentences occasionally
- Add conversational particles (doch, halt, eben) appropriately
- Mix Nominalstil with Verbalstil
- Avoid Schachtelsätze (nested clauses)

**English**:
- Use contractions naturally
- Mix latinate and germanic vocabulary
- Vary sentence openings beyond subject-verb
- Add occasional dialect/regional flavor if appropriate
- Use active voice predominantly

#### Platform-Specific: LinkedIn

**Break the Builder-Post Arc**:
- Don't follow problem → learnings → "I built X" → link. Rearrange, start mid-story, or drop sections entirely
- The arc is the single biggest AI tell on LinkedIn -- every AI-assisted post follows it

**Vary Paragraph Cadence**:
- AI LinkedIn posts have uniform 1-paragraph-per-insight rhythm. Break it: merge two ideas in one paragraph, split one across three, use a single-sentence paragraph that isn't a dramatic opener
- Not every paragraph should start with a hook or topic sentence

**Kill Signposts**:
- Remove "Here's what I learned", "Here's the thing", "Three things I noticed"
- State insights directly without announcing them
- Numbered lists ("5 takeaways") are the most obvious AI LinkedIn tell

**Inject Doubt and Specificity**:
- Replace steady confidence with actual uncertainty ("I'm not sure this scales", "Could be wrong")
- Add concrete sensory details (names, places, objects) instead of generic descriptions
- Self-deprecation and false starts ("Sounds dumb. Works every time.", "More like --") read as human

**Skip the Engagement Bait**:
- Remove "What's your experience?", "Drop your thoughts below", "Agree or disagree?"
- If there's a CTA, make it specific and useful ("GitHub link in comments"), not engagement-farming

**Tone**: Between personal and essay. First-person, opinionated, but grounded in professional context. Allow rough edges -- LinkedIn readers scroll fast, so a slightly messy but authentic post outperforms a polished-but-generic one.

### Phase 4: Register Adaptation

Match humanization intensity to text type:

| Register | Approach |
|----------|----------|
| **Personal** | Strong subjective voice, emotional variation, first-person, sensory details |
| **LinkedIn** | Break builder-post arc, vary paragraph cadence, kill signposts, inject doubt/specificity |
| **Essay/Analysis** | Varied formality, allow uncertainty, nuanced positions |
| **Critique** | Evaluative language, stronger opinions, clear judgments |
| **Narrative** | Temporal variation, personal reflection, observed details |
| **Technical** | Preserve precision, reduce only stylistic AI tells, keep terminology |
| **Academic** | Maintain rigor, remove meta-commentary, preserve citations exactly |

### Phase 5: Quality Check

Verify across dimensions:

- Meaning preserved (facts unchanged, intent maintained)
- Perplexity increased (less predictable words, varied vocabulary)
- Structural variation (sentence/paragraph length diversity)
- Lexical diversity (no repetitive phrases or stock AI words)
- Voice authenticity (emotional range, subjective elements)
- Syntactic complexity (mix of very simple and very complex)
- Clarity maintained (if unclear or too messy, refine)
- Language-specific patterns addressed

### Phase 6: Output

**Default**: Revised text only (no commentary)

**If explain mode**: Revised text + short bullet list of main AI tells removed

**If text too generic**: Ask 2-3 targeted questions to avoid inventing details

## Error Handling

**If text is already human**: "This text already reads as human-written. Only minor refinements applied."

**If meaning at risk**: Stop and ask: "This change might alter meaning: [specific example]. Proceed?"

**If language detection fails**: Ask user to specify language explicitly

**If technical terms unclear**: Ask before replacing

## Usage

```bash
# Process a file
/de-ai path/to/article.md

# With options via natural language
/de-ai make this more human, it's a Russian essay

# Quick non-interactive
/de-ai --no-questions path/to/draft.txt
```

Output: creates `[original]-humanized.[ext]` or replaces inline.

## Learnings

### 2026-02-25
**Context**: First run after converting from old skill.yaml format to SKILL.md. Humanized a LinkedIn post (personal register, explain mode).

**What Worked**:
- Skipping interactive questions when register and explain flag are provided via args -- context was obvious from the file itself.
- Diagnosis-then-rewrite flow: listing specific AI tells before rewriting gives user transparency and makes the changes defensible.
- Personal register produces the best results -- adding self-deprecation ("Sounds dumb. Works every time"), sensory details ("in his kitchen"), and false starts ("More like --") are high-impact, low-effort humanizations.

**Pattern Discovered**:
- LinkedIn posts have their own AI-tell signature: uniform single-paragraph-per-insight cadence, "Here's what I learned" signpost, feature changelogs disguised as prose, perfectly steady confidence throughout. These are distinct from essay or article tells.
- The biggest single improvement: breaking the "problem -> learnings list -> I built a thing -> link" template that every AI-assisted LinkedIn builder post follows.

**What to Improve**:
- Could add a LinkedIn-specific register (between personal and essay) that targets the platform's specific AI patterns.
- The old format (skill.yaml + system.md) silently failed -- no error message, just "Unknown skill". Worth noting for other skills that may have the same issue.

