What Is the Purpose of the Second Pass in Humanizer's Rewrite Process?
Humanizer's second pass serves as a quality assurance checkpoint that verifies fact preservation and eliminates residual AI tells before producing the final output.
The blader/humanizer repository implements a two-pass rewrite workflow designed to transform AI-generated prose into natural-sounding human text. While the first pass handles the initial transformation, the second pass—documented in SKILL.md as the "Check the draft" step—ensures the output meets both accuracy and stylistic standards.
How Humanizer's Two-Pass Workflow Works
Humanizer processes text through two distinct phases, each with a dedicated purpose.
First Pass: Draft the Rewrite
In the initial pass, the agent rewrites the supplied prose to remove identified AI tells while preserving every factual claim. This step corresponds to Step 2 in the skill description at SKILL.md lines 35-36.
# First pass: generate a draft rewrite
draft = humanizer.rewrite(text)
The result is an intermediate draft that may still contain subtle AI patterns or minor factual drift.
Second Pass: Check the Draft
The second pass performs critical validation before finalization. According to SKILL.md lines 37-38, this step evaluates two specific criteria:
- Fact-preservation — Verifies that no new information has been introduced and nothing has been unintentionally omitted
- Residual AI tells — Scans for remaining patterns that still sound AI-generated, such as lingering "not-X-but-Y" contrasts, extra dashes, or weak-alone tells
# Second pass: validate the draft
final = humanizer.check_and_finalize(draft)
print(final)
Only after this verification does Humanizer produce the final version.
What the Second Pass Detects
The quality assurance step targets specific failure modes that survive the first pass.
| Issue Type | Examples Detected |
|---|---|
| Residual AI tells | "not-X-but-Y" contrasts, unnecessary dashes, weak-alone patterns |
| Factual drift | Added claims, omitted details, altered meaning |
When residual tells are found, Humanizer prepares a short list requiring further editing—enabling targeted refinement rather than full rewrites.
Manual Implementation of the Two-Pass Process
For workflows without programmatic access, the manual approach follows the same structure:
- Run the rewrite — Feed the original paragraph to Humanizer
- Read the draft aloud — Listen for awkward phrasing or missing facts
- Request remaining tells — Humanizer returns any patterns still detected
- Apply suggested edits — Produce the clean final version
This mirrors the automated check_and_finalize() logic documented in the source.
Why Two Passes Beat One
Single-pass rewriting risks two failure modes: over-editing that introduces factual errors, or under-editing that leaves detectable AI patterns. The separation of drafting from verification—implemented in SKILL.md at lines 35-38—allows each pass to optimize for a distinct goal:
- First pass: Maximize AI tell removal
- Second pass: Maximize accuracy and completeness
Summary
- Humanizer's rewrite process intentionally splits work across two passes
- The second pass purpose is quality assurance, not additional transformation
- It verifies fact preservation and identifies residual AI tells
- Source documentation resides in
SKILL.md; pattern reference inREADME.md
Frequently Asked Questions
Does Humanizer always require two passes?
Yes—according to the blader/humanizer source code in SKILL.md, the two-pass structure is fundamental to the rewrite workflow. The "Check the draft" step is explicitly defined as a required phase, not an optional enhancement.
What happens if the second pass finds errors?
Humanizer prepares a short list of residual AI tells requiring further editing. The draft is not finalized until these issues are addressed, ensuring no factually compromised or stylistically detectable text reaches output.
Can I skip the second pass for faster results?
The repository documentation does not describe a single-pass mode. The check_and_finalize() logic—as implied by the workflow description—is integral to producing valid output that meets Humanizer's accuracy and naturalness standards.
Where is the two-pass workflow documented?
The complete process is specified in SKILL.md at lines 35-38, with additional context on AI tell patterns available in README.md.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →