# What Happens When No Writing Sample Is Provided to Humanizer?

> Humanizer automatically uses 35 built-in style patterns when no writing sample is provided, ensuring a deterministic rewrite to humanize AI text.

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

---

**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`](https://github.com/blader/humanizer/blob/main/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`](https://github.com/blader/humanizer/blob/main/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`](https://github.com/blader/humanizer/blob/main/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:

1. **Analysis** – Scans the input for signs of AI writing using the internal pattern list
2. **Transformation** – Rewrites content to match a neutral, human-like baseline defined by the 35 patterns
3. **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:

```yaml

# 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`](https://github.com/blader/humanizer/blob/main/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:

```yaml
- 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:

```bash

# 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`](https://github.com/blader/humanizer/blob/main/SKILL.md)** – Contains the complete skill prompt, the 35 built-in patterns, and the conditional logic at line 36 that detects missing samples
- **[`README.md`](https://github.com/blader/humanizer/blob/main/README.md)** – Documents the override behavior at line 13, explaining how samples take precedence over default rules
- **[`agents/openai.yaml`](https://github.com/blader/humanizer/blob/main/agents/openai.yaml)** – Provides working examples of Humanizer invocation in production agent configurations
- **[`scripts/validate-package.py`](https://github.com/blader/humanizer/blob/main/scripts/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`](https://github.com/blader/humanizer/blob/main/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.md`](https://github.com/blader/humanizer/blob/main/README.md) at 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`](https://github.com/blader/humanizer/blob/main/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`](https://github.com/blader/humanizer/blob/main/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.