Skip to content

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.

#ClaimWhose behaviour it measuresStatus / scope
1A skill is a folder with a SKILL.md; name and description load at startup, the body when chosenAnthropic's engineering post and docsVendor documentation
2Claude Code's listing has a budget (by default 1% of the context window); over it, descriptions are dropped starting with the least-used skillsClaude Code docsVendor documentation
3The description should say what the skill does and when to use it ("Use when"), in the third personClaude Code docs; Anthropic best practicesVendor documentation
4disable-model-invocation: true keeps Claude from choosing a skill; use it for side effectsClaude Code docsVendor documentation
5Malformed frontmatter: the skill still runs by name with no metadata, so Claude can't match it; claude plugin validate reports itClaude Code docs; our run of the validatorDocs + one first-party check
6Five 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 callOur three pre-registered runs, Claude Code 2.1.292, Opus 5.5, one repository, 41 skills loadedFirst-party; twelve phrasings, two or three runs each; every phrasing gave the same result on every repeat
7Routing 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 descriptionMy earlier two-skill eval (The Skill That Never Fired), Opus 5, Aug 2026, replicatedFirst-party, one model, single runs per cell
8Reading the Skill call shows the choice; activation is keyword-dependentScott Spence's sandboxed evals, Sonnet 4.5, four Svelte skillsThird-party, one setup
9ChatGPT: skills for Business, Enterprise, Healthcare and Edu; @ to select; Codex reads .agents/skills, $ to mentionOpenAI help (updated ~20 Oct 2026) and build guideVendor documentation; plans change
10Claude app: skills on Free, Pro, Max, Team and Enterprise, need code execution; Customize > Skills; ZIP uploadClaude Help CenterVendor; the developer overview still lists paid plans only and an older settings path
11Snyk confirmed 76 skills with malicious payloads in their markdown instructions, of 3,984 scanned from two public registriesSnyk (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)
  1. Anthropic 17 rows
  2. Claude Code docs 27 rows
  3. OpenAI 6 rows
  4. Agent Skills specification 1 row
  5. Claude Help Center 6 rows
  6. Scott Spence 3 rows
  7. The Durability Curve 2 rows
  8. Snyk 1 row
  9. Our run 19 rows
  10. Model Context Protocol 1 row
  1. 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

    Link
    Cite

    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.

    Report an error
  2. 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

    Link
    Cite

    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.

    Report an error
  3. 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

    Link
    Cite

    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.

    Report an error
  4. 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

    Link
    Cite

    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.

    Report an error
  5. 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

    Link
    Cite

    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.

    Report an error
  6. 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

    Link
    Cite

    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.

    Report an error
  7. 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

    Link
    Cite

    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.

    Report an error
  8. 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

    Link
    Cite

    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.

    Report an error
  9. 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

    Link
    Cite

    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.

    Report an error
  10. 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

    Link
    Cite

    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.

    Report an error
  11. 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

    Link
    Cite

    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.

    Report an error
  12. 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

    Link
    Cite

    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.

    Report an error
  13. 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

    Link
    Cite

    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.

    Report an error
  14. 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

    Link
    Cite

    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.

    Report an error
  15. 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

    Link
    Cite

    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.

    Report an error
  16. 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

    Link
    Cite

    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.

    Report an error
  17. 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

    Link
    Cite

    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.

    Report an error
  18. 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

    Link
    Cite

    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.

    Report an error
  19. 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

    Link
    Cite

    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.

    Report an error
  20. 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

    Link
    Cite

    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.

    Report an error
  21. 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

    Link
    Cite

    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.

    Report an error
  22. 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

    Link
    Cite

    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.

    Report an error
  23. 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

    Link
    Cite

    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.

    Report an error
  24. 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

    Link
    Cite

    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.

    Report an error
  25. 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

    Link
    Cite

    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.

    Report an error
  26. 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

    Link
    Cite

    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.

    Report an error
  27. 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

    Link
    Cite

    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.

    Report an error
  28. 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

    Link
    Cite

    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.

    Report an error
  29. 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

    Link
    Cite

    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.

    Report an error
  30. 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

    Link
    Cite

    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.

    Report an error
  31. 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

    Link
    Cite

    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.

    Report an error
  32. 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

    Link
    Cite

    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.

    Report an error
  33. 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

    Link
    Cite

    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.

    Report an error
  34. 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

    Link
    Cite

    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.

    Report an error
  35. 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

    Link
    Cite

    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.

    Report an error
  36. 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

    Link
    Cite

    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.

    Report an error
  37. 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

    Link
    Cite

    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.

    Report an error
  38. 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

    Link
    Cite

    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.

    Report an error
  39. 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

    Link
    Cite

    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.

    Report an error
  40. 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

    Link
    Cite

    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.

    Report an error
  41. 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

    Link
    Cite

    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.

    Report an error
  42. 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

    Link
    Cite

    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.

    Report an error
  43. 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

    Link
    Cite

    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.

    Report an error
  44. 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.

    Link
    Cite

    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.

    Report an error
  45. 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

    Link
    Cite

    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.

    Report an error
  46. 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

    Link
    Cite

    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.

    Report an error
  47. 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

    Link
    Cite

    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.

    Report an error
  48. 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

    Link
    Cite

    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.

    Report an error
  49. 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

    Link
    Cite

    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.

    Report an error
  50. 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

    Link
    Cite

    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.

    Report an error
  51. 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.

    Link
    Cite

    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.

    Report an error
  52. 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.

    Link
    Cite

    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.

    Report an error
  53. 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.

    Link
    Cite

    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.

    Report an error
  54. 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.

    Link
    Cite

    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.

    Report an error
  55. 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.

    Link
    Cite

    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.

    Report an error
  56. 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.

    Link
    Cite

    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.

    Report an error
  57. 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.

    Link
    Cite

    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.

    Report an error
  58. 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.

    Link
    Cite

    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.

    Report an error
  59. 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.

    Link
    Cite

    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.

    Report an error
  60. 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

    Link
    Cite

    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.

    Report an error
  61. 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

    Link
    Cite

    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.

    Report an error
  62. 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

    Link
    Cite

    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.

    Report an error
  63. 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

    Link
    Cite

    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.

    Report an error
  64. 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

    Link
    Cite

    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.

    Report an error
  65. 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

    Link
    Cite

    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.

    Report an error
  66. 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

    Link
    Cite

    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.

    Report an error
  67. 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

    Link
    Cite

    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.

    Report an error
  68. 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

    Link
    Cite

    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.

    Report an error
  69. 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

    Link
    Cite

    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.

    Report an error
  70. 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

    Link
    Cite

    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.

    Report an error
  71. 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.

    Link
    Cite

    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.

    Report an error
  72. 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.

    Link
    Cite

    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.

    Report an error
  73. 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.

    Link
    Cite

    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.

    Report an error
  74. 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.

    Link
    Cite

    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.

    Report an error
  75. 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.

    Link
    Cite

    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.

    Report an error
  76. 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.

    Link
    Cite

    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.

    Report an error
  77. 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

    Link
    Cite

    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.

    Report an error
  78. 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.

    Link
    Cite

    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.

    Report an error
  79. 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.

    Link
    Cite

    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.

    Report an error
  80. 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.

    Link
    Cite

    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.

    Report an error
  81. 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.

    Link
    Cite

    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.

    Report an error
  82. 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.

    Link
    Cite

    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.

    Report an error
  83. 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

    Link
    Cite

    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.

    Report an error

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.