Library
Documentation·platform.claude.com·Apr 29, 2026·18 min read

Skill authoring best practices

This article outlines best practices for creating effective Skills that Claude can discover and utilize successfully. It guides users on how to author these skills to ensure optimal functionality and integration within the Claude ecosystem.

Curator noteDavid

Skill files are not meant to be a static prompt. Think of it more as writing a program that is a deterministic loader specification for what should be in context, when, and at what cost.

Skills Runtime

Goal: protect the context window by deferring content until the exact moment it is needed.

  1. The Metadata
    YAML file that is always loaded for routing.
    Description that tells agent when to trigger and not how to do the task.
    Cost ~100 tokens

  2. Recipe (skill)
    Procedural instructions and loaded on trigger.

    - Focus less on deep reference data.
    - Assume that the AI is intelligent and only include context that it doesn't have.
    - Avoid excessive "don't" warnings or architecture over-exploration. Pair every don't with a do
    - Focus on "what", not "why" in architecture descriptions.
    - Consider including procedural workflows, decision tables, and real codebase examples.

    Recommended ceiling: 500 lines.

  3. Binder and Mixer (references and scripts)
    Executable code and deep docs. Loaded strictly on demand.
    Never put YAML frontmatter on reference file (/references/*.md).
    Unlimited size

Agent Abstraction Layers

Goal: Finding a sematic layer where agents already reason best can save massive amounts of context and unlocks creative potential.

  • Bundle executable code instead of explaining a clumsy workflow. Give the agent a script

  • Don't hardcode workspace paths, let the agent to discover the environment (e.g. find the package.json)

Updated May 4, 2026
From the source

At startup, only the metadata (name and description) from all Skills is pre-loaded. Claude reads SKILL.md only when the Skill becomes relevant, and reads additional files only as needed. However, being concise in SKILL.md still matters: once Claude loads it, every token competes with conversation history and other context. Default assumption: Claude is already very smart Only add context Claude doesn't already have. Challenge each piece of information: "Does Claude really need this explanation?" "Can I assume Claude knows this?" "Does this paragraph justify its token cost?"

David's Archive

One person's reading, compressed into a queryable knowledge base. Built with retrieval, evals, and a learning loop — and instrumented end to end.

Explore

Project

© 2026 David's Archive · answers cite their sources · Admin sign-in