Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It
Claude picks a skill from its name and description. How to write the two lines it reads, and check it chose yours.
- Claims
- 83
- Verified at the primary source
- 62
- Removed before publication
- 0
- Last checked
83 claims: 62 verified, 21 executed.
Download this ledger: CSV · JSON · Markdown · CC BY 4.0 · Query it from Claude or ChatGPT
What the essay claims
Before: "I wrote a skill and it works, so Claude will use it", or "the description is just a summary". After: Claude sees each skill's name and description in a short listing and loads the body only after it has chosen. So the body can be perfect and never run. A skill fires when its name or its description tells Claude what it is for, and a good description rescues a weak name. Calling it by name tests the body, and only reading the choice tests whether Claude will reach for it.
The claim ladder
What the ladder does not reach: - No row measures a lone skill against the model's own ability across many tasks or models; row 6 is one skill, one model, one prompt set. - Most of row 6's commit requests say "commit", as does the telling name; three requests without the word gave the same result (9 of 9 for every version but the vague one), but that is still one setup. - Nothing here measures how routing degrades as a catalogue grows; the docs describe the mechanism (row 2), and the essay owns that diagnosis.
| # | Claim | Whose behaviour it measures | Status / scope |
|---|---|---|---|
| 1 | A skill is a folder with a SKILL.md; name and description load at startup, the body when chosen | Anthropic's engineering post and docs | Vendor documentation |
| 2 | Claude Code's listing has a budget (by default 1% of the context window); over it, descriptions are dropped starting with the least-used skills | Claude Code docs | Vendor documentation |
| 3 | The description should say what the skill does and when to use it ("Use when"), in the third person | Claude Code docs; Anthropic best practices | Vendor documentation |
| 4 | disable-model-invocation: true keeps Claude from choosing a skill; use it for side effects | Claude Code docs | Vendor documentation |
| 5 | Malformed frontmatter: the skill still runs by name with no metadata, so Claude can't match it; claude plugin validate reports it | Claude Code docs; our run of the validator | Docs + one first-party check |
| 6 | Five versions of one commit skill: the vague one was chosen on 0 of 21 commit requests; a telling name, Anthropic's description, the two together and the recommended version on 21 of 21 each; none took a near-miss review request (0/9 each) or an unrelated one (0/4); typed /helper, the vague one ran 2/2 with no Skill call | Our three pre-registered runs, Claude Code 2.1.292, Opus 5.5, one repository, 41 skills loaded | First-party; twelve phrasings, two or three runs each; every phrasing gave the same result on every repeat |
| 7 | Routing works when the name or the description sets a skill apart and fails only when neither does; a good description rescues a weak name, and a good name a vague description | My earlier two-skill eval (The Skill That Never Fired), Opus 5, Aug 2026, replicated | First-party, one model, single runs per cell |
| 8 | Reading the Skill call shows the choice; activation is keyword-dependent | Scott Spence's sandboxed evals, Sonnet 4.5, four Svelte skills | Third-party, one setup |
| 9 | ChatGPT: skills for Business, Enterprise, Healthcare and Edu; @ to select; Codex reads .agents/skills, $ to mention | OpenAI help (updated ~20 Oct 2026) and build guide | Vendor documentation; plans change |
| 10 | Claude app: skills on Free, Pro, Max, Team and Enterprise, need code execution; Customize > Skills; ZIP upload | Claude Help Center | Vendor; the developer overview still lists paid plans only and an older settings path |
| 11 | Snyk confirmed 76 skills with malicious payloads in their markdown instructions, of 3,984 scanned from two public registries | Snyk (vendor research, Feb 2026) | One vendor |
The guide explains, demonstrates once, and gives a check. It does not survey.
What would make it wrong
The guide is wrong if Claude chooses skills on something other than the name and description it lists, for instance by reading skill bodies before choosing, so that a vague name and description cost nothing. Two things would show it: a vague skill like the one in row 6 being chosen as often as the sharp ones on a fresh run, or Claude Code's docs changing how the listing works. Either would move the writing advice from "required" to "helpful" and the check would need re-running.
Re-checked 26 Oct 20261 holding1 untestedThe re-check
The evidence, row by row
Each row is a claim the essay makes, then the evidence recorded for it and the source it was checked against. For verified rows that is usually the exact words, where they sit and the day they were read. The label says how far it was checked.
What the labels mean
- Verified
- Checked against the primary source itself by a checker who did not draft the piece, usually with the exact words, where they sit and the date read.
- Executed
- A run or observation done for the piece: code, a query, a count, or a check made live in an app. The claim is what it returned. Run records are not published.
- Checked
- Checked against its source by a separate checker in the older ledger format, which recorded no quote, locator or date.
- Reported
- Not verified word for word against a primary source: carried from a secondary source, from one that could not be opened in full, or supported only in part. The essay words it accordingly.
- Struck
- Drafted, checked and removed before publication. Kept here, crossed out, with the reason.
- Excluded
- Considered and deliberately left out of the piece. Kept here with the reason.
Sources (10)
- Anthropic 17 rows
- Claude Code docs 27 rows
- OpenAI 6 rows
- Agent Skills specification 1 row
- Claude Help Center 6 rows
- Scott Spence 3 rows
- The Durability Curve 2 rows
- Snyk 1 row
- Our run 19 rows
- Model Context Protocol 1 row
- 1 Verified
A skill is a folder with a SKILL.md of instructions, scripts and resources
"A skill is a directory containing a SKILL.md file that contains organized folders of instructions, scripts, and resources that give agents additional capabilities."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · figure caption directly above "The anatomy of a skill" · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), figure caption directly above "The anatomy of a skill", https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 1, https://durabilitycurve.com/claims/claude-code-skills/#c-1. - 2 Verified
Claude uses a skill when relevant, or you call it with /skill-name
"Skills extend what Claude can do. Create a SKILL.md file with instructions, and Claude adds it to its toolkit. Claude uses skills when relevant, or you can invoke one directly with /skill-name."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, para 1 · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, para 1, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 2, https://durabilitycurve.com/claims/claude-code-skills/#c-2. - 3 Verified
When to make a skill
"Create a skill when you keep pasting the same instructions, checklist, or multi-step procedure into chat, or when a section of CLAUDE.md has grown into a procedure rather than a fact."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, para 2 · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, para 2, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 3, https://durabilitycurve.com/claims/claude-code-skills/#c-3. - 4 Verified
The body loads only when used, unlike CLAUDE.md
"Unlike CLAUDE.md content, a skill's body loads only when it's used, so long reference material costs almost nothing until you need it."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, para 2 · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, para 2, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 4, https://durabilitycurve.com/claims/claude-code-skills/#c-4. - 5 Verified
Custom commands merged into skills
"Custom commands have been merged into skills."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, note · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, note, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 5, https://durabilitycurve.com/claims/claude-code-skills/#c-5. - 6 Verified
Claude Code skills follow an open standard used by other tools
"Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, para 3 · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, para 3, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 6, https://durabilitycurve.com/claims/claude-code-skills/#c-6. - 7 Verified
OpenAI's skills follow the same standard and load the same way
"Skills build on the open agent skills standard" / "ChatGPT and Codex start with each skill's name and description, then load the full SKILL.md instructions when they decide to use that skill."
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026) · intro; progressive disclosure · learn.chatgpt.com
LinkReport an errorCite
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026), intro; progressive disclosure, https://learn.chatgpt.com/docs/build-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 7, https://durabilitycurve.com/claims/claude-code-skills/#c-7. - 8 Verified
Name and description of every skill go into the system prompt at startup
"At startup, the agent pre-loads the name and description of every installed skill into its system prompt."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · The anatomy of a skill · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), The anatomy of a skill, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 8, https://durabilitycurve.com/claims/claude-code-skills/#c-8. - 9 Verified
The body is read only once Claude judges the skill relevant
"If Claude thinks the skill is relevant to the current task, it will load the skill by reading its full SKILL.md into context."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · The anatomy of a skill · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), The anatomy of a skill, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 9, https://durabilitycurve.com/claims/claude-code-skills/#c-9. - 10 Verified
Name and description are what Claude uses to decide
"Pay special attention to the name and description of your skill. Claude will use these when deciding whether to trigger the skill in response to its current task."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · Developing and evaluating skills, 'Think from Claude's perspective' · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), Developing and evaluating skills, 'Think from Claude's perspective', https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 10, https://durabilitycurve.com/claims/claude-code-skills/#c-10. - 11 Verified
Default skill: description always in context, full skill loads when invoked
"Description always in context, full skill loads when invoked"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Control who invokes a skill, table, (default) row · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Control who invokes a skill, table, (default) row, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 11, https://durabilitycurve.com/claims/claude-code-skills/#c-11. - 12 Verified
The description is what Claude chooses on, from potentially 100+ skills
"The description is critical for skill selection: Claude uses it to choose the right Skill from potentially 100+ available Skills."
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Writing effective descriptions · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Writing effective descriptions, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 12, https://durabilitycurve.com/claims/claude-code-skills/#c-12. - 13 Verified
The listing keeps every name but drops descriptions over budget, least-used first; budget is 1% of context
"The listing always contains every skill name, but if you have many skills, Claude Code drops some descriptions to fit the listing's character budget, which removes the keywords Claude needs to match your request. The budget scales at 1% of the model's context window." / "When the listing overflows, Claude Code drops descriptions starting with the skills you invoke least"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Troubleshooting, Skill descriptions are cut short · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Troubleshooting, Skill descriptions are cut short, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 13, https://durabilitycurve.com/claims/claude-code-skills/#c-13. - 16 Verified
name defaults to the directory name
"Command name shown in the / menu. Defaults to the directory name."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Frontmatter reference, name · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Frontmatter reference, name, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 16, https://durabilitycurve.com/claims/claude-code-skills/#c-16. - 17 Verified
description: what and when; falls back to first line; key use case first; 1,536-character cap in the listing
"What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first non-empty line of the markdown content. Put the key use case first: the combined description and when_to_use text is truncated at 1,536 characters in the skill listing to reduce context usage."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Frontmatter reference, description · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Frontmatter reference, description, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 17, https://durabilitycurve.com/claims/claude-code-skills/#c-17. - 18 Verified
Spec limits: name ≤64, lowercase/digits/hyphens, matches folder; description ≤1024, what and when
"Max 64 characters. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen." / "Max 1024 characters. Non-empty. Describes what the skill does and when to use it." / "Must match the parent directory name"
Agent Skills specification (read 23 Oct 2026) · Frontmatter table; name field · agentskills.io
LinkReport an errorCite
Agent Skills specification (read 23 Oct 2026), Frontmatter table; name field, https://agentskills.io/specification. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 18, https://durabilitycurve.com/claims/claude-code-skills/#c-18. - 19 Verified
Anthropic: write the description in third person
"Always write in third person. The description is injected into the system prompt, and inconsistent point-of-view can cause discovery problems."
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Writing effective descriptions, warning · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Writing effective descriptions, warning, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 19, https://durabilitycurve.com/claims/claude-code-skills/#c-19. - 20 Verified
Anthropic's good example: the Git Commit Helper description
"Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes."
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Writing effective descriptions, Git Commit Helper skill · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Writing effective descriptions, Git Commit Helper skill, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 20, https://durabilitycurve.com/claims/claude-code-skills/#c-20. - 21 Verified
Anthropic's vague-description examples
"description: Helps with documents" / "description: Processes data" / "description: Does stuff with files"
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Writing effective descriptions, 'Avoid vague descriptions' · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Writing effective descriptions, 'Avoid vague descriptions', https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 21, https://durabilitycurve.com/claims/claude-code-skills/#c-21. - 22 Verified
Anthropic's names to avoid, and the gerund convention
"Vague names: helper, utils, tools" / "Consider using gerund form (verb + -ing) for Skill names"
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Naming conventions · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Naming conventions, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 22, https://durabilitycurve.com/claims/claude-code-skills/#c-22. - 25 Verified
Keep the body short: it stays in context once loaded
"Once a skill loads, its content stays in context across turns, so every line is a recurring token cost."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Types of skill content, last para · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Types of skill content, last para, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 25, https://durabilitycurve.com/claims/claude-code-skills/#c-25. - 26 Verified
Fields outside the spec fail on claude.ai upload and the API
"If you include any field the spec doesn't allow, packaging or upload fails with a hard error instead of ignoring the field"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Using skill frontmatter outside Claude Code · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Using skill frontmatter outside Claude Code, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 26, https://durabilitycurve.com/claims/claude-code-skills/#c-26. - 27 Verified
Personal and project locations
"~/.claude/skills/<skill-name>/SKILL.md" / "All your projects on this machine" / ".claude/skills/<skill-name>/SKILL.md" / "Commit it so your team gets it too"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Choose where skills load, table · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Choose where skills load, table, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 27, https://durabilitycurve.com/claims/claude-code-skills/#c-27. - 28 Verified
Same name: enterprise over personal over project
"Enterprise over personal, and personal over project."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Resolve skills that share a name, table · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Resolve skills that share a name, table, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 28, https://durabilitycurve.com/claims/claude-code-skills/#c-28. - 29 Verified
Claude app: plans and code execution
"Skills are available for users on Free, Pro, Max, Team, and Enterprise plans. This feature requires code execution to be enabled"
Claude Help Center, Use skills in Claude (read 23 Oct 2026) · header · support.claude.com
LinkReport an errorCite
Claude Help Center, Use skills in Claude (read 23 Oct 2026), header, https://support.claude.com/en/articles/12512180-use-skills-in-claude. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 29, https://durabilitycurve.com/claims/claude-code-skills/#c-29. - 30 Verified
Claude app: Customize > Skills, upload a ZIP
"Customize > Skills" / "Package your skill folder as a ZIP file."
Claude Help Center, Use skills in Claude (read 23 Oct 2026) · Use skills; Add custom skills · support.claude.com
LinkReport an errorCite
Claude Help Center, Use skills in Claude (read 23 Oct 2026), Use skills; Add custom skills, https://support.claude.com/en/articles/12512180-use-skills-in-claude. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 30, https://durabilitycurve.com/claims/claude-code-skills/#c-30. - 31 Verified
Developer overview still says paid plans and Settings > Features
"Upload your own Skills as zip files through Settings > Features. Available on Pro, Max, Team, and Enterprise plans"
Anthropic, Agent Skills overview, developer docs (read 23 Oct 2026) · Where Skills work, Claude.ai · platform.claude.com
LinkReport an errorCite
Anthropic, Agent Skills overview, developer docs (read 23 Oct 2026), Where Skills work, Claude.ai, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 31, https://durabilitycurve.com/claims/claude-code-skills/#c-31. - 32 Verified
Claude app help page gives a 200-character description limit
"This is critical—Claude uses this to determine when to invoke your skill (200 characters maximum)."
Claude Help Center, How to create custom skills (read 23 Oct 2026) · Required metadata fields, description · support.claude.com
LinkReport an errorCite
Claude Help Center, How to create custom skills (read 23 Oct 2026), Required metadata fields, description, https://support.claude.com/en/articles/12512198-how-to-create-custom-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 32, https://durabilitycurve.com/claims/claude-code-skills/#c-32. - 33 Verified
Claude app check: review Claude's thinking
"Review Claude's thinking to confirm it's loading the skill."
Claude Help Center, How to create custom skills (read 23 Oct 2026) · Test your skill, After uploading · support.claude.com
LinkReport an errorCite
Claude Help Center, How to create custom skills (read 23 Oct 2026), Test your skill, After uploading, https://support.claude.com/en/articles/12512198-how-to-create-custom-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 33, https://durabilitycurve.com/claims/claude-code-skills/#c-33. - 34 Verified
ChatGPT eligibility
"Skills are available to eligible ChatGPT Business, Enterprise, Healthcare, and Edu users, subject to workspace settings and product availability."
OpenAI Help Center, Skills in ChatGPT (updated ~20 Oct 2026; browser read 23 Oct 2026) · Overview · help.openai.com
LinkReport an errorCite
OpenAI Help Center, Skills in ChatGPT (updated ~20 Oct 2026; browser read 23 Oct 2026), Overview, https://help.openai.com/en/articles/20001066-skills-in-chatgpt. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 34, https://durabilitycurve.com/claims/claude-code-skills/#c-34. - 35 Verified
ChatGPT: find skills under Plugins
"In the sidebar, select Plugins." / "In the Plugin Directory, select the Skills tab."
OpenAI Help Center, Skills in ChatGPT (updated ~20 Oct 2026; browser read 23 Oct 2026) · Access and create skills · help.openai.com
LinkReport an errorCite
OpenAI Help Center, Skills in ChatGPT (updated ~20 Oct 2026; browser read 23 Oct 2026), Access and create skills, https://help.openai.com/en/articles/20001066-skills-in-chatgpt. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 35, https://durabilitycurve.com/claims/claude-code-skills/#c-35. - 36 Verified
How to call a skill in ChatGPT and Codex
"In ChatGPT, type @ to select a skill. In Codex CLI or the IDE extension, run /skills or type $ to mention a skill."
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026) · How ChatGPT and Codex use skills · learn.chatgpt.com
LinkReport an errorCite
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026), How ChatGPT and Codex use skills, https://learn.chatgpt.com/docs/build-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 36, https://durabilitycurve.com/claims/claude-code-skills/#c-36. - 37 Verified
Codex reads .agents/skills, repo and user
"$REPO_ROOT/.agents/skills" / "$HOME/.agents/skills"
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026) · Where Codex loads local skills, table · learn.chatgpt.com
LinkReport an errorCite
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026), Where Codex loads local skills, table, https://learn.chatgpt.com/docs/build-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 37, https://durabilitycurve.com/claims/claude-code-skills/#c-37. - 38 Verified
Codex's equivalent of manual-only: allow_implicit_invocation false
"When false, Codex won't implicitly invoke the skill based on user prompt; explicit $skill invocation still works."
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026) · Optional metadata · learn.chatgpt.com
LinkReport an errorCite
OpenAI, Build skills, ChatGPT and Codex docs (read 23 Oct 2026), Optional metadata, https://learn.chatgpt.com/docs/build-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 38, https://durabilitycurve.com/claims/claude-code-skills/#c-38. - 39 Verified
disable-model-invocation: for side effects; Claude can't choose it
"Use this for workflows with side effects or that you want to control timing, like /commit, /deploy, or /send-slack-message. You don't want Claude deciding to deploy because your code looks ready."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Control who invokes a skill · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Control who invokes a skill, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 39, https://durabilitycurve.com/claims/claude-code-skills/#c-39. - 40 Verified
With it set, the description leaves the listing
"Description not in context, full skill loads when invoked"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Control who invokes a skill, table, disable-model-invocation row · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Control who invokes a skill, table, disable-model-invocation row, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 40, https://durabilitycurve.com/claims/claude-code-skills/#c-40. - 41 Verified
Malformed frontmatter: runs by name, can't be matched
"If the frontmatter YAML is malformed, Claude Code loads the skill body with empty metadata, so /skill-name still works but Claude can't match against your description."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Troubleshooting, Skill not triggering · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Troubleshooting, Skill not triggering, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 41, https://durabilitycurve.com/claims/claude-code-skills/#c-41. - 42 Verified
claude plugin validate checks skills' frontmatter (v2.1.233+)
"claude plugin validate .claude/skills" / "Requires Claude Code v2.1.233 or later."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Troubleshooting, Skill not triggering · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Troubleshooting, Skill not triggering, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 42, https://durabilitycurve.com/claims/claude-code-skills/#c-42. - 43 Verified
Seeing it trigger is not the same as it working; measure both
"Seeing a skill trigger tells you Claude found it, not that it did what you intended. To know a skill is working, measure separately whether Claude invokes it on the prompts it should, and whether the output matches what you expect when it does."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Evaluate and iterate on a skill · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Evaluate and iterate on a skill, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 43, https://durabilitycurve.com/claims/claude-code-skills/#c-43. - 44 Verified
Fresh session matters
"A fresh session matters because leftover context from authoring the skill will mask gaps in the written instructions."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Evaluate and iterate on a skill · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Evaluate and iterate on a skill, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 44, https://durabilitycurve.com/claims/claude-code-skills/#c-44. - 45 Verified
Troubleshooting: keywords users would naturally say
"Check the description includes keywords users would naturally say"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Troubleshooting, Skill not triggering, step 1 · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Troubleshooting, Skill not triggering, step 1, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 45, https://durabilitycurve.com/claims/claude-code-skills/#c-45. - 46 Verified
skill-creator tunes descriptions with should/shouldn't-trigger prompts
"generates should-trigger and should-not-trigger prompts, measures the hit rate, and proposes description edits when the skill activates on the wrong requests"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Run evals with skill-creator · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Run evals with skill-creator, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 46, https://durabilitycurve.com/claims/claude-code-skills/#c-46. - 48 Verified
Spence detected activation from the Skill call in claude -p stream-json; one question per run
"Runs each of the 22 test prompts through claude -p with --output-format stream-json" / "Parses the JSONL stream for Skill() tool_use events" / "I just need to know, did it call Skill() or not?" (no-hook baselines: 55% (12/22) in run 1, 50% (11/22) in run 2, Sonnet 4.5)
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026) · method list; 'Run 2: confirmation' table · scottspence.com
LinkReport an errorCite
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026), method list; 'Run 2: confirmation' table, https://scottspence.com/posts/measuring-claude-code-skill-activation-with-sandboxed-evals. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 48, https://durabilitycurve.com/claims/claude-code-skills/#c-48. - 49 Executed
My earlier two-skill result (The Skill That Never Fired): either field carries the choice; it fails only when neither does; a good description rescues a weak name
Result: "When the names were the vague part but the descriptions were sharp, routing was clean." / "It broke in one condition only: format-only names, long-date and slash-date, plus a shared vague description, where neither field told Claude what set the two skills apart." / "A good description rescued names that carried no signal."
The Durability Curve, The Skill That Never Fired (31 Aug 2026) · harryfloyd.substack.com
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (The Durability Curve, The Skill That Never Fired (31 Aug 2026)), https://harryfloyd.substack.com/p/skill-that-never-fired. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 49, https://durabilitycurve.com/claims/claude-code-skills/#c-49. - 50 Verified
Anthropic: install from trusted sources; audit others; read bundled files
"We recommend installing skills only from trusted sources. When installing a skill from a less-trusted source, thoroughly audit it before use." / "Start by reading the contents of the files bundled in the skill to understand what it does, paying particular attention to code dependencies and bundled resources like images or scripts."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · Security considerations when using Skills · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), Security considerations when using Skills, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 50, https://durabilitycurve.com/claims/claude-code-skills/#c-50. - 51 Verified
Anthropic: watch for instructions to connect to untrusted network sources
"pay attention to instructions or code within the skill that instruct Claude to connect to potentially untrusted external network sources."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · Security considerations · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), Security considerations, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 51, https://durabilitycurve.com/claims/claude-code-skills/#c-51. - 52 Verified
Snyk: 76 malicious payloads in skills' markdown instructions, of 3,984 scanned
"scanning 3,984 skills from ClawHub and skills.sh as of February 5th, 2026" / "76 of Agent Skills contained malicious payloads in their markdown instructions to AI agents"
Snyk, ToxicSkills (vendor research, 5 Feb 2026) · intro; findings · snyk.io
LinkReport an errorCite
Snyk, ToxicSkills (vendor research, 5 Feb 2026), intro; findings, https://snyk.io/blog/toxicskills-malicious-ai-agent-skills-clawhub/. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 52, https://durabilitycurve.com/claims/claude-code-skills/#c-52. - 55 Verified
A subagent works in its own context window
"Each subagent runs in its own context window with a custom system prompt, specific tool access, and independent permissions."
Claude Code docs, Create custom subagents (read 23 Oct 2026) · intro, para 2 · code.claude.com
LinkReport an errorCite
Claude Code docs, Create custom subagents (read 23 Oct 2026), intro, para 2, https://code.claude.com/docs/en/sub-agents. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 55, https://durabilitycurve.com/claims/claude-code-skills/#c-55. - 56 Verified
An invoked skill's content enters the conversation and stays
"When you or Claude invoke a skill, the rendered SKILL.md content enters the conversation as a single message and stays there across later turns."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Skill content lifecycle · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Skill content lifecycle, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 56, https://durabilitycurve.com/claims/claude-code-skills/#c-56. - 59 Verified
Commands and skills both create /name
"A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy and work the same way."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · intro, note · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), intro, note, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 59, https://durabilitycurve.com/claims/claude-code-skills/#c-59. - 61 Executed
A frontmatter that doesn't parse: the validator names it and says the skill loads with empty metadata
Result: "frontmatter: YAML frontmatter failed to parse: YAML Parse error: Unexpected token. At runtime this skill loads with empty metadata (all frontmatter fields silently dropped)."
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 61, https://durabilitycurve.com/claims/claude-code-skills/#c-61. - 62 Executed
Vague version (helper / Does stuff with files): chosen on 0 of 12 commit prompts
Result: routing-run-results.tsv: vague, kind P: 12 rows, skill_calls none
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 62, https://durabilitycurve.com/claims/claude-code-skills/#c-62. - 63 Executed
Telling name (writing-commit-messages / Does stuff with files): chosen 12 of 12; prompts echo 'commit'
Result: routing-run-results.tsv: name, kind P: 12 rows, {"skill":"writing-commit-messages"}
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 63, https://durabilitycurve.com/claims/claude-code-skills/#c-63. - 64 Executed
Anthropic's description on the weak name helper: chosen 12 of 12
Result: routing-run-results.tsv: description, kind P: 12 rows, {"skill":"helper"}
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 64, https://durabilitycurve.com/claims/claude-code-skills/#c-64. - 65 Executed
No version was chosen on the two unrelated prompts (0 of 4 each)
Result: routing-run-results.tsv: kind N, 12 rows, skill_calls none
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 65, https://durabilitycurve.com/claims/claude-code-skills/#c-65. - 66 Executed
Typed as /helper, the vague skill ran the house format 2 of 2, with no Skill call in the stream
Result: r1-D1-vague, r2-D1-vague: reply ends 'Refs: PAY-142'; no tool_use named Skill
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 66, https://durabilitycurve.com/claims/claude-code-skills/#c-66. - 67 Executed
Vague replies: 11 of 12 drafted messages carried PAY-142 (one run left it out); none opened type(scope):; two ended 'Refs PAY-142' without the colon
Result: raw/r-P-vague.jsonl result text: PAY-142 in the drafted message 11/12; type(scope): 0/12; 'Refs: PAY-142' 0/12
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 67, https://durabilitycurve.com/claims/claude-code-skills/#c-67. - 68 Executed
The session's skill listing held 41 skills (the test skill and 40 others)
Result: init event: skills array length 41
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 68, https://durabilitycurve.com/claims/claude-code-skills/#c-68. - 70 Executed
Pre-registered before the run; all four rules passed
Result: Pre-registered and hash-locked before the run (042a720e3247); all four of its rules passed
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 70, https://durabilitycurve.com/claims/claude-code-skills/#c-70. - 71 Verified
MCP connects AI applications to external systems
"MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems."
Model Context Protocol, What is MCP? (read 23 Oct 2026) · intro, para 1 · modelcontextprotocol.io
LinkReport an errorCite
Model Context Protocol, What is MCP? (read 23 Oct 2026), intro, para 1, https://modelcontextprotocol.io/docs/getting-started/intro. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 71, https://durabilitycurve.com/claims/claude-code-skills/#c-71. - 72 Verified
Extra files in the folder load only as needed
"skills can bundle additional files within the skill directory and reference them by name from SKILL.md" / "which Claude can choose to navigate and discover only as needed"
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · The anatomy of a skill · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), The anatomy of a skill, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 72, https://durabilitycurve.com/claims/claude-code-skills/#c-72. - 73 Verified
Skills can carry code Claude runs
"Skills can also include code for Claude to execute as tools at its discretion"
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · Skills and code execution · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), Skills and code execution, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 73, https://durabilitycurve.com/claims/claude-code-skills/#c-73. - 74 Verified
Anthropic published Agent Skills as an open standard (18 Dec 2025 update)
"Dec 18, 2025" / "We've published Agent Skills as an open standard for cross-platform portability."
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · page header, Update · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), page header, Update, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 74, https://durabilitycurve.com/claims/claude-code-skills/#c-74. - 75 Verified
Spence's one question per run
"did it call Skill() or not?"
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026) · method · scottspence.com
LinkReport an errorCite
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026), method, https://scottspence.com/posts/measuring-claude-code-skill-activation-with-sandboxed-evals. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 75, https://durabilitycurve.com/claims/claude-code-skills/#c-75. - 77 Verified
Spence: activation is keyword-dependent; ~100% with the keyword, ~20-40% generic, ~0% indirect (no hook)
"It's keyword-dependent." / "Prompts with explicit skill keywords activate reliably even without a hook." / "But rephrase the same concept without the keyword and it falls over." / "~100%" / "~20-40%" / "~0%"
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026) · What the failures tell me (table: Has keyword / Generic phrasing / Indirect) · scottspence.com
LinkReport an errorCite
Scott Spence, Measuring Claude Code Skill Activation With Sandboxed Evals (8 Feb 2026), What the failures tell me (table: Has keyword / Generic phrasing / Indirect), https://scottspence.com/posts/measuring-claude-code-skill-activation-with-sandboxed-evals. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 77, https://durabilitycurve.com/claims/claude-code-skills/#c-77. - 78 Verified
Claude Code has a when_to_use field appended to the description in the listing
"Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to description in the skill listing and counts toward the 1,536-character cap."
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Frontmatter reference, when_to_use · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Frontmatter reference, when_to_use, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 78, https://durabilitycurve.com/claims/claude-code-skills/#c-78. - 80 Verified
claude.ai uploads accept six frontmatter fields
"name, description, license, compatibility, metadata, allowed-tools"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Using skill frontmatter outside Claude Code, table · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Using skill frontmatter outside Claude Code, table, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 80, https://durabilitycurve.com/claims/claude-code-skills/#c-80. - 81 Verified
In the Claude app, Claude reviews available skills and loads relevant ones
"When you ask Claude to complete a task, it reviews available skills, loads relevant ones, and applies their instructions."
Claude Help Center, What are skills? (read 23 Oct 2026) · How skills work · support.claude.com
LinkReport an errorCite
Claude Help Center, What are skills? (read 23 Oct 2026), How skills work, https://support.claude.com/en/articles/12512176-what-are-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 81, https://durabilitycurve.com/claims/claude-code-skills/#c-81. - 82 Verified
Anthropic created the format
"This led us to create Agent Skills"
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025) · intro, para 2 · anthropic.com
LinkReport an errorCite
Anthropic, Equipping agents for the real world with Agent Skills (16 Oct 2025, updated 18 Dec 2025), intro, para 2, https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 82, https://durabilitycurve.com/claims/claude-code-skills/#c-82. - 83 Verified
Anthropic's description examples follow "what, then Use when"
"Use when working with PDF files" / "Use when analyzing Excel files" / "Use when the user asks for help writing commit messages"
Anthropic, Skill authoring best practices (read 23 Oct 2026) · Writing effective descriptions, three examples · platform.claude.com
LinkReport an errorCite
Anthropic, Skill authoring best practices (read 23 Oct 2026), Writing effective descriptions, three examples, https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 83, https://durabilitycurve.com/claims/claude-code-skills/#c-83. - 84 Executed
The essay's other half: a good name rescued vague descriptions
Result: "A good name had already done the same for descriptions that carried none."
The Durability Curve, The Skill That Never Fired (31 Aug 2026) · harryfloyd.substack.com
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (The Durability Curve, The Skill That Never Fired (31 Aug 2026)), https://harryfloyd.substack.com/p/skill-that-never-fired. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 84, https://durabilitycurve.com/claims/claude-code-skills/#c-84. - 85 Executed
Every prompt × version cell gave the same result on all repeats (effective sample: four phrasings)
Result: routing-run-results.tsv: 18 cells, identical across repeats
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 85, https://durabilitycurve.com/claims/claude-code-skills/#c-85. - 87 Executed
On three phrasings without "commit", "staged" or "git": name 9/9, description 9/9, both 9/9, vague 0/9
Result: routing-run-2-results.tsv, kind K: 9 rows per version; score2-output.json
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 87, https://durabilitycurve.com/claims/claude-code-skills/#c-87. - 88 Executed
The recommended pair (writing-commit-messages + the third-person description): 12/12 on the commit requests, 0/4 unrelated
Result: routing-run-2-results.tsv, version both, kinds P and N
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 88, https://durabilitycurve.com/claims/claude-code-skills/#c-88. - 90 Executed
On "the team's usual format" (and once on K1), Claude opened helper's SKILL.md with Read and copied the format, 4 of 9 vague K runs, no Skill call; 0 of 12 first-run vague runs and 0 of 27 other-version K runs opened it
Result: raw2/r1-K1-vague, r1-K3-vague, r2-K3-vague, r3-K3-vague: Read .claude/skills/helper/SKILL.md; reply has type(scope): and Refs: PAY-142
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 90, https://durabilitycurve.com/claims/claude-code-skills/#c-90. - 91 Executed
An empty result from the jq line can mean the run failed
Result: One failed run (its result event reports is_error true): the guide's jq reader printed nothing and exited 0
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, second pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 91, https://durabilitycurve.com/claims/claude-code-skills/#c-91. - 93 Verified
With disable-model-invocation set, a Claude attempt is blocked and told not to reproduce the steps another way
"If Claude tries anyway, Claude Code blocks the call and instructs it not to reproduce the deploy steps another way"
Claude Code docs, Extend Claude with skills (read 23 Oct 2026) · Control who invokes a skill · code.claude.com
LinkReport an errorCite
Claude Code docs, Extend Claude with skills (read 23 Oct 2026), Control who invokes a skill, https://code.claude.com/docs/en/skills. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 93, https://durabilitycurve.com/claims/claude-code-skills/#c-93. - 94 Executed
No version took a review request (0/9 each); "Review my staged changes for bugs…" went to the bundled code-review skill in all 15 runs; the other two review requests called no skill
Result: routing-run-3-results.tsv, kind NM: 45 rows; code-review in 15 (all NM1)
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 94, https://durabilitycurve.com/claims/claude-code-skills/#c-94. - 95 Executed
The recommended (hardened) version: 12/12 commit requests, 9/9 without "commit", 0/9 review, 0/4 unrelated
Result: routing-run-3-results.tsv, version hardened; score3-output.json
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 95, https://durabilitycurve.com/claims/claude-code-skills/#c-95. - 96 Executed
No-ticket branch: hardened chosen 6/6, Refs: left out and no ticket invented 6/6; Anthropic-description version chosen 6/6 with a placeholder Refs: line 6/6 (<TICKET-ID> ×5, ??? ×1), no invented ticket
Result: raw3/r-T-hardened-noticket, r-T-both-noticket result text; comply-output.json
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 96, https://durabilitycurve.com/claims/claude-code-skills/#c-96. - 97 Executed
Full format check (pre-registered F1–F4) on every chosen ticket-branch run: 84/84; message only 70/84 (14 added a note)
Result: comply-output.json: run1 name 12/12 (10), description 12/12 (12); run2 name 9/9 (7), description 9/9 (6), both 21/21 (17); run3 hardened 21/21 (18)
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 97, https://durabilitycurve.com/claims/claude-code-skills/#c-97. - 98 Executed
The recommended description is under the Claude app's 200-character limit
Result: 179 characters (setup.sh hardened)
Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)
A run or observation done for this piece. The run record is not published.
LinkReport an errorCite
A run or observation by The Durability Curve (Our run, Claude Code 2.1.292, claude-opus-5-5 (RUN.md, third pre-registered run)). Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 98, https://durabilitycurve.com/claims/claude-code-skills/#c-98. - 99 Verified
In the Claude app you can ask for a skill by name in the request
"Try being more explicit in your request (e.g., \"Use my brand guidelines skill to create a presentation\")."
Claude Help Center, Use skills in Claude (read 23 Oct 2026) · Troubleshooting · support.claude.com
LinkReport an errorCite
Claude Help Center, Use skills in Claude (read 23 Oct 2026), Troubleshooting, https://support.claude.com/en/articles/12512180-use-skills-in-claude. Checked in: Claim Ledger, "Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It", The Durability Curve, row 99, https://durabilitycurve.com/claims/claude-code-skills/#c-99.
No rows match. Clear the search or pick another label.
Cite and reuse
- A single claim
- Use the row's Cite button. It names the original source first, then this row, which carries its own link.
- This ledger
Floyd, Harry (2026). Claim Ledger: Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It. The Durability Curve. https://durabilitycurve.com/claims/claude-code-skills/- The essay
Floyd, Harry (2026). Claude Code Skills: How They Work, How to Write One, and How to Check Claude Uses It. The Durability Curve. https://durabilitycurve.com/blog/claude-code-skills/
The ledger data is licensed CC BY 4.0: reuse it, quote it or train on it, with credit to The Durability Curve and a link. Read the licence. Machine copies: JSON, CSV, Markdown.
The newsletter · Free
Subscribe to get the next structural lens in your inbox.
Several essays a week, plus Notes through the week.
Signup completes on Substack. Unsubscribe from any email.