# no-ai-slop-writing-rules: 24 rules, one banned construction, and a voice profile built from 513,683 words about home repair

> A portable Agent Skills package that hands an agent a hard rule set for removing machine-written patterns plus a voice profile derived from corpus analysis of a single writer. The install paths deliver different file sets, and the document breaks its own rule about one-line paragraphs on its first page.

**realrossmanngroup/no_ai_slop_writing_rules** — Claude Code reference: write in Louis Rossmann's voice, never like AI slop. Portable CLAUDE.md plus skills.

- Repository: https://github.com/realrossmanngroup/no_ai_slop_writing_rules
- Stars: 694 · Forks: 77
- Language: Unknown
- License: not declared
- Published: 2026-09-20 · Updated: 2026-09-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/realrossmanngroup-no-ai-slop-writing-rules

## The document opens by assuming you were sent here by someone who writes badly

Before any instruction, the README addresses a visitor directly. Its premise is that you arrived because someone sent you their writing, that the writing was obviously generated, and that you stopped reading partway and went looking for a polite way to suggest a human pass over it. It then makes the point that nobody objects to the tool being used, only to its first draft going out under your name, with the comparison to handing out a business card with an aol.com address on it. The register is blunt to the point of profanity in the first line, which is a deliberate choice rather than an accident, and it sets the tone for a rule set whose examples are equally direct. It also tells you the intended audience precisely: people who are already fine with a model in the loop and only want the output to read as written by a person.

## The dead giveaway is named as a sentence frame, with worked examples on both sides

The central tell is a construction rather than a word: the not-X-but-Y frame, plus its longer cousin not just X but Y with Z. The document supplies its own examples of what it means, including a price change described as a betrayal of trust and a phone described as a statement. The stated reason the model reaches for it is that it sounds profound while committing to nothing, and the stated reason humans do not is that they simply say what the thing is. Underneath that sit the other members of the kit, named individually rather than described as a general tone: transition openers, an emoji in front of a bullet, lists built in threes because three sounds complete, and the fake-punchy one-line paragraph. The banned-words reference then extends the list by category, covering verbs, adjectives, transitions, phrases, intensifiers, heading anti-patterns, academic tells, hedging markers, and structural and statistical patterns.

## Headings are called out as movie posters rather than descriptions

One rule targets structure rather than diction, and it is the rule with the clearest before-and-after pairs. The pattern is a dramatic noun phrase standing where a plain description belongs: a title-cased label like The Pricing Trap in place of something closer to how to avoid scam pricing, or The Hidden Cost of Convenience in place of the observation that subscriptions add up. The stated job of a heading is to tell you what is inside the section, not to tease it. This one is easy to check mechanically, which is one reason it is in the set: a heading either names its contents or it does not, and a reader scanning the document can tell immediately which. The same reference file lists heading anti-patterns as its own category, alongside academic tells and hedging markers, so the rules cover both the words you choose and the shape of the sentence you put them in.

## The voice profile is corpus analysis of 513,683 words, all from one subject

The second deliverable is a data-driven voice profile, and the method is stated with unusual precision: it is built from corpus analysis of 513,683 words of Louis Rossmann's writing. The traits listed are testable-number density, high sentence-length variance, claim-then-proof paragraph structure, contractions, the ampersand habit, and contempt expressed through precision rather than through adjectives. Each of those is measurable, which is what separates this from a list of adjectives to emulate. The scope section then draws the line the reader needs: the examples in the voice skill are repair-themed because that is what the source corpus covers, and the argument for reuse is that the traits are structural, so the voice applies to any subject. That argument is about sentence shape. It does not extend to topic vocabulary, which comes from the same corpus.

## Three install routes deliver three different file sets

Three routes are given, and they do not put the same files in your project. The CLI route is one line, `npx skills add realrossmanngroup/no_ai_slop_writing_rules`, and skills install to `.agents/skills/` in your project. The Claude Code plugin route uses two slash commands, adding the marketplace and then installing the plugin by name. The clone-and-copy route is explicit about what it moves:

```bash
git clone https://github.com/realrossmanngroup/no_ai_slop_writing_rules.git
cp -r no_ai_slop_writing_rules/skills/* your-project/.agents/skills/
```

That copy takes the two skill folders and nothing else. CLAUDE.md, the entrypoint that states the purpose, summarizes the voice, sets the operating rules and lists all 24 anti-slop rules, is not in the path being copied, and neither is AGENTS.md. So a user who clones gets the guidance without the index of it, and an agent reading only the copied skills never sees the numbered rule list.

## Four spellings of the same package name across three ecosystems

