# How Humanizer Identifies and Replaces Overused AI Words Like "Delve" and "Testament"

> Learn how Humanizer identifies and replaces overused AI words like delve and testament. Discover its static list and regex matching techniques for concrete phrasing.

- Repository: [Siqi Chen/humanizer](https://github.com/blader/humanizer)
- Tags: deep-dive
- Published: 2026-09-13

---

**Humanizer detects inflated AI vocabulary using a static curated list in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) combined with case-insensitive regex matching, then employs a guided semantic rewrite to replace buzzwords with concrete phrasing.**

The blader/humanizer repository eliminates robotic AI prose through a declarative pattern-matching system defined in its skill file. Rather than relying on hard-coded string replacements, the tool uses a curated "Watch for" list combined with guided semantic rewriting to strip out buzzwords while preserving factual accuracy.

## Pattern-Based Detection in SKILL.md

The core identification logic resides directly in the skill definition file. At **lines 1998-2001**, [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) contains a **"Watch for"** block titled **"Overused AI words"** that enumerates specific tokens the engine should flag, including `delve`, `testament`, `deep dive`, and other inflated vocabulary. This static list enables the matcher to quickly isolate occurrences without requiring external libraries or dynamic analysis.

### Case-Insensitive Regex Matching

When processing input text, Humanizer scans for the enumerated tokens using a **case-insensitive word-boundary regex**. This approach ensures that the detector catches variations in capitalization while avoiding false positives from partial matches within larger words. The regex isolates each occurrence precisely, feeding clean targets into the replacement pipeline.

## Semantic Replacement Strategy

Unlike simple find-and-replace tools, Humanizer does not rely on rigid one-to-one mappings. The skill instructs the underlying model to **"replace the saying with the specific claim"**, directing the rewrite toward concrete, neutral phrasing that conveys identical meaning without the inflated terminology.

### The Four-Step Rewrite Pipeline

The replacement process follows a structured workflow defined in the **How to work** section (lines 31-38 of [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md)): **Mark the tells → Draft the rewrite → Check the draft → Write the final version**. During the *Mark the tells* phase, the overused-word pattern triggers flags that inform subsequent rewriting steps. This pipeline ensures that deletions of AI-specific words do not compromise factual content.

## OpenAI Agent Implementation

The [`agents/openai.yaml`](https://github.com/blader/humanizer/blob/main/agents/openai.yaml) file implements this workflow by loading [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) as the system prompt for any OpenAI-compatible model. This configuration transforms the static skill definition into an active text-processing agent that executes the detection and replacement pipeline.

The following example demonstrates invoking Humanizer through the OpenAI agent configuration:

```yaml

# agents/openai.yaml (excerpt)

name: Humanizer
description: Rewrite AI‑sounding text.
default_prompt: |
  {{ readFile "SKILL.md" }}

```

```python
import openai

prompt = """The deep dive into the data reveals a testament to the model's robustness."""
response = openai.ChatCompletion.create(
    model="gpt-4o",
    messages=[{"role":"system","content":open("SKILL.md").read()},
              {"role":"user","content":prompt}]
)
print(response.choices[0].message.content)

```

**Result:**

```

The data reveals the model's robustness.

```

When using Claude or any agent that loads [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) directly, the interaction follows this pattern:

**User Input:**

```

Rewrite the following paragraph.
The team performed a deep dive to surface a testament of our progress.

```

**Agent Output:**

```

The team performed an analysis to surface evidence of our progress.

```

## Summary

- **Detection** relies on a curated "Watch for" list in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) (lines 1998-2001) rather than dynamic heuristics.
- **Regex matching** uses case-insensitive word boundaries to isolate target vocabulary precisely without false positives.
- **Replacement** employs semantic rewriting guided by the instruction to "replace the saying with the specific claim," avoiding rigid string substitution.
- **Quality control** follows a four-step pipeline (Mark → Draft → Check → Write) defined in lines 31-38 of the skill file.
- **Integration** occurs through [`agents/openai.yaml`](https://github.com/blader/humanizer/blob/main/agents/openai.yaml), which supplies [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) as the system prompt to OpenAI-compatible models.

## Frequently Asked Questions

### What specific AI words does Humanizer target?

The "Overused AI words" block in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) explicitly lists tokens including **"delve,"** **"testament,"** **"deep dive,"** and similar inflated vocabulary commonly found in AI-generated text. You can view the complete list at lines 1998-2001 of the skill file.

### Does Humanizer use simple string replacement?

No. According to the skill instructions in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md), the model rewrites the entire sentence to convey the same meaning using concrete phrasing. This semantic approach preserves factual accuracy better than swapping words via a hard-coded mapping table.

### Can I add custom words to the detection list?

Yes. Since the word list is defined declaratively in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) at lines 1998-2001, you can extend the "Watch for" block to include additional overused terminology specific to your domain. The regex matcher will automatically include your additions in the next scan.

### Which files are required to run the Humanizer agent?

You need [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) containing the pattern definitions and rewrite rules, and [`agents/openai.yaml`](https://github.com/blader/humanizer/blob/main/agents/openai.yaml) to supply the system prompt to your OpenAI-compatible model. The [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) file provides additional usage instructions for implementation context.