The token cost of claude-code-setup is two numbers, not one
People hear "plugin" and assume installing one drops 10K tokens on every turn. For claude-code-setup that's wrong by about two orders of magnitude. The plugin is structurally one skill, and Claude Code skills are designed for progressive disclosure: the discovery payload (name plus description) loads every turn so the model knows the skill exists, the body loads only when the skill is invoked.
So "what does it cost" is really four numbers: idle, first invocation, full reference fan-out, and the second-order tax on whatever the recommender talks you into installing. Below is each one, with the actual bytes you can verify from the public repo.
The plugin is one skill (and a PNG)
The repository at anthropics/claude-plugins-official/plugins/claude-code-setup contains exactly six top-level entries: .claude-plugin/plugin.json (273 bytes of manifest), a LICENSE file (11,358 bytes, not shipped to context), a README (1,015 bytes, also not in context), an example PNG that's only there for the marketplace listing, and one skill folder. That's the entire plugin.
Two things matter for cost. The 545KB PNG never enters context (image embeds in marketplace listings don't flow into the model's system prompt). And the 273-byte plugin.json is also not in the system prompt: it's read by the Claude Code client to register the skill, not by Claude itself. The only bytes the model ever sees from this plugin are inside the skill folder.
State 1 · idle (every turn): the frontmatter only
When a skill is installed but not invoked, Claude Code lists it in the available-skills section of the system prompt with its name and description so the model knows when to reach for it. For claude-automation-recommender, that's the YAML block at the top of SKILL.md:
The whole block is ~310 characters once whitespace is normalized, which lands at ~78 tokens. Add the wrapper formatting Claude Code puts around the available-skills list (the heading, the bullet markers, the "invoke with /skill-name" hint) and call it 80–100 tokens per turn for this one skill. That is the entire per-turn cost of having the plugin installed.
“That's the per-turn cost of the plugin while idle. The other ~10,500 tokens you'd expect to see only land if you actually invoke the skill in that session.”
ccmd.dev measurement, 2026-05-18
State 2 · invoked (SKILL.md body)
When a user types /claude-automation-recommender or asks something like "help me set up Claude Code" and Claude routes to the skill, the full SKILL.md body loads into context. The body is 10,856 bytes on disk, so call it ~2,714 tokens.
The body is structured in two phases. Phase 1 issues a handful of shell commands (the relevant ones are ls -la package.json pyproject.toml Cargo.toml go.mod pom.xml, cat package.json | head -50, and ls -la .claude/ CLAUDE.md). Each of those Bash calls eats a few hundred input tokens of tool I/O depending on your repo size. Phase 2 emits the recommendations: 1–2 picks across five categories.
State 3 · full reference fan-out
SKILL.md uses relative links like [references/mcp-servers.md](references/mcp-servers.md) to pull in detailed pattern catalogs. Whether all five reference files load depends on what Phase 1 found. A polyglot repo with frontend, database, and CI signals will probably trigger four or five of them. A small Python script will trigger one or two. The worst case totals ~31,412 bytes, ~7,900 tokens, on top of the SKILL.md body.
| Feature | Source / heuristic | Per-turn cost |
|---|---|---|
| Per-turn baseline (skill not invoked) | frontmatter only | ~78 input tokens |
| First invocation (SKILL.md body loads) | 10,856 bytes / 4 | ~2,700 tokens (one-time) |
| Full reference fan-out (all 5 ref files read) | 31,412 bytes / 4 | +~7,900 tokens |
| plugin.json manifest | Used by client only | Not in system prompt |
| Phase 1 codebase scan (Bash + Read + Glob) | Depends on repo size | Per-file tool I/O, not config |
| Recommendations you install (the real bill) | Plugin doesn't pay it | Recurring, every turn after |
State 4 · the cost the plugin asks you to take on
The above is the cost of running the plugin. The recurring cost is what the plugin convinces you to install. Its output is a list of 1–2 MCP servers, 1–2 skills, 1–2 hooks, 1–2 subagents, and 1–2 slash commands. Some of those (especially MCP servers and skills) have their own discovery payloads that load on every turn after you install them.
A worked example: imagine the recommender suggests Playwright MCP, the frontend-design skill, an auto-format hook, a security-reviewer subagent, and a /test slash command, and you adopt all five. The plugin itself drops back to idle (~78 tokens per turn). The five new entries add their own descriptions to the discovery payload: roughly 60–120 tokens each. Call it 450 tokens per turn permanently, 5.7x the plugin's own cost.
That second-order cost is invisible at install time and almost never measured. It's also where ccmd's analyzer at src/lib/analyzer.ts earns its keep: paste your CLAUDE.md or the skill descriptions you've installed and it scores total tokens, three cost states (cold, cached, cache-busted), and a per-finding savings estimate. The plugin tells you what to install; the analyzer tells you what it costs to keep installed.
The manifest (for completeness)
The 273-byte plugin manifest, in full, looks like this. None of it is in the model's context window. It exists so the Claude Code client can register the skill and surface it in /plugin.
Same answer as the skill's tools field (Read, Glob, Grep, Bash, no Write/Edit): the plugin is structurally a recommender, not a mutator. That's why its per-turn cost can stay this small and why we don't flag installing it as a hot move. We flag the configs it tells you to install.
Score the configs claude-code-setup wants you to install
Paste your current CLAUDE.md and the skill descriptions you've added since installing the recommender. We'll show per-turn token cost, cache-bust risk, and the lines worth cutting before they multiply across team seats.
FAQ
Frequently asked questions
Does installing the claude-code-setup plugin add tokens to every Claude Code turn?
Yes, but only the skill's YAML frontmatter, not its body. Claude Code's available-skills discovery payload lists every installed skill by name and description so the model knows what is callable. The name (claude-automation-recommender) and description (one sentence ending 'wants to know what Claude Code features they should use') total around 310 characters, roughly 78 input tokens at the chars / 4 heuristic every CLI uses. That's the per-turn baseline. The 10,856-byte SKILL.md body and the 31,412 bytes of reference files in skills/claude-automation-recommender/references/ do NOT load until you actually invoke the skill.
What does it cost the first time you invoke it?
Roughly 2,700 input tokens to read SKILL.md, plus tool-call tokens for the Bash, Read, Glob, and Grep commands the skill runs in Phase 1 (its codebase scan: `ls package.json pyproject.toml Cargo.toml go.mod`, `cat package.json | head -50`, and a directory listing). If Claude follows the relative links in SKILL.md and pulls all five reference files, you add roughly 7,900 more tokens for hooks-patterns.md (1,579), mcp-servers.md (1,855), plugins-reference.md (754), skills-reference.md (2,403), and subagent-templates.md (1,262). Worst case, one invocation costs ~10,500 tokens of context plus output tokens for the recommendations themselves.
How is that different from a 10,000-token CLAUDE.md?
A CLAUDE.md is in the system prompt every turn. A skill is in the system prompt only as its frontmatter every turn; the body is on-demand. If you treat the plugin as a sometimes-fires resource (most sessions never invoke it) you pay ~78 tokens per turn forever. If you treat the same content as CLAUDE.md prose, you pay 2,700+ tokens per turn forever. Same words, two orders of magnitude apart on a per-turn cost basis. Skills exist because the room next to your prompt is expensive.
Then why do people say plugins are expensive?
They're talking about the configs the plugin recommends you install. claude-code-setup is a recommender: it looks at your project and prints a list of 1-2 MCP servers, 1-2 skills, 1-2 hooks, 1-2 subagents, and 1-2 slash commands you should add. Each of those, if you install it, has its own per-turn frontmatter cost in the discovery payload. Five 60-token descriptions add 300 tokens to every turn forever. Multiply across your project and across team members and the second-order cost is much larger than the plugin itself. The plugin is read-only and cheap; what it convinces you to add is recurring and not.
How do I see the actual per-turn cost on my machine?
Two ways. First, ccusage (the open-source CLI, 14.3K stars) lets you see input tokens per turn after the fact; install one new skill, run a session, diff before and after. Second, ccmd.dev's analyzer scores any text you paste at the chars / 4 heuristic. Paste the SKILL.md frontmatter block alone to see the per-turn baseline; paste the full SKILL.md to see what one invocation loads. The two numbers are usually 30x apart, which is the answer to whether the plugin is 'expensive': it depends on which one fires.
Should I uninstall claude-code-setup once I've used it once?
Probably yes. The skill is shaped to be a one-shot review of a project, not a daily-driver. Its description even says 'use when user asks how to first set up Claude Code for a project'. The 78-token per-turn cost is small but it's permanent, and you stop benefiting after the first run. If you do uninstall, keep the recommendations doc the skill produced in your repo so you can re-run it later by hand instead of re-paying the invocation cost.
Does the plugin write to CLAUDE.md or modify any files?
No. The SKILL.md is explicit: 'This skill is read-only. It analyzes the codebase and outputs recommendations. It does NOT create or modify any files. Users implement the recommendations themselves or ask Claude separately to help build them.' The tools field in the frontmatter is `Read, Glob, Grep, Bash`, with no Write or Edit. That's why its per-turn cost stays low: it has no surface to mutate state on every turn.
What's the math at Opus 4.7 input rates?
Opus 4.7 input is $5 per million tokens as of 2026-05-18. The per-turn baseline of 78 tokens is $0.00039 per turn, $0.012 per 30-turn session, around $0.36 over a thousand turns. The 10,500-token worst-case single invocation is roughly $0.053 one time. The recommendations the plugin tells you to install are where the real money is: a typical recommended set of 5 skills + 2 hooks + 2 MCP servers adds ~600 tokens to every turn going forward, which is roughly $0.09 per 30-turn session, $2.70 per month at one session a day, more on team accounts.
Related on ccmd: CLAUDE.md token cost audit, when installed skills become bloat, what fires on every turn vs only on invoke.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.