What Happens When No Writing Sample Is Provided to Humanizer?
When no writing sample is provided, Humanizer automatically falls back to its 35 built-in style patterns and applies a deterministic rewrite to neutralize AI-written prose.
Humanizer is an open-source AI text refinement tool developed in the blader/humanizer repository that transforms machine-generated content into human-like writing. Understanding its behavior when no writing sample is provided is crucial for developers implementing automated content pipelines, as this determines the default stylistic output when personalized voice data is unavailable.
The 35 Built-In Style Patterns
Humanizer ships with a comprehensive set of 35 built-in style patterns that define characteristics of typical AI-written prose. These patterns cover punctuation norms, paragraph structure, rhythm, and lexical markers commonly found in machine-generated text.
According to the source code in SKILL.md, these patterns form the core guidance system that drives the rewrite process. When operating without user-provided examples, Humanizer relies entirely on this internal rule set to analyze and transform input text.
How the Fallback Logic Works
The repository explicitly defines the fallback behavior in two key locations:
In SKILL.md at line 36, the skill definition contains logic that checks for the presence of a writing sample. If the check returns negative, the system instruction states to "use the guidance below," referring to the 35 built-in patterns.
Additionally, README.md at line 13 clarifies that a provided sample overrides the default style rules. This architectural decision ensures that in the absence of a sample, the system maintains consistent, reproducible behavior rather than attempting to infer style from context.
When processing text without a sample, Humanizer executes three distinct operations:
- Analysis – Scans the input for signs of AI writing using the internal pattern list
- Transformation – Rewrites content to match a neutral, human-like baseline defined by the 35 patterns
- Fact Preservation – Leaves factual details untouched (enforced by rule 119 in the skill definition) or requests clarification rather than inventing information
Practical Usage Examples
Without a Writing Sample
When invoking Humanizer through YAML configuration without specifying a sample field, the system automatically engages the default style guide:
# agents/openai.yaml – example invocation
- name: humanizer
input:
path: docs/announcement.md # file to rewrite
# no `sample` field supplied
In this scenario, Humanizer applies its default 35-pattern style guide to announcement.md, standardizing the prose according to built-in heuristics.
With a Writing Sample (Contrast)
To override the default behavior, provide a sample that influences rhythm, word choice, and punctuation:
- name: humanizer
input:
path: docs/announcement.md
sample: |
My favorite way to start a story is with a quiet
observation that slowly expands into a larger theme.
When a sample is present, the system suppresses the default 35 patterns and mimics the provided style instead.
CLI Invocation Methods
For command-line usage via the Skills CLI, the distinction appears in the argument list:
# No sample – uses the 35 built-in style patterns
skills run humanizer --path docs/announcement.md
# With sample – style matching activated
skills run humanizer \
--path docs/announcement.md \
--sample "I love clear, concise prose that respects the reader's time."
Key Source Files
Understanding the fallback mechanism requires familiarity with these specific files in the blader/humanizer repository:
SKILL.md– Contains the complete skill prompt, the 35 built-in patterns, and the conditional logic at line 36 that detects missing samplesREADME.md– Documents the override behavior at line 13, explaining how samples take precedence over default rulesagents/openai.yaml– Provides working examples of Humanizer invocation in production agent configurationsscripts/validate-package.py– Utility that ensures the skill definition remains synchronized with the pattern set
Summary
- When no writing sample is provided to Humanizer, the system defaults to its 35 built-in style patterns defined in
SKILL.md - The fallback logic is explicitly defined at line 36 of the skill definition, which directs the model to use internal guidance when samples are absent
- Default processing produces deterministic, consistent results across runs, applying neutral human-like styling without inventing factual content
- Providing a writing sample overrides these defaults, as documented in
README.mdat line 13 - Rule 119 enforces that missing facts are left untouched or clarified, never hallucinated
Frequently Asked Questions
Does Humanizer generate random styles when no sample is provided?
No. When no writing sample is provided, Humanizer applies a fixed set of 35 patterns defined in SKILL.md. The output is deterministic and consistent across runs, producing a standardized neutral tone rather than random variations.
Can I disable the default style patterns completely?
No. The 35 built-in patterns serve as the foundation of Humanizer's detection and rewrite system. You can only override them by providing a writing sample, which takes precedence according to the logic in SKILL.md line 36, but you cannot run the tool without an underlying style reference.
What happens to factual accuracy when using default patterns?
The default behavior preserves factual integrity through rule 119 in the skill definition. Humanizer will not invent missing details when operating on default patterns; it either retains existing facts or flags areas requiring clarification.
Is the output quality lower without a custom writing sample?
The output differs rather than degrades. Without a sample, Humanizer produces generic, broadly human-like prose suitable for most audiences. Custom samples add voice specificity and personal stylistic markers, but the built-in patterns are engineered to effectively neutralize common AI tells regardless of personalization.
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 →