How Humanizer Manages "Too Many Hyphenated Word Pairs" (Pattern 26)
Humanizer treats over-used hyphenated noun phrases as a weak-alone tell that removes unnecessary hyphens while preserving grammatically correct ones before nouns.
The blader/humanizer repository implements a prose refinement system that detects and corrects excessive hyphenation patterns in writing. Pattern 26 specifically targets the overuse of hyphenated word pairs—a common issue in business and technical writing where authors compound adjectives unnecessarily.
Understanding the Hyphenated Pairs Rule
According to the source code in SKILL.md, the "Hyphenated pairs everywhere" section defines this pattern as a readability improvement that eliminates redundant hyphens without sacrificing grammatical precision. The rule operates on a curated list of frequently over-hyphenated pairs including third-party, cross-functional, client-facing, data-driven, and similar constructions.
When Hyphens Are Removed vs. Preserved
Humanizer applies contextual logic to determine hyphen retention:
- Hyphens are dropped when the compound adjective appears after the noun it modifies
- Hyphens are retained when the compound adjective appears before the noun (grammatically required)
This distinction ensures corrections maintain standard English punctuation rules while eliminating visual clutter from prose.
Pattern 26 Implementation Details
The skill definition resides in SKILL.md at line 77, where pattern matching logic identifies candidate pairs and applies transformation rules. The implementation explicitly excludes protected contexts—code blocks, URLs, and inline commands remain unmodified even when they contain matching hyphenated terms.
Scope and Boundaries
| Context | Handling |
|---|---|
| Prose paragraphs | Full pattern matching and correction |
| Pre-noun compounds | Preserved (grammatically required) |
| Post-noun compounds | Hyphen removed |
| Code blocks | Ignored |
| URLs | Ignored |
| Inline commands | Ignored |
Code Examples and Transformations
The following examples demonstrate Pattern 26 behavior based on the Humanizer source:
Multiple hyphenated adjectives after nouns:
Before: The team is cross‑functional, the report is high‑quality, and the methodology is data‑driven.
After: The team is cross functional, the report is high quality, and the methodology is data driven.
Grammatically correct pre-noun compound (unchanged):
Before: We need a high‑quality report for the board.
After: We need a high‑quality report for the board. // hyphen retained
Em-dash usage (Pattern 8 overlap):
Before: The new policy — announced without warning — affects thousands of workers.
After: The new policy, announced without warning, affects thousands of workers.
Key Source Files
| File | Purpose |
|---|---|
SKILL.md |
Core pattern definitions including Pattern 26 at line 77 |
README.md |
End-user documentation and pattern summaries |
.claude-plugin/plugin.json |
Plugin metadata pointing to skill definitions |
Summary
- Pattern 26 targets excessive hyphenation in compound adjectives that appear after their nouns
- The rule maintains a whitelist of common hyphenated pairs for detection
- Grammatical correctness is preserved: pre-noun compounds keep their hyphens
- Protected contexts (code, URLs, commands) are excluded from transformation
- Transformations are defined in
SKILL.mdwith practical examples for validation
Frequently Asked Questions
What triggers Pattern 26 in Humanizer?
Pattern 26 activates when text contains multiple instances of common hyphenated pairs—such as cross-functional, data-driven, or third-party—used as post-noun modifiers. The pattern looks for repetition across a passage rather than isolated usage, treating overuse as a style weakness that hampers readability.
Why does Humanizer keep some hyphens while removing others?
Humanizer preserves hyphens required by standard grammar rules. When a compound adjective appears before the noun it modifies (e.g., "high-quality report"), the hyphen prevents misreading and stays intact. When the same compound appears after the noun (e.g., "the report is high quality"), the hyphen becomes unnecessary and is removed.
Does Pattern 26 affect technical content like code or URLs?
No. The Humanizer implementation explicitly guards against modifying content inside code blocks, URLs, and inline commands. This protection ensures that syntactically significant hyphens in identifiers, flags, or paths remain untouched regardless of pattern matching.
Where is the Pattern 26 logic defined in the repository?
The complete rule specification, including the hyphenated pairs list and transformation logic, appears in SKILL.md at line 77 under the "Hyphenated pairs everywhere" section. The .claude-plugin/plugin.json file points AI agents to this skill definition for implementation.
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 →