Guides · Updated October 30, 2026

How many skills can Claude Code load at once?

By Tineessa Nelson, Use This Skill

There is no fixed number. Claude Code always lists every installed skill's name, fits the descriptions into a budget of 1% of the model's context window, and drops the descriptions of the skills you use least when that budget overflows. A skill's full text loads only when it is used. In seven proofs run on October 24, 2026, loading a skill added between 683 and 44,105 input tokens.

What does a loaded skill cost?

Use This Skill proves skills side by side: the same brief, three runs without the skill and three with it, on the same model (claude-opus-5-5). The proof records the input tokens, output tokens and time of every run in data/proofs.json. Seven proofs from October 24, 2026 have those numbers. The difference in input tokens between the two sides is the cost of the skill's text.

Skill SKILL.md All Markdown and text in the folder Input tokens added by the skill Median time, without → with Median output tokens, without → with
grilling 2,037 characters 2,037 characters (1 file) 683 242 → 216 seconds 27,322 → 23,086
tdd 3,621 7,316 (3 files) 2,612 230 → 138 seconds 27,884 → 16,704
improve-codebase-architecture 5,998 12,632 (2 files) 4,744 265 → 232 seconds 32,503 → 28,181
prototype 2,923 15,868 (3 files) 5,265 219 → 140 seconds 25,221 → 16,994
triage 6,558 19,149 (3 files) 6,758 146 → 155 seconds 17,079 → 18,159
design-taste-frontend 38,420 330,781 (13 files) 42,743 173 → 266 seconds 20,057 → 27,543
ui-styling 10,943 207,522 (38 files) 44,105 224 → 249 seconds 26,788 → 29,305

Tokens and times from data/proofs.json (proofs of October 24, 2026, three runs a side, medians). Character counts read on October 30, 2026 from each repository at the commit the proof used. The proof script caps the skill text at 120,000 characters, so the last two proofs loaded the first 120,000 characters of their folders, SKILL.md first.

Two things stand out. First, the size of a skill varies by a factor of 65 in this small set. Second, for most skills the reference files are larger than SKILL.md itself: ui-styling's SKILL.md is 10,943 characters, but its folder holds 207,522 characters of Markdown and text.

The proofs load SKILL.md and every Markdown and text file in the folder at once, so these numbers are the cost of the whole folder. Claude Code works differently, as the next section explains, which is why it can keep many skills installed.

How does Claude Code decide what to load?

Claude Code's documentation describes three layers:

  1. The listing, on every turn. Every skill's name and description sit in context so Claude knows what is available. "Every skill in the skill listing adds to your context on every turn, whether or not Claude ever uses it." Description and when_to_use together are cut at 1,536 characters.
  2. SKILL.md, when used. When you or Claude invoke a skill, its rendered SKILL.md "enters the conversation as a single message and stays there across later turns." Invoking it again with unchanged content adds a short note, not a second copy.
  3. Supporting files, when needed. Large reference files do not need to load every time the skill runs; SKILL.md tells Claude what each file contains and when to load it. The documentation advises keeping SKILL.md under 500 lines and moving detailed reference material to separate files.

So the ui-styling skill above would cost Claude Code its description on every turn, its 10,943-character SKILL.md once you use it, and its reference files only if Claude opens them.

What happens when you install too many skills?

The listing has a budget. Claude Code's documentation says it "scales at 1% of the model's context window," that it "always contains every skill name," and that when it overflows, "Claude Code drops descriptions starting with the skills you invoke least, so the skills you use most keep their full text." A skill that loses its description can still be called by name, but Claude no longer has the keywords to match it to a request.

Agent Budget for the skill list When it overflows Full skill loads
Claude Code Scales at 1% of the model's context window; each entry cut at 1,536 characters Drops descriptions of the least-invoked skills first; every name stays When invoked, and stays in the conversation
Codex At most 2% of the context window, or 8,000 characters if the window is unknown; skills.max_context_tokens up to 10,000 tokens Shortens descriptions first, then may omit skills and show a warning When Codex selects the skill
Cursor No limit stated Not stated Resources load on demand; with disable-model-invocation: true, only when you type /skill-name

Each row checked on the agent's official documentation on October 30, 2026; links in the sources below.

How many descriptions fit in that budget?

It depends on your model and your descriptions, so the documentation gives a share of context, not a number of skills. Our crawl gives a sense of the size. Across the 2,056 skills in the October 26, 2026 crawl (data/skills.json, 48 repositories), the median name plus description is 187 characters. One repository, ComposioHQ/awesome-claude-skills, holds 864 skills built from one short template; outside it, the median is 258 characters.

