Eight repos, one project, 87 runs
Eight GitHub repos sit on every list of Claude Code essentials this month: Chisle, Ouroboros, Reticle, Caliper, Anti-Slop, UI Skills, img2threejs and FWC SwiftUI Skills. Together they have over 37,000 stars. Those lists tell you what each repo claims and how to install it. Nobody installs them together and measures.
So all eight went onto one real project, a React app with 111 passing tests. One of them wrote itself into the settings of nine other AI tools on the machine. One was never run at all, because of a single line in its source. And three of them connected a server to Claude Code that was never called, not once, in 63 runs.
| The test | Value |
|---|---|
| Repos installed | 8 |
| Total runs | 87 |
| Total spend | about $6 |
| Project | 1 React app, 111 passing tests |
| Model | 1 |
| Duration | 1 day |
Three questions drive the rest: what each repo costs at startup, what actually changed in the output, and which ones are worth keeping.
What each one costs before you type
Startup cost is what Claude Code loads into the context before your first message. On an empty project that is about 17,000 tokens, and you pay for them on every turn. To measure an install, Claude was asked to reply with one word, and the bill was read. The unit is tokens, not dollars: two identical runs can differ 10 times in price just because of caching.
| Install | Added startup tokens |
|---|---|
| Chisle | about 3,500 |
| Ouroboros | about 1,600 |
| Reticle | about 900 |
| img2threejs (33 KB instruction file) | 107 |
| Anti-Slop (helper skill) | 95 |
| UI Skills | 37 |
| Everything else | 100 to 300 each |
| All eight together | under 7,000 |
Two of the eight are not for a web developer at all. img2threejs turns a photo into a 3D scene, and FWC SwiftUI Skills is for Apple apps. Only their cost was measured. The 3D skill ships a 33-kilobyte instruction file and still costs 107 tokens, because only a skill's description loads until you call it.
Servers got cheap too. Claude Code now loads only the names of a server's tools and fetches the details on demand. That is about 45 tokens per tool, whatever the tool does. With all eight installed, the costs simply add up. Nothing multiplies.
Claude Code has a command that projects this cost for a plugin, and it lists hooks as free. For a plugin used daily on this machine, it projected about 540 tokens. The measurement was 744, because its startup hook prints straight into the session.
Startup is not where these repos get expensive. The turns are.
Same tasks, with and without
The benchmark is three tasks a developer would actually hand over: a bug in how a web address gets built, a feature that shows reading time, and a character counter on a form. Each task ran with one repo installed, with all eight, and with none, three runs every time. The judge is a test the agent never sees, plus the project's own suite, plus the type checker. Every run used the same fixed list of allowed tools, with no permission bypass.
| Result | Value |
|---|---|
| Task runs | 63 |
| Passes | 63 |
| New type errors | 0 |
| Calls to the three connected servers | 0 |
| Bug fix, baseline | 7 turns, 27 seconds |
| Form task, baseline | 22 turns, about 1 minute |
Nothing made Claude fail a task, and nothing made it pass one it would have failed without it.
Three of these repos connect a server full of tools. In 63 runs, Claude called those tools zero times. That includes the form task, which was written so that design advice and visual testing would have something to do. To be fair, two of them never got their real job. Reticle needs a browser paired to your running app, and that pairing crashed. Ouroboros needs a setup across the whole machine, and it was not given that.
The noise is huge. Same prompt, same install: one run wrote 4,300 tokens, another wrote 7,100. Only two results beat their own noise, both on the shortest task. A single before-and-after demo proves nothing.
Chisle's 52 percent, on real coding work
Chisle is an output-compression plugin, and the only one of the eight that promises a number: its benchmark says your bill drops to 52 percent. On the three tasks, the output came in at 94 percent of baseline. The README explains why in its own words: those figures are single prompts with no tools, not whole-session cost.
| Measure | Value |
|---|---|
| Chisle's benchmark claim | output at 52% |
| Chisle on the three tasks | output at 94% of baseline |
| The daily-use brevity plugin, same tasks | 113%, inside the noise |
| One bug fix: tokens read | 95,000 |
| One bug fix: tokens written | 1,700 |
In a real coding session, output is the small side of the bill. Chisle loads its rules at the start and staples a reminder to every prompt you send, so its runs cost more than baseline on two tasks out of three. The rules weigh more than the words they save. Its compressor for tool output ran in every session and never recorded a saving.
Neither plugin saved anything measurable. A Chisle user found the same thing across 173 sessions, and the author says that bug is fixed. Credit where due: Chisle publishes its own losses, and its file handling is carefully hardened.
The rule to take from it: a plugin that talks on every turn is the most expensive kind.
The installs that reach outside your project
Install scope is how far a repo's setup reaches beyond the folder you ran it in. Everything here was installed inside one folder, on purpose, so that nothing would touch the rest of the machine.
Reticle's setup command had other plans. Its own log says it registered with 8 more agents: VS Code, Copilot, Warp, Kiro, Amazon Q, Cline, Amp, and one more. In Gemini, it approved itself in advance. In the Claude Code settings, it added a rule that approves its own tools. None of this is hidden, it is right there in the source, the installer is loud about what it does, and it ships an uninstall command. But it was given one yes flag, for one project.
Caliper was supposed to be the measuring tool. Its harness launches Claude with every permission check switched off, with no option to change that, and it copies your login credentials into each test run. It was never run; a custom runner replaced it.
| Repo | Installs cleanly inside a project? | Notes |
|---|---|---|
| Anti-Slop | Yes | Copies files and nothing else |
| UI Skills | Yes | Remote skill library |
| img2threejs | Yes | A skill |
| FWC SwiftUI Skills | Yes | Plain text |
| Reticle | Partly | Registered with 8 other agents, self-approving rule |
| Chisle | No | Global only, checks for updates at startup, saves raw tool output to disk |
| Ouroboros | No | Machine-wide only, reports usage by default, installer can pipe a script from the internet into your shell |
| Caliper | Not run | Permission checks off, credentials copied into each run |
None of it is malware. It is convenience that assumes you want the tool everywhere. Open three things before any install: the hooks, the install script, and the server config.
What happens when they stack
Stacking means all eight installed together: no crash, no error, and the costs add up almost exactly. One trap cost an hour. In scripted runs, a project server waits for an approval nobody can give, so it looks almost free. Every server figure here was measured again after fixing that.
Hooks are where the repos meet. A hook is a script Claude Code runs at a fixed moment, and whatever it prints can land in front of the model. With three of these tools wired in, three scripts fire at startup and three more on every prompt. One ordinary typed sentence reached the model with two notes attached: one telling it to write tersely, one demanding a setup step that cannot be completed inside a project. That second note comes back on every prompt that contains one of its keywords.
Tool names cannot collide, because every server prefixes its own. For hooks, the docs confirm it: when several hooks add context, Claude receives all of the values.
A study from May 2026 measured what a big pile of skills does to an agent. With about 200 skills, the pass rate fell by up to 21 percent, and most of that loss is the agent picking a similar-looking skill over the right one. Eight repos is 10 skills, nowhere near that. People with dozens installed are.
The one that changed the code
Anti-Slop is a set of lint rules you copy into your project, not a plugin. There is no package to install; the author wants you to copy the rules and change them. A linter reads your code outside the model, so it costs no context: 95 tokens for its helper skill, and nothing per turn.
In the form task, Claude had to wire a new field through a component. It copied the line above, unsafe type cast included. Anti-Slop flagged it, three runs out of three. That is the kind of thing a reviewer waves through, because it looks like its neighbours.
| Anti-Slop finding | Value |
|---|---|
| Unsafe type cast flagged | 3 runs out of 3 |
| Missing blank line flagged in a correct six-line function | 2 runs out of 3 |
| Findings on the untouched project | 109 |
| Share of those from two style rules | 83% |
| Other rules | 16 |
The blank-line finding is taste, not a bug, and the linter only reads one file at a time. The cost shows up on day one: decide on those two style rules before you judge the other 16. One gotcha: the rules ship as modules, so your project has to declare itself a module too, or the linter crashes.
UI Skills is the cheapest to keep: 37 tokens for a remote library of design skills, and zero calls in these runs. It had 18 dead links in July. All 300 were tested on the morning of the video, and none are broken.
What I'm keeping, and how to check your own setup
Eight repos sorted. The expectation was three keepers. The data gives one that earned it, and three that are free to keep.
| Repo | Verdict |
|---|---|
| Anti-Slop | Earned it: caught a real mistake every time for almost nothing |
| UI Skills | Free to keep: 37 tokens, collides with nothing |
| img2threejs, FWC SwiftUI Skills | Free to keep if you will ever call them: a few hundred tokens together |
| Chisle | Cost more than it saved on real coding work |
| Caliper | Never ran |
| Reticle, Ouroboros | Want the whole machine, never seen doing their real job, so no verdict on what they are for |
Ouroboros's own maintainer counts about 40 percent of its runs failing.
The limits matter: one React project, one model, three tasks, three runs each. With noise this wide, small effects are invisible. What the data does settle is that the floor is high. Claude passed everything with or without these tools, and tools that sit in the context waiting to be called mostly do not get called. They need a workflow that reaches for them.
You can check your own setup in two minutes. One command shows what is loaded right now. One projects a plugin's cost, and remember it counts hooks as free. One reports what each skill costs and how often it is used. And before any install, open the hooks, the install script, and the server config.
AIDive