The name changes shape depending on which tool is looking at it. The repository and the npm-style package identifier use underscores, realrossmanngroup/no_ai_slop_writing_rules, and that form is what the skills add command takes and what the badge links to. The skill directory inside the repository uses hyphens, skills/no-ai-slop/. The Claude Code plugin is installed under a third spelling, no-ai-slop-writing-rules, with hyphens and the full phrase. The repository root also carries a `.claude-plugin/marketplace.json` manifest and a `.claude/skills/` directory described as a project-local mirror of the published skills. That mirror is the one arrangement in the set that can go stale without anyone noticing, because the copy that agents read and the copy that ships to users are both live and only one of them is the source.

## The opening page ends on a one-line paragraph, which is the pattern it bans

The banned-words list includes the fake-punchy one-line paragraph, and the document demonstrates the technique a few lines later by using one. After a run of short declarative lines explaining what the model does and does not do, the opening block puts a single short line on its own: For drama. It is there as a joke about the model's habits, and it is also the exact shape being banned, delivered with a period and a full stop of an argument. Set against that, the rest of the file is unusually disciplined about its own rules: it names what it does rather than teasing it, it gives a concrete figure for the corpus, and it states the limitation of that corpus in a scope section. The tension is small and local, but it is the kind of thing a reader applying these rules to their own work will notice immediately.

## No license, no releases, and a last commit in May 2026

Three repository facts sit outside the marketing. The top-level entries are `.claude-plugin/`, `.claude/`, `.gitignore`, `AGENTS.md`, `CLAUDE.md`, `README.md` and `skills/`, with no LICENSE file among them, and no license is recorded for the repository either. There are no GitHub releases, so the skills have no versioned distribution and no changelog: an update arrives when the files change on the default branch, which is main. The last push to the repository is dated 2026-05-30. For a package meant to sit inside other people's agent configurations, that combination means there is no upgrade path and no stated permission, so treat the files as reference material to copy deliberately rather than as a dependency to install and forget.

## Conclusion

Adopt the rule set, treat the voice profile as an illustration. The banned-pattern reference is the transferable part: it names specific tells, gives wrong and right versions of each, and self-checks output before returning it, which is a mechanism you can point at any model in any tool. The voice profile is a different kind of asset, derived from 513,683 words of one person writing about home repair, and its own scope section concedes that the examples are repair-themed. So the statistical fingerprint, sentence-length variance and testable-number density, describes that corpus rather than your subject. Two practical checks first. Pick the install route by what you need, since the clone-and-copy path brings only the two skill folders and not the CLAUDE.md entrypoint that lists the 24 rules. And note that no license is recorded for the repository and there are no releases, so decide what you intend to do with these files before you fork them into your own agent config.

## FAQ

### What does the no-ai-slop-writing-rules package contain?

Two things: a hard rule set that strips patterns marking machine-generated text, including em dashes, intensifiers, filler phrases, hollow statements, fabricated facts, AI transition words and dramatic headings, and a voice profile built from corpus analysis of 513,683 words of Louis Rossmann's writing. CLAUDE.md lists all 24 anti-slop rules.

### How do I install the no-ai-slop writing rules?

Three routes are given. `npx skills add realrossmanngroup/no_ai_slop_writing_rules`, which installs skills into .agents/skills/; the Claude Code plugin route, which adds the marketplace and installs the plugin; or cloning the repository and copying the skills folder into your project. Skills install to .agents/skills/.

### Which agents can use these writing rules?

Claude Code, OpenAI Codex, Cursor and Windsurf, plus any agent that follows the Agent Skills specification. The skills are general-purpose for essays, scripts, posts, documentation and email, and are not tied to a wiki, CMS or publishing system.

### Is the Rossmann voice profile limited to home repair writing?

The examples are repair-themed because that is what the source corpus covers, and the text argues the traits are structural so the voice applies to any subject. The corpus behind the statistics is 513,683 words, and the traits listed are sentence-length variance, testable-number density, claim-then-proof paragraphs, contractions, the ampersand habit, and contempt shown through precision.

### What license are the no-ai-slop writing rules under?

None is recorded. No license is attached to the repository and no LICENSE file appears among the top-level entries, which hold .claude-plugin/, .claude/, .gitignore, AGENTS.md, CLAUDE.md, README.md and skills/. There are no GitHub releases.

## Sources

- [Issues](https://github.com/realrossmanngroup/no_ai_slop_writing_rules/issues)
- [README](https://github.com/realrossmanngroup/no_ai_slop_writing_rules/blob/main/README.md)
- [realrossmanngroup/no_ai_slop_writing_rules on GitHub](https://github.com/realrossmanngroup/no_ai_slop_writing_rules)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/realrossmanngroup-no-ai-slop-writing-rules