In the five proofs whose folders were not capped, the skill text came to between 2.7 and 3.0 characters per input token. At that rate a median description costs roughly 60 to 95 tokens. Codex's documented fallback of 8,000 characters would hold about 30 to 40 descriptions of median length before file paths and formatting are counted. For Claude Code, 1% of a 200,000-token window is 2,000 tokens, which at the same rate is room for roughly 20 to 30 median descriptions; a window five times larger holds about five times as many. These are estimates from our data, not Claude Code's own formula. Run /doctor in Claude Code for its estimate of your listing's cost.

Do skills slow Claude Code down?

The listing itself is small, and the proofs suggest that what changes the time is how much the model writes. With the skill, the median run was faster in four of the seven proofs. In all seven, the time moved in the same direction as the output: tdd cut output from 27,884 to 16,704 tokens and time from 230 to 138 seconds, while design-taste-frontend raised output from 20,057 to 27,543 tokens and time from 173 to 266 seconds.

These proofs are single API calls with no tools and three runs a side, not full Claude Code sessions, so they do not measure how a long session behaves. They do show that a skill's text costs input tokens once it loads, and that a skill can save more time than it costs when it makes the model write less. The methodology page describes the setup, and every proof is on the proven page.

What happens to skills when the conversation is compacted?

Claude Code's documentation says auto-compaction re-attaches the most recent invocation of each skill after the summary, "keeping the first 5,000 tokens of each," with a combined budget of 25,000 tokens filled from the most recently used skill. If you have used many skills in one session, older ones can be dropped entirely. Put the instructions that matter most near the top of SKILL.md, and invoke a skill again if Claude stops following it after compaction.

How do I keep a large skill set working?

  • See what each skill costs. /doctor estimates the listing's context cost and its biggest contributors. /skill-doctor (Claude Code v2.1.252 or later) reports what each skill costs and how often it is used.
  • Hide what you rarely use. The skillOverrides setting takes "on", "name-only", "user-invocable-only" or "off" per skill. Plugin skills are managed through /plugin instead.
  • Make manual skills manual. disable-model-invocation: true removes a skill from Claude's context until you type /skill-name, in both Claude Code and Cursor.
  • Remove duplicates. In our crawl, 23 descriptions appear word for word on 46 skills, mostly the same skill in two repositories. Two copies cost twice and give Claude nothing to choose between.
  • Write short, specific descriptions. The guide to writing a SKILL.md description shows what the 2,056 descriptions in the directory do and how to put the trigger early, where shortening cannot remove it.

Before you add more skills, run them through the free skill check, which scans a skill's folder for risky commands. For how skills differ from CLAUDE.md, which loads in every session, see AGENTS.md vs CLAUDE.md vs SKILL.md.

How we measured

Input tokens, output tokens and seconds come from data/proofs.json, written by scripts/prove.mjs: each run is one call to the model, and input tokens include cached tokens. The "added by the skill" column is the median input with the skill minus the median input without it, which also counts a one-line instruction and file labels around the skill text. Character counts are for SKILL.md and for every .md and .txt file under 100 KB in the skill's folder, the same files the proof loads, read at the commit recorded in data/proofs.json. Description lengths come from data/skills.json, which stores the first 400 characters of each description; 76 descriptions reach that limit, so the medians are not affected. The characters-per-token rate divides the folder's characters by the tokens added, for the five proofs that were not capped.

Questions

Is there a hard limit on the number of skills in Claude Code?

Claude Code's documentation gives no maximum number. It says the skill listing always contains every skill name, and that when the listing runs over its budget, which scales at 1% of the model's context window, Claude Code drops descriptions starting with the skills you invoke least.

Does a skill I never use still cost anything?

Yes, a little. Claude Code's documentation says every skill in the listing adds to your context on every turn, whether or not Claude ever uses it. That cost is the name and description, not the full SKILL.md. A skill with disable-model-invocation: true is left out of the listing until you call it with /skill-name.

Do subagents load skills the same way?

No. Claude Code's documentation says that for subagents with preloaded skills, the full skill content is injected at startup, so each preloaded skill costs its whole SKILL.md from the first turn.

Does Codex have the same limit?

Codex has its own. Its documentation says the initial skills list uses at most 2% of the model's context window, or 8,000 characters when the window is unknown, and that skills.max_context_tokens can set a different budget, up to 10,000 tokens. Codex shortens descriptions first and may then omit skills with a warning.