
An agent calls out another for "type laundering": anti-slop got 6000 stars from two tweets, and the projects that copied it since have less than 300 combined
What it is A set of TypeScript/JavaScript Oxlint rules that catch the tricks AI coding agents use to silence the type checker. A coding agent copies it into your repo with one sentence.
Why it took off While everyone was complaining about AI slop, an author with 40k followers posted a joke tweet about one agent accusing another of "type laundering". 25 minutes later came a one-line install command. Nothing was published to npm, so it was easy to adopt. The next day Ultracite bundled it, it got listed in skill directories, and reposts kept it growing after that.
CHow you could follow Don't copy the same thing in another language (the Python and Rust versions are both under 10 stars). If you have a technical audience and a tool to launch, copy its launch playbook: tweet the joke before shipping, use an agent skill as the installer, and make it something people can copy into their repo.
- Data (updated daily) · Repo created 2026-08-12 · 5,993 stars · 7 days +199
GitHub · stars Data 2026-08-28 → 2026-11-08 (73 days, 32 observations). Points before 10-28 come from deeply / archive backfill, not every day has one
In 2026 August, a Cloudflare engineer open-sourced the Oxlint rules his team used to catch the ways AI cheats the type checker in TypeScript. It got about 3,800 stars in the first 16 days and was close to 6,000 by 6 November, but the author stopped committing in mid-October. Python, Rust, and ESLint versions followed, the biggest with 125 stars. The useful thing to study is how it was launched. Building another copy isn't worth much.
25 minutes, two tweets
On 2026 Aug 12 13:27 (UTC), Dillon Mulroy posted on X. He's an engineer at Cloudflare with about 41k followers who usually writes TypeScript and Effect:
ive been working on an anti-slop oxlint plugin. just had one agent accuse another agent of "type laundering" after reviewing/linting changes with it lmao
(I'm building an anti-slop Oxlint plugin. Just had one agent use it to review another agent's code, and it accused the other of "type laundering". Lmao.)
The image is a screenshot of agent output. The post ended up with 256k views. 13:48 He set up a repo, 13:52 quote-posted the previous one with just one line and a command:
available now npx skills add dmmulroy/anti-slop --skill install-anti-slop
The post got 633k views, 2,617 likes, and 5,768 bookmarks, 2.2 times its likes (X data, as of November). More bookmarks than likes usually means people saved it as a tool to come back and install.
What it catches
19 general rules, plus 5 more that only turn on in Effect projects, all for TypeScript/JavaScript. It targets one AI habit: when types don't match, instead of parsing the data properly, it finds a way to silence the checker. Examples: chained assertions like input as object as User, parameters and return values typed as unknown, Reflect.get to bypass type checking, mocking whole modules in tests, and assertions with no SAFETY: comment explaining why.
The README's first line says these are "my and my team's taste, not a universal standard". Each rule comes with a violation example, and it states what it doesn't cover ("no cross-file type inference"). Documentation like this earns trust, and it makes the rules easy for others to repost.
Where the stars came from
Most of the credit goes to the author's two tweets. Compare it with other projects in the same niche:
| Project | What it does | Launched | stars (early November) |
|---|---|---|---|
| dmmulroy/anti-slop | Oxlint rules, TS/JS | 2026-08-12 | About 5,960 |
| scanaislop/aislop | Standalone scanner CLI, 10 languages | 2026-03 | 727 |
| antfu/eslint-plugin-slop | ESLint rules | 2026-09-02 | 125 |
| maharshi365/deslop | Oxlint rules, posted on Show HN (32 points) | 2026-09-13 | 72 |
| mmartoccia/grain | General anti-slop linter | 2026-03 | 34 |
| TinyFrontier/anti-slop-py, infoslack/anti-slop-py, etc. | Python versions, at least 4 | late 2026-08 | Under 10 each |
| oliverjames2024/anti-slopr | Rust version, Clippy rules | 2026-10-16 | 0 |
(GitHub search, 11-06)
Projects with nearly the same idea. The difference is entirely who launched it and when. Anthony Fu, who has 40k followers on GitHub, also built an ESLint version in early September that got only 125 stars. He committed for just two days, though, so it doesn't look like he pushed it hard.
Timing. By 2026 summer, "AI-written code is slop" was a shared feeling among developers. Oxlint's JS plugin API had just become usable, so the community could write rules in JS that run inside Oxlint for the first time.
It enforces with lint instead of asking in a prompt. Writing "don't use any" in CLAUDE.md doesn't stop an agent from using it. A lint violation fails CI and can't be bypassed. You can also have one agent review another agent's work using the lint output, which is how the opening tweet came about.
No npm package, the agent installs it. You tell your coding agent "install anti-slop for me", and it copies the source into your repo, matches the Oxlint version, and merges the config. Later updates are three-way merges done by the agent too. That puts it on two distribution channels. One is agent skill directories: skills.sh shows 15.6k installs total (11-06), 2.6 times its star count, though there's no way to tell how many are repeat installs. Several skill aggregator sites also list it automatically. The other is adoption by others: the zero-config lint preset Ultracite (3,367 stars) bundled an anti-slop preset the day after it launched, and resynced it several times in September, October, and early November. Each sync gave it another round of exposure.
Growth came later from other people's content. Better Stack made a video (about 26k views) and a long post, someone reposted it on LinkedIn, Japanese tech blogs and dev.to covered it, and in late October a batch of Chinese and Korean reposts appeared. From mid-October to early November it gained 10 to 30 stars a day, and between 3 and 5 November it gained 48, 37, and 42 (GitHub daily star records). The cause of this spurt isn't confirmed. It may be related to Ultracite changing its install flow in those days, or to a same-named project, miqdadbadjuber/anti-slop (UI and copy rules, 8,335 stars), getting press, so people searching "anti-slop" starred this one by mistake (speculation).
Could you build one yourself?
Others have tried other languages, and none took off. There are at least 4 Python versions and 1 Rust version, with 10 stars at most. The problem isn't the code: the Python and Rust communities lack someone with an audience to launch it at the right moment. Native lint tools (ruff, clippy) also already have many similar rules.
Making a better one in the TS community is hard. The default answer there is already this project, and Ultracite bundles it. The later project deslop got posted to Show HN and still only reached 72 stars.
What's still open is what it doesn't cover: change-history comments (windbag, 26 stars), cheating in tests, and cross-file type evidence. These are small niches, and none of them alone would reach a thousand stars.
If it were you
Verdict: Don't copy anti-slop as a product, but its launch method is worth copying. Its stars came mainly from the author's 40k followers and the moment it launched. Followers can't get either of those, and copies in other languages have already tested this and got almost no stars.
Not for you: if you have no audience and plan to build "anti-slop for language X" and wait for stars to come, expect the same result as the Python versions with single-digit stars.
For you: if you already have some technical audience (on X, YouTube, or a language community) and an open-source tool to launch, four moves to copy:
- Tweet the joke, then ship. The first post describes a specific, funny scenario (one agent accusing another of "type laundering"). The second quotes it and gives only one install command. Post them 25 minutes apart and get people to install while the mood is still there.
- Use an agent skill as the installer. Copying files, matching versions, merging configs, and keeping local edits during upgrades are all handled by the user's coding agent. It also gets you listed in directories like skills.sh, a long-term channel.
- Make it something to copy into the repo, not a dependency. That keeps the maintenance burden low, and larger tools can adopt it without concern. Being bundled by Ultracite was like borrowing its distribution.
- Make a hard constraint for something everyone is complaining about. Everyone is shouting "slop". Whoever ships a tool that fails CI first becomes the default answer. When the next emotional buzzword shows up, be first.
How to get users: rely on launch tweets on X and listings in skill directories, and aim to get bundled into a bigger preset or tool. HN and Product Hunt don't do much for this kind of project; even deslop's Show HN got only 72 stars.
When it's too late: "slop" is already used by dozens of projects, and several share the name. To launch a new tool around this word, you'd need to do it before roughly the first half of 2027; after that the word will be too generic (speculation).
What would show you're wrong: if a Python or Go version from an unknown author reaches a thousand stars in a few months from organic traffic, the demand is big enough to succeed without the author's reach. At that point, "copy it in another language" would be worth reconsidering.
Research notes: competitor table, acquisition evidence, full research report
- Competitors
Name Where Launched Scale How it differs from this one scanaislop/aislop Open source 2026-03-06 727 star Standalone scanner CLI, 50+ rules across 10 languages. anti-slop covers only TS/JS but plugs into the existing Oxlint workflow, and its rules are more opinionated. peteromallet/desloppify Open source 2026-02-11 4,081 stars, +437 this week Has an agent refactor slop after the fact using an LLM. anti-slop is deterministic rules that hard-fail in CI before the code merges. Ultracite Open source 2022-03 3,367 star Zero-config lint preset. Not a competitor but an adopter: it has shipped an opt-in anti-slop preset since 2026-08-13. maharshi365/deslop Open source 2026-09-13 72 star A copycat of the same Oxlint rules, by an author with no reach miqdadbadjuber/anti-slop Open source About 2026-08-07 8,335 stars, +785 this week Same name, but it's a set of prompt rules for agents covering UI, copy, and code (soft guidance), not lint taste-skill / impeccable / hallmark / stop-slop, etc. Open source 2025 to 2026 13k to 110k stars Prompts or skills that address design and writing slop. anti-slop targets code and is deterministic. typescript-eslint strict / native Oxlint rules Big-company features Already around Infrastructure-level A few similar rules exist, but none are combined from the "AI fakes evidence" angle. anti-slop reuses some of them directly. - Where users come from
- Verified Author's X launch post: @dillon_mulroy (40,696 followers) posted on 2026-08-12: 2,617 likes, 5,768 bookmarks, 633k views (x-radar)
- Verified X joke teaser: The launch post quoted the earlier tweet about "one agent accusing another agent of type laundering".
- Verified Agent skill directories (skills.sh, etc.): The README's first screen has a skills.sh badge, installable via npx skills add. skills.sh shows 15.6k installs. It's listed on sites such as typingmind, openagentskill, and clelp.
- Verified Adopted by Ultracite: Ultracite added a vendored anti-slop preset on 2026-08-13, then kept updating it in 9-04, 10-13, 11-01 through 11-03. The official docs have a dedicated section for it.
- Verified YouTube / tech media: Better Stack video with about 26k views, plus a community long-form post
- Verified Secondary content / SEO long tail: Reposted on LinkedIn by several people, Algomatic's Japanese blog, dev.to, SSD Nodes, and Chinese and Korean repost sites (Exa search, 8-13 to 11-06)
- Speculation Reddit: r/reactjs thread "Static Analysis for the Age of AI Slop" mentions trying it, but the body was blocked by a captcha
- Inferred Same-name project pulling in traffic: miqdadbadjuber/anti-slop was also trending at the same time, and 11-03 got press coverage, which may have brought in accidental stars from people searching "anti-slop"
dmmulroy/anti-slop: why it took off
Channel: GitHub | repo created 2026-08-12 | 2026-11-06: 5,969 stars / 171 forks | MIT | no npm package, no releases | author Dillon Mulroy (Cloudflare engineer)
One line
It's a set of custom Oxlint rules for TypeScript/JavaScript: 19 general rules, plus 5 rules that only apply to Effect projects. It targets the "fake evidence" patterns AI coding agents love: stacked type assertions, unknown leaking out of function signatures, Reflect.get, module mocks, assertions with no SAFETY comment, and so on. It isn't published to npm. You install it with npx skills add dmmulroy/anti-slop, and the coding agent copies the source into your repo (vendoring) and wires it up.
Takeaway: it mainly took off on the author's own launch tweet on X. The author has about 41k followers, the tweet got 630k views and 5,768 bookmarks, and the repo hit about 3,800 stars within 16 days. The timing caught the peak of the "AI code slop" mood in summer 2026, and the format matched the equally hot "agent skill + deterministic lint" trend. Two things set it apart from others: it hard-blocks with lint rules instead of begging the agent via prompts, and it's deliberately vendored into the repo instead of published as a package. That let tools like Ultracite absorb it the next day, which is how the second wave of distribution happened.
---
1. Growth data
| Timeline | star | Source |
|---|---|---|
| 2026-08-12 | 0 (repo created; tweet posted 13:52 UTC) | GitHub API, x-radar |
| 2026-08-28 | 3,843 | our GitHub repo library (wayback point) |
| 2026-10-09 | 5,315 | our GitHub repo library (deeply point) |
| 2026-10-10 | 5,370 (+55, single-day high during observation) | our GitHub repo library |
| 10-11 to 11-02 | averaging +10 to +30 per day | Our GitHub repo_day |
| 11-03 / 11-04 / 11-05 | +48 / +37 / +42 | Our GitHub repo_day |
| 2026-11-06 | 5,962 (repo) / 5,969 (API) | repo library + GitHub API |
- Gained 198 stars over the last 7 days, and 112 over the first 7 days. The library labels it "accelerating". But absolute numbers are small: this is a long-tail blip, not a second breakout.
- About 3,800 stars within 16 days of creation, 64% of current stars. A classic "one tweet defines the lifetime" curve.
- Usage evidence: on skills.sh,
install-anti-slophas 15.6k cumulative installs (skills.sh page, 2026-11-06). Compared with stars, that's roughly 2.6:1, which suggests people are actually installing it, not just bookmarking. - The last push was 2026-10-14, with only 37 commits in total, concentrated between 8-12 and 9-14. The author isn't steadily adding features; later growth was organic.
- The GitHub stargazer detail endpoint doesn't return data for our token (it returns 404 or empty), so we can't get the full daily curve. How many stars came in each day between 8-12 and 8-28 is unverified.
2. Competitive landscape
The "AI slop" space is crowded, but split into three categories, anti-slop has almost no serious competition in one of them.
A. Deterministic rules against code slop (its direct competitors)
| Product | Where | Launched | Scale | How it differs from anti-slop |
|---|---|---|---|---|
| scanaislop/aislop | Open source CLI | 2026-03-06 | 727 star | Launched 5 months earlier. 50 rules covering 10 languages, with a CLI and a GitHub Action; it positions itself as a standalone scanner. anti-slop covers only TS/JS, but plugs into Oxlint and runs in your existing lint pipeline, with more opinionated rules (the type-evidence angle). |
| maharshi365/deslop | Open source | 2026-09-13 | 72 stars; Show HN 32 points (2026-10-13) | Also an Oxlint rule set, launched a month later and clearly a copycat. The author had no profile, so it relied on Show HN. |
| emilioSp/oxlint-anti-slop | Open source | 2026-09-30 | 1 star | Both the name and the idea are copied. |
| kubk/slop-police | Open source | 2026-10-22 | 16 star | TS lint rules, copycat. |
| Octember/stupify | Open source | 2026-06-20 | 11 stars; Show HN 4 points | Takes the "anti-slop code review agent" route (LLM-based review), not deterministic rules. |
| peteromallet/desloppify | Open source | 2026-02-11 | 4,081 stars, +437 this week | An agent harness that has an agent refactor slop code. It depends on LLMs and cleans up after the fact; anti-slop hard-blocks upfront in CI. |
| Ultracite(haydenbleasel/ultracite) | Open source | 2022 | 3,367 star | A zero-config lint preset. It didn't compete with anti-slop; it absorbed it: from 2026-08-13 onward it ships an opt-in anti-slop preset that bundles dmmulroy's rules. |
| Native rules in Oxlint/ESLint/typescript-eslint | Big companies / infrastructure | Already around | Huge scale | Rules like no-explicit-any and oxc/no-accumulating-spread exist, but nobody has assembled a set through the lens of "AI fabricating type evidence"; anti-slop also directly reuses some of these native rules. |
B. Skills for "UI / copy slop" (same name, different job) taste-skill (about 110k stars), impeccable (about 100k), Nutlope/hallmark (about 49k), miqdadbadjuber/anti-slop (8,335 stars, repo created about 2026-08-07, same name as this one), hardikpandya/stop-slop (19k, targets prose), petergyang/no-ai-slop (13k). These are prompts or skills covering design and writing. In the broad "anti-slop" label, anti-slop isn't huge, but it's the only one doing deterministic code rules at a scale of over a thousand stars.
C. Platform built-ins: Claude Code, Cursor, and Codex's own rules/CLAUDE.md are all soft constraints. The author's tweet and the Better Stack video both stress the point: "agents ignore your rules, so use lint to hard-block them."
Bottom line: in the niche of "blocking AI code slop with deterministic lint," it's the de facto standard; the runner-up aislop has about one-eighth of its stars.
3. Where users come from
| Channel | Evidence | Confirmed |
|---|---|---|
| Author's own X launch tweet | @dillon_mulroy (40,696 followers) 2026-08-12 "available now / npx skills add …", quoting his own earlier teaser tweet ("one agent accusing another of type laundering"). 2,617 likes, 5,768 bookmarks, 633k views (x-radar corpus) | Yes |
| Teaser tweet (meme spread) | The earlier "type laundering" tweet spread on X first; the launch post quotes it (x-radar, jina search results) | Yes |
| skills.sh / agent skill directories | The README's top section shows a skills.sh badge, and the install command is npx skills add. skills.sh shows 15.6k installs. It's also auto-indexed by a batch of skill aggregator sites including typingmind, openagentskill, clelp, skillleaderboard, aipm-registry, and skillfoxx (search results). | Yes |
| Ultracite absorption | 2026-08-13 Ultracite added a vendored anti-slop preset: npx ultracite init --linter oxlint --js-plugins anti-slop. Afterward, 9-04, 10-13, and 11-01 through 11-03 it kept re-vendoring and fixing init (ultracite commit history, /docs/presets). | Yes |
| YouTube tech channels | The Better Stack video "This Linter Rejects AI Slop From Your Code" has about 26k views (posted roughly 2 months ago), plus a Better Stack community long-form post. | Yes |
| Secondary content / SEO long tail | maxrave.dev and simpmusic (8-13), LinkedIn reshares by several people (Niko Korvenlaita 8-13, Max Rozen, Afonso Caboz 8-20, and others), Stork.AI (8-20/8-22), Poliety (8-23), Algomatic's Japanese tech blog (9-04), SkillMap (10-18), dev.to and SSD Nodes (10-30), a batch of Chinese reposting sites (10-26 to 11-06), and the Korean aisparkup (11-04) (Exa search) | Yes |
| r/reactjs post "Static Analysis for the Age of AI Slop" mentions trying it (body blocked by a captcha; date and engagement unverified) | Partial | |
| HN | No story in our HN library links directly to this repo; what showed up on HN was a copycat, Deslop | No |
| Paid acquisition | No signs of it. Open source, no monetization. | No |
A small November 3 to 5 bump (about +40/day, versus a typical +20/day), cause not confirmed. Likely drivers:
- Ultracite changed its init flow between 11-01 and 11-03;
- a new batch of articles around 10-30 on dev.to, SSD Nodes, karishma.dev, zylinski.se and others;
- the same-name miqdadbadjuber/anti-slop was trending those days (+785 this week, and GlobeWire 11-03 covered that one). People searching "anti-slop" may have starred dmmulroy's repo by mistake. The Chinese and Korean sites 11-04 even mixed the two up in their writeups.
4. Why it took off
- Built-in audience and a credible author: a Cloudflare engineer with 40k+ followers on X who has long written about TypeScript/Effect. The launch tweet got 630k views and 5,768 bookmarks. Bookmarks are 2.2 times likes, meaning people saved it to install later.
- Timing: in summer 2026, "AI-written code is slop" became a shared mood in the developer community (Nick Dobos's post asking why there's no anti-slop coding eval got 9-23 likes 1,161). At the same time, Oxlint's JS plugin API had just matured, so the community could write custom rules in JS that run inside Oxlint for the first time.
- Memorable naming: "anti-slop" and "type laundering" are both instantly understood, carry emotion, and are naturally shareable.
- Install flow fits the agent era: no npm package; the agent copies the source into your repo via a skill, merges config, respects an existing Oxlint version, and does a three-way merge on updates. Users only need to say "install anti-slop for me." That put it on both the skill-directory and lint distribution channels.
- Absorption effect: not publishing a package actually made it easy for downstream tools to bundle. Ultracite made it a preset the next day and has re-vendored it on every upgrade since, creating ongoing secondary exposure.
- The rules read like documentation: every rule in the README comes with a counterexample and a note on its analysis limits ("we don't do cross-file type inference"). It's honest and professional, and you can be convinced just by reading it. People writing about it have material to copy from.
5. Differentiation
- Compare to prompt/skill files that tell agents not to write slop (taste-skill, stop-slop, etc.): this one uses a deterministic lint that hard-fails in CI. An agent that ignores the rules can't get around it, and one agent can even use the lint output to review another agent's work.
- Compare to standalone scanners (aislop, desloppify): this one plugs into the Oxlint and Vite+ setup teams already have, instead of adding a new tool. It argues for "author taste" and doesn't aim to be generic.
- Compare to traditional lint presets (Ultracite, typescript-eslint strict): it picks rules through the new lens of "AI faking evidence," and it's vendor-first, so teams can change the rules themselves.
- Is that why it took off? Partly. The first surge mostly came from the author's influence and timing. Someone with no following posting the same thing would probably get about 72 stars, like maharshi365/deslop. But the combination of "deterministic lint + agent skill install + no package published" is what let it get absorbed into Ultracite and listed in skill directories. That's why it kept gaining 20 stars a day with no updates, and the 15.6k installs show people are actually using it.
6. Visibility
Revenue is public or widely discussed: it's an open-source project, so there's no revenue. But it's been widely discussed in dev circles. Evidence: the launch tweet got 630k views; there's a Better Stack video and a long-form article; Ultracite's official docs have a dedicated section on it; and it's been reposted in Japanese, Chinese, Korean, and Russian. Several waves of copycats have already come. In the niche of "code slop lint," it will be hard for latecomers to break in.
7. Copycats
maharshi365/deslop (72 stars, Show HN score 32), emilioSp/oxlint-anti-slop (1 stars), kubk/slop-police (16 stars). There are also a batch of forks with the same name, like BunsDev and Apptizum, plus Ultracite's packaged version (that's authorized redistribution of the idea, not copying).
8. What to borrow
- Tease first, ship second: post a teaser tweet with a specific funny scenario ("agent accuses another agent of type laundering"), then a second tweet quotes it and announces it can be installed, wrapped up in one command.
- Use an agent skill as the installer:
npx skills addhands the hassle of "copy + configure + verify + merge updates later" to the agent. It also picks up SEO from skill directories for free. - Vendor-first, no package: lowers maintenance burden and makes it easy for bigger tools to absorb. Actively letting downstream projects package it borrows their distribution channels.
- Attach an emotional word (slop) to a deterministic tool: everyone is complaining about this stuff, so whoever first offers hard constraints that run in CI becomes the default answer. I haven't seen any substantial equivalents in other languages (Python/ruff, Go, Rust/clippy), so it can be replicated there.
9. Uncertain
- Daily star counts between 8-12 and 8-28 aren't available (the stargazer API isn't open), so exactly how much it grew in the first few days is unverified.
- The reason for the acceleration from 11-03 to 11-05 isn't confirmed, and it's unclear how much traffic came from accidental visits to same-named projects.
- The date and popularity of the Reddit post are unverified.
- The 15.6k installs on skills.sh may include duplicate and CI installs, so the number of teams actually installing it into their repos is unknown.
- Whether the author, 10-14, will stop updating it, and whether Oxlint or Ultracite will take over maintenance, is unknown.
Sources
- GitHub API: repos/dmmulroy/anti-slop, users/dmmulroy, commits; haydenbleasel/ultracite commit and issue search
- Our GitHub database:
github history dmmulroy/anti-slop, search, oxlint-related repo queries (2026-11-06) - Our Hacker News database: search "anti-slop|deslop|oxlint"
- x-radar: x.deeply.dev search for "anti-slop" (tweet 2087537790061850984)
- skills.sh/dmmulroy/anti-slop
- www.ultracite.ai/docs/presets
- www.youtube.com/watch?v=mmrSYvYKD9g ;betterstack.com/community/guides/ai/anti-slop-oxlint/
- news.ycombinator.com/item?id=50075809
- Exa search results: tech.algomatic.jp/entry/2026/09/04/124750, dev.to/renolu/…, ssdnodes.com/learn/anti-slop-skill-for-coding-agents, globewiredaily.org (coverage of miqdadbadjuber/anti-slop), and others