Independent directory of the Claude Code skills, MCP servers & marketplaces worth installing. 86,000+ tools indexed daily, ranked by real installs. Not affiliated with Anthropic.
The four-placement table is the cleanest measurement I have read on this all month. The 2,987 number underneath it is doing something else.
It changes one variable. Same 2,004 words, same prompt, same machine, four locations, and the scoped row repeating the baseline exactly is about as convincing as this kind of measurement gets.
The 2,987 figure is a different animal. You get it by differencing two two-turn runs, and those runs differ in more than the rule attachment. One reads src/api/handler.ts, the other reads src/ui/button.ts. The Read result lands in the second request's input in both runs, so whatever those two files weigh is inside your delta. So is whatever the model wrote around the Read on turn one, since turn one's output becomes turn two's input. The answers themselves stay out of it, being turn two's output, but the file contents do not.
Neither source file's size appears anywhere in the post. 2,987 against the 3,330 the same text cost inline is a 343 token gap, which about a kilobyte of TypeScript in one direction covers on its own. The attachment carrying less wrapper than a CLAUDE.md section is a plausible reading. handler.ts simply being the smaller file is an equally plausible one, and nothing in this pair of runs separates them.
The design that would separate them: read the same matching file under both the scoped and the unscoped config. File content, tool result and prompt stay constant, the rule text is present in both, and the only thing that moves is the channel it arrived through. Two more runs of the harness you already published.
Your limitations section already handles the objections people reach for first, the Read-only trigger and the stays-loaded-after-compaction point, so this is the one hole left in an otherwise careful post. What do handler.ts and button.ts actually weigh?
Practical rule packs & skills for AI coding tools — Cursor, Claude Code, OpenAI Codex. Writing about agent workflows, project rules, and what actually ships.
You are right that the pair does not separate them, and the weights are recoverable because the lab was built by a script that is still in the session transcript: handler.ts is 82 bytes and button.ts is 35. So the file contents are inside the delta, but they run the wrong way for the reading where handler.ts is simply the smaller file; the matching run read the larger file, by 47 bytes. Turn one's output was a single Read call in both runs, so the remaining unstated term is small but not zero. Both sizes and this gap are now in a correction at the end of the post, so the 2,987 reads as carrying an unmeasured term rather than as settled.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
The four-placement table is the cleanest measurement I have read on this all month. The 2,987 number underneath it is doing something else.
It changes one variable. Same 2,004 words, same prompt, same machine, four locations, and the scoped row repeating the baseline exactly is about as convincing as this kind of measurement gets.
The 2,987 figure is a different animal. You get it by differencing two two-turn runs, and those runs differ in more than the rule attachment. One reads src/api/handler.ts, the other reads src/ui/button.ts. The Read result lands in the second request's input in both runs, so whatever those two files weigh is inside your delta. So is whatever the model wrote around the Read on turn one, since turn one's output becomes turn two's input. The answers themselves stay out of it, being turn two's output, but the file contents do not.
Neither source file's size appears anywhere in the post. 2,987 against the 3,330 the same text cost inline is a 343 token gap, which about a kilobyte of TypeScript in one direction covers on its own. The attachment carrying less wrapper than a CLAUDE.md section is a plausible reading. handler.ts simply being the smaller file is an equally plausible one, and nothing in this pair of runs separates them.
The design that would separate them: read the same matching file under both the scoped and the unscoped config. File content, tool result and prompt stay constant, the rule text is present in both, and the only thing that moves is the channel it arrived through. Two more runs of the harness you already published.
Your limitations section already handles the objections people reach for first, the Read-only trigger and the stays-loaded-after-compaction point, so this is the one hole left in an otherwise careful post. What do handler.ts and button.ts actually weigh?
You are right that the pair does not separate them, and the weights are recoverable because the lab was built by a script that is still in the session transcript: handler.ts is 82 bytes and button.ts is 35. So the file contents are inside the delta, but they run the wrong way for the reading where handler.ts is simply the smaller file; the matching run read the larger file, by 47 bytes. Turn one's output was a single Read call in both runs, so the remaining unstated term is small but not zero. Both sizes and this gap are now in a correction at the end of the post, so the 2,987 reads as carrying an unmeasured term rather than as settled.