A Codex plugin that helps you write in a voice that sounds like you — not a chatbot.
AI-generated text is easy to spot. The vocabulary is too polished, the sentences all land the same way, and there's a certain... scent to it. HumanWriting strips those tells out. It drafts, revises, voice-matches, and coaches writing that reads natural.
Works with whatever LLM you're already using in Codex — no separate backend, API keys, or cloud dependency. There's an optional backend (FastAPI + Ollama/OpenRouter) for running the detection pipeline as a standalone service, but the plugin itself doesn't need it.
Every AI writing tool I've tried produces the same thing: competent, soulless prose with a predictable rhythm and a fixed set of pet words ("delve," "testament," "underscores"). It's shelf-stable writing — technically correct, instantly recognizable.
HumanWriting is the opposite direction. It:
- Removes AI tells — em dashes, rule-of-three lists, "Moreover... Furthermore... Additionally..." chains, "it serves as a testament to," and about 30 other patterns
- Mixes the rhythm up — varies sentence length, breaks up uniform cadences, adds fragments and hedges the way people actually write
- Matches your voice — give it a sample of your own writing and it adapts the output to your sentence patterns, word choice, and punctuation habits
- Scores and iterates — paragraphs flagged by the built-in detector get rewritten, re-scored, and re-checked until they pass
- Drafting essays, stories, emails, and applications
- Revising existing drafts to sound more natural
- Coaching — get diagnosis, specific edits, and next steps
- Turning rough notes into something presentable
Just clone the repo and install it as a local plugin in Codex:
git clone https://github.com/Jayguoo/HumanWriting.gitIn Codex, install from the cloned path. The plugin manifest is at .codex-plugin/plugin.json. The HumanWriting skill is at skills/humanwriting/SKILL.md.
That's it. The skill works with whatever model Codex is already using.
The repo also includes a standalone FastAPI server that runs the full draft → detect → rewrite → regenerate pipeline. This is not required for the Codex plugin — it's there if you want to use HumanWriting as an API or run the detector locally.
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtRequires Ollama with a model (default: qwen2.5:7b-instruct-q5_K_M), or set HW_OR_MODEL for an OpenRouter model.
run.batStarts a FastAPI server on localhost:8000 with:
POST /generate— draft + detect + rewrite pipelinePOST /humanize— rewrites existing text to be less AI-soundingGET /history— past runs stored in SQLite
Your prompt → Draft → Critique rewrite → Rule-based humanize → LLM humanize → Detection → Regeneration if flagged → Output
The pipeline runs through multiple passes:
- Draft — generates text from a prompt
- Critique rewrite — a structural pass that looks for common AI patterns and flattens them
- Rule-based humanize — swaps AI-favored words, injects contractions, breaks up tricolons, strips em dashes, adds sentence variance, jitters punctuation
- LLM humanize — rewrites each paragraph with voice-rotated prompts so the tone shifts naturally
- Detection — scores each paragraph with a heuristic detector (or Binoculars if available)
- Regeneration — flagged paragraphs get rewritten targeting specific problem sentences
- Post-cleanup — final pass for contractions, fillers, and punctuation
The detector scores from 0.0 (very human) to 1.0 (very AI) based on sentence-length variance and AI-tell word density. Anything above 0.6 triggers another pass.
- Backend: FastAPI, SQLite, Ollama or OpenRouter
- Detection: Heuristic rule-based or Binoculars transformer
- Plugin: Codex skill system
MIT