How Humanizer Prevents Fact Invention During Rewriting: A Technical Deep Dive
Humanizer prevents fact invention through a strict prompt-based enforcement system defined in SKILL.md that combines explicit Rule 3 prohibitions against adding unverified claims with a mandatory self-checklist requiring the model to verify no facts were added or removed before finalizing output.
Humanizer is an open-source text rewriting skill designed to enhance writing style while preserving factual integrity. Unlike general-purpose LLM rewriting tools that may hallucinate details during paraphrasing, Humanizer implements hard prompt-level safeguards to ensure it never invents facts during the rewriting process. This article examines the specific mechanisms in SKILL.md and the validation workflows that enforce this guarantee in the blader/humanizer repository.
The "No Invented Facts" Rule in SKILL.md
The foundation of Humanizer's fact-preservation guarantee is Rule 3, defined explicitly in the skill's prompt file.
Explicit Prohibition of Unverified Claims
In SKILL.md §3, the prompt declares: "Do not invent facts. Do not add a fact, name, number, date, quote, or citation unless it comes from the source or the user." This rule is not merely advisory—it functions as a hard constraint that shapes every stage of the rewriting pipeline. The rule further instructs the model that if a sentence requires a missing detail, it must either ask the user for the information or rewrite the sentence more simply, eliminating any temptation to fabricate plausible-sounding but unverified data.
Multi-Step Verification Workflow
Humanizer enforces factual integrity through a staged workflow that isolates stylistic improvements from factual verification.
Draft Generation Isolation
During the initial phase, Humanizer produces a draft rewrite that focuses exclusively on style, flow, and clarity. This draft stage is intentionally designed to operate without attempting to add or alter factual content, creating a clear separation between linguistic improvements and factual claims.
Mandatory Fact-Check Question
After generating the draft, the prompt forces the model to answer a concrete checklist question defined in SKILL.md §24: "Did the rewrite add or remove any fact, name, number, date, quote, citation, ranking, or other claim?" This self-interrogation step requires the model to evaluate its own output against the source text. If the answer is "Yes," the workflow halts and triggers corrective action.
User Clarification Protocol
When the model identifies missing required details, SKILL.md §3 mandates a strict protocol: the model must either request the specific information from the user or simplify the sentence to eliminate the dependency on the missing fact. This prevents the common LLM behavior of "hallucinating" plausible dates, names, or statistics to fill gaps in the narrative.
Final Rewrite Gate
Only after the checklist confirms no facts were added or removed does Humanizer emit the final version. If the self-check detected any invented facts, the model must rewrite the passage again, stripping the unauthorized claims before proceeding to final output. This creates a hard-fail condition that blocks fabricated content from reaching the user.
Automated Enforcement and CI Validation
The prevention of fact invention is not only a prompt-level instruction but also a validated system property maintained through continuous integration.
Continuous Integration Checks
According to the repository structure, the scripts/validate-package.py script serves as a CI gatekeeper that validates the skill file. This script ensures that SKILL.md contains the required rule sections, verifies that pattern numbers are correct, and enforces file size limits. Additionally, README.md documents that the fact-invention safeguard was formally added in v2.9.0, indicating that this behavior is version-controlled and tested as a core feature rather than an emergent property.
Practical Examples of Fact Preservation
The following scenarios demonstrate how the workflow handles factual content in practice.
Scenario: Preserving Dates and Locations
When rewriting text containing specific metadata, Humanizer maintains exact values:
Source: "The conference was held in Paris on June 12, 2023."
Humanizer output:
Draft: "The conference took place in Paris on June 12, 2023."
Fact-check: "Did the rewrite add or remove any fact...?" → No.
Final: "The conference took place in Paris on June 12, 2023."
The model preserves the date and location without modification, passing the checklist verification.
Scenario: Handling Missing Information
When source material lacks required context, Humanizer requests clarification rather than inventing details:
Source: "The meeting was a success."
Humanizer output:
Draft: "The meeting was a success."
Fact-check: "Did the rewrite add or remove any fact...?" → Yes (missing date).
Response: "When did the meeting occur?"
User reply: "It happened on March 3, 2022."
Final: "The meeting, held on March 3, 2022, was a success."
In this instance, the model did not guess a date; it asked the user instead, preserving factual integrity through the clarification protocol defined in SKILL.md §3.
Summary
- Humanizer's fact-prevention system is codified in Rule 3 of
SKILL.md, which explicitly prohibits adding unverified facts, names, numbers, dates, quotes, or citations. - A mandatory checklist question in
SKILL.md§24 forces the model to self-verify that no facts were added or removed during the draft stage. - The clarification protocol requires the model to ask users for missing details or simplify sentences, eliminating the possibility of hallucination.
- CI validation via
scripts/validate-package.pyensures the skill file structure and rules remain intact across versions. - The final output gate guarantees that only text passing the fact-check reaches the user, making invention a hard-fail condition.
Frequently Asked Questions
What happens if Humanizer detects a missing fact during rewriting?
According to SKILL.md §3, the model must either ask the user for the specific missing information or rewrite the sentence to remove the dependency on that detail. It cannot proceed by inventing a plausible-sounding fact to fill the gap.
Where is the "no invented facts" rule defined in the codebase?
The rule is defined in SKILL.md §3, titled "Rule 3 – Do not invent facts." This file serves as the single source of truth for Humanizer's behavior and contains both the prohibition and the remediation workflow for handling missing information.
How does the validation script ensure the rule remains enforced?
The scripts/validate-package.py file validates the structure of SKILL.md, ensuring that required sections like Rule 3 exist and that pattern numbering remains consistent. This CI check prevents regression where the fact-prevention rules might be accidentally removed or corrupted during updates.
Can Humanizer ever add citations or quotes not in the source?
No. Rule 3 explicitly forbids adding "a fact, name, number, date, quote, or citation unless it comes from the source or the user." The final rewrite checklist in SKILL.md §24 specifically lists citations and quotes as items that must not be added or removed, ensuring the output contains only verified information from the original text or user clarification.
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 →