# Removing Ai Tells

> Identify and remove phrasing, structure, and word choices that signal AI authorship. Runs iterative passes through fresh voice-agent instances with the orchestrator acting as gatekeeper on every change. Use on a cover letter before submission, or on any prose that has to read as human-written.

- **Type:** Skill
- **Install:** `agentstack add skill-aaddrick-slushpile-removing-ai-tells`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [aaddrick](https://agentstack.voostack.com/s/aaddrick)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [aaddrick](https://github.com/aaddrick)
- **Source:** https://github.com/aaddrick/slushpile/tree/main/skills/removing-ai-tells
- **Website:** https://github.com/aaddrick/slushpile#readme

## Install

```sh
agentstack add skill-aaddrick-slushpile-removing-ai-tells
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Removing AI Tells

Iterative passes over a draft, removing the patterns that make a fatigued reader think "a machine wrote this" before they consciously work out why.

**Announce at start:** "Removing AI tells from $FILE. Working on a copy, three passes maximum."

**Arguments:**
- `$1` — path to the file to clean

**Example:**
```
/slushpile:removing-ai-tells applications/Acme/Engineering/Staff-SRE/cover_letter.txt
```

## Why This Is Separate From the Voice Agent

The voice agent writes in a person's voice. That is a different job from hunting a specific list of patterns, and combining them produces worse results at both.

A voice agent asked to "write well and also avoid these forty patterns" will trade one against the other silently. Running the passes separately means each one has a single objective, and the gatekeeper between them can see exactly what changed and why.

The gatekeeper is the point. **About a third of what a tell-hunting pass flags is doing real work in the document.** Applied without review, this process reliably makes prose worse — flatter, more uniform, and stripped of exactly the moves that made it sound like a person. That is the failure mode this skill is built around, not an edge case.

## Prerequisites

- The file to clean
- The voice agent named in `preferences.yaml` under `voice.agent` (default: `aaddrick-voice`)
- The user's voice agent definition. A habit documented there outranks this entire checklist.

## The Process

### 1. Work on a copy

Never edit the original.

```bash
cp cover_letter.txt cover_letter.v2.txt
```

Keeping the previous version is what lets you revert a rejected change precisely rather than re-editing from memory.

### 2. First pass

Send the copy to a **fresh** instance of the voice agent with the checklist below. Ask it to edit the file directly and return a summary of every change with its rationale.

The rationale is not optional. A change you cannot evaluate is a change you have to accept or revert blind.

### 3. Gatekeeper review

Read the updated file. For each change: accept or reject.

**Accept** when the change removes a real tell without losing meaning or voice.

**Reject** when:

- The flagged pattern was doing structural work — a transition between sections, a precision qualifier that changes meaning, a section opener that motivates what follows
- The removal changes the meaning or weakens the argument
- The fix introduces a different problem
- The pattern is documented in the user's voice agent as one of their own habits

Revert rejected changes directly. **Write down why you rejected each one** — the next pass gets that list and will otherwise make the same change again.

### 4. Feedback pass

Send remaining issues to a **new** voice agent instance. Always fresh, never resumed: an agent that has already defended a change will defend it again rather than re-evaluating it.

Include what needs fixing, and what the previous pass got wrong.

### 5. Stop at three passes

Iterate steps 3 and 4. Where you and the agent disagree, the gatekeeper wins.

Three passes is the ceiling. Past that the changes are churn — synonym swaps and sentence reorderings that trade one phrasing for an equivalent one. If the draft still reads as machine-written after three passes, the problem is the content, not the phrasing, and no amount of editing at this level reaches it.

### 6. Punctuation pass, if the voice calls for it

Check the user's voice agent first. If it documents an absence — no em dashes across the whole corpus, for instance — run a dedicated pass replacing every instance with a contextual rewrite: commas, periods, semicolons, colons, parentheses, or a restructured sentence.

If the voice agent shows the user does use em dashes, **skip this step entirely.** Removing a punctuation mark the person actually uses moves the prose away from their voice, which is the opposite of the objective.

### 7. Check the replacements

Verify each replacement preserves the grammatical relationship. Flag weak ones:

- A comma creating a restrictive appositive where the original was nonrestrictive
- A colon overloading a sentence that then pivots with "but"
- A period splitting a clause that depended on the one before it

Send flagged replacements back with an explanation of the relationship that needs preserving.

## The Checklist

Send this to the voice agent on each pass.

### Vocabulary

Watchlist: *landscape, paradigm, ecosystem, leverage, robust, comprehensive, crucial, facilitate, utilize, streamline, underscore, delve, harness, illuminate, bolster, tapestry, realm, beacon, cacophony.*

Also: formal register that does not match the rest of the piece, and generic language where a specific example would land harder.

### Sentence and paragraph patterns

- **Uniform sentence length.** The strongest signal there is. Human writing varies; generated writing converges on a comfortable middle.
- Repetitive structures, especially subject-verb-object in sequence
- Overly neat parallelism in consecutive sentence pairs
- Triplet structures used repeatedly as a rhetorical device. One or two in a piece is natural.
- Participial phrase endings: *"The update shipped, revealing a deeper issue."*
- Passive voice where active is more natural
- Lists where every item follows the same syntactic template
- Even, unvaried paragraph length

### Rhetorical devices

- The *"it's not X, it's Y"* reframe, and its compressed variants: *"Not X. Y."* as a two-sentence punch, *"X, not Y"* as a comma correction, *"X isn't just Y"* as a setup
- *"Not X"* as emphasis: *"Not a benchmark number."* State the positive claim.
- Staccato fragment pairs as punch. One fragment is fine; two or more back to back is a rhythm device.
- Paired beats: *"That's X. It's also Y."*
- Announcing frames: *"Here's the mechanism that makes X powerful:"*
- Dramatic openers: *"The takeaway:"*, *"The bottom line:"*

### Filler and hedging

- Balanced or hedged language where the author would commit to a position
- Transition filler: *Moreover, Furthermore, Additionally, It's worth noting*
- The whole *"it's worth [verb]-ing"* family: *worth noting, worth pausing on, worth sitting with*
- *"It's important to note that", "generally speaking", "to some extent", "from a broader perspective"*
- Authority claims: *"Let's be clear", "To be sure", "The reality is", "Make no mistake"*

### Structural redundancy

- Bookend summaries that restate the intro instead of advancing
- Sentences that summarize what was just said
- Summary openers: *Overall, In summary, In conclusion*
- *"From X to Y"* scene-setting: *"From simple scripts to full pipelines..."*
- Cross-section repetition

### Significance labeling

- *"That's the gap between policy and reality."* If the fact is strong, it lands without a label.
- *"That changes the framing considerably."* Let the fact do it.
- Vague gestural conclusions: *"says a lot about where they are"*, *"is the most telling thing about"*. Either say what it tells you or let it stand alone.

### Post-edit verification

Two errors that only appear *after* editing, and are worth a dedicated read:

- **Orphaned pronouns.** *"It builds..."* where the referent was in a sentence that got cut.
- **Broken ordering.** Text claiming A happens before B when the surrounding edits reversed them.

## Gatekeeper Principles

Not every pattern on the checklist is always wrong. Telling the two apart is the whole job.

**Real tells — remove:**

- Section openers that restate the intro
- Announcing frames before content that speaks for itself
- Significance labels after a paragraph that already landed
- Filler qualifiers
- Watchlist vocabulary where a plainer word works

**Structural work disguised as a tell — keep:**

- Transitions that connect sections. *"That's the gap these files close."* looks like a significance label and is carrying the reader between two ideas.
- Precision qualifiers that change meaning. *"structurally"* before an analogy is not filler.
- Section openers that motivate what follows.
- Colons that set up a mechanism.
- **Deliberate scope-escalation fragments.** *"$30M CAPEX. Four facilities. Seven clients."* This is a human writing move and frequently the strongest line in a cover letter. A tell-hunting pass will flag it every single time. Reject it every single time.
- **Punchy inventory lists** that read clipped on purpose. Adding the missing subject to each item kills the delivery.
- **Anything the user's voice agent documents as their habit.** The voice agent outranks this checklist without exception. Someone whose corpus is full of triplets keeps their triplets — the pattern is a tell in general and a fingerprint in their case.

## Prompt Template

```
Read [file path].

Review the entire draft for AI tells:

[paste the checklist]

Edit [file path] directly. Be surgical. Change only what needs changing, and do
not rewrite sections that already sound human. Preserve the argument structure
and every factual claim.

Do not flag or change:
[the rejections from the previous pass, with reasons]

After editing, summarize every change and why you made it.
```

## Anti-Patterns

- **Do not run this without a gatekeeper.** An unreviewed pass makes prose flatter and more uniform, which is the same direction as the problem it is solving.
- **Do not run more than three passes.** After three the changes are churn.
- **Do not resume a voice agent instance between passes.** It will defend its previous changes rather than re-evaluate them.
- **Do not run the punctuation pass without checking the voice agent first.** Removing punctuation the person genuinely uses moves the prose away from their voice.
- **Do not apply this to a resume the same way as prose.** A resume bullet is a compressed form and legitimately looks patterned. Use `/slushpile:application-builder`'s humanization step for resumes; use this for letters and prose.
- **Do not let this run on quoted material.** Anything in quotation marks, any job description text, and any product name stays verbatim.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [aaddrick](https://github.com/aaddrick)
- **Source:** [aaddrick/slushpile](https://github.com/aaddrick/slushpile)
- **License:** MIT
- **Homepage:** https://github.com/aaddrick/slushpile#readme

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-aaddrick-slushpile-removing-ai-tells
- Seller: https://agentstack.voostack.com/s/aaddrick
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
