- Effective Claude skills utilize the agentskills.io open standard, requiring a clear name and a descriptive purpose for reliable matching and functionality.
- Advanced features like
allowed_toolsand specificmodelselection enhance skill control and security for sensitive workflows. - For larger skills, progressive disclosure and executable scripts keep the context window efficient by loading content only when needed and running code without consuming full script tokens.
Configuration and multi-file skills
- A skill's
namemust be lowercase, use numbers and hyphens only, be a maximum of 64 characters, and match its directory name. - The
descriptionfield is crucial for Claude's matching, should be under 1024 characters, and clearly state what the skill does and when Claude should use it. - To improve skill triggering, add more keywords to the description that match how user requests might be phrased.
- Use the
allowed_toolsfield to restrict which tools Claude can use when a skill is active, enabling secure, read-only tasks or specific operations. - The
modelfield allows specifying which Claude model to use for a particular skill, offering fine-grained control over its behavior. - Implement progressive disclosure by placing essential instructions in
skill.md(keep under 500 lines) and linking to detailed reference materials in separate files that Claude loads only when needed. - Organize supporting files into
scripts(for executable code),references(for documentation), andassets(for images/data) directories. - Scripts in your skill directory can execute without loading their contents into Claude's context, consuming tokens only for their output, which is useful for validation or consistent data transformations.
agentskills.io open standard — A defined specification for structuring and describing skills that AI models like Claude can use.
context window — The limited amount of information (tokens) an AI model can process and "remember" at any given time during a conversation.
progressive disclosure — A design principle where only essential information is initially shown, and more details are revealed only when the user requests or needs them.
metadata fields — Structured data fields (like name, description, allowed_tools) that provide information about a skill.
allowed_tools — A specific metadata field that restricts which external tools or functions a skill is permitted to use.
model — In this context, a specific version or type of the Claude AI system that can be designated for a particular skill.
tokens — The basic units of text (words, subwords, characters) that an AI model processes and uses to understand and generate language.
triggering — The process by which an AI model determines that a specific skill is relevant and should be activated based on user input.
skill.md — A Markdown file within a skill's directory that typically contains the core description and essential instructions for the skill.
A basic skill works with just a name and description, but here are some other advanced tips that can make your skills really effective in claw code. The agentskills.io open standard has many available fields. We already went over the name, which identifies your skill, uses lowercase letters, numbers, and hyphens only. A maximum of 64 characters and should match your directory name. a description which is also required which tells Claude when to use the skill. This is a maximum of,024 characters and is the most important field. Claude uses this for matching. But we can also add other optional fields. One of them is the allowed tools field which restricts which tools Claude can use when the skill is active. The model field which specifies which cla model to use for the skill. Try to be explicit with your instructions. For example, if someone told me my job was to help with dogs, I wouldn't know what to do. So, we have to assume Claude would think the same way. A good description answers two questions. What does this skill do? And when should Claus use it? Now, if this job description was given to me, I feel a little bit more confident that I could get the job done. If your skill isn't triggering, add more keywords that match how you phrase requests. Sometimes you want a skill that can only read files, not modify them. This could be for security sensitive workflows, read only tasks or more. We have the allowed tools field to make this possible. When this skill is active, Claw can only use those tools without asking permission. No editing, no writing, no bash commands. If you omit allowed tools, the skill doesn't restrict anything. Claude uses its normal permission model. Skills share Claw's context window with your conversation. When Claude wants to use a skill, it will decide to load the contents of that skill into context. However, sometimes you'll need some references, examples, or some utility scripts that are required by the skill. But cramming it all into one 20,000 line text file means you take up a lot of space in the context window. And let's be real here, it's just not a lot of fun to maintain that. This is where progressive disclosure comes in. Put your essential instructions in skill.mmp and detailed reference material in separate files that Claude reads only when needed. The open standard also suggests having a scripts folder for executable code, references for additional documentation and assets for images, templates or other data files that would be relevant for that skill. Then in skill.md link to the supporting files. Here, Claude reads architecture.md only when someone asks about system design. If they're asking where to add a component, let's say, it just never loads. It's like having a table of contents in the context window rather than fitting the whole entire document in there. Keep skill.md under 500 lines. If you're exceeding that, then maybe consider should this be split up into different content. Scripts in your skill directory can run without loading their contents into context. The script executes and only the output consumes tokens. Tell claw to run the script, not read it. This is very useful for environment validation, data transformations that need to be consistent, operations that are more reliable as tested code than generated code. Skills support metadata fields. Name and description which are required. Allowed tools restricts available tools and model specifies which claw to use. Descriptions need specific actions and trigger phrases to match for reliability. For larger skills, use progressive disclosure. Keep your skill.md file under 500 lines and link to the supporting files that load only when needed. Scripts [music] can execute without loading their contents, keeping context efficient.
TL;DR
- Effective Claude skills utilize the agentskills.io open standard, requiring a clear name and a descriptive purpose for reliable matching and functionality.
- Advanced features like
allowed_toolsand specificmodelselection enhance skill control and security for sensitive workflows. - For larger skills, progressive disclosure and executable scripts keep the context window efficient by loading content only when needed and running code without consuming full script tokens.
Takeaways
- A skill's
namemust be lowercase, use numbers and hyphens only, be a maximum of 64 characters, and match its directory name. - The
descriptionfield is crucial for Claude's matching, should be under 1024 characters, and clearly state what the skill does and when Claude should use it. - To improve skill triggering, add more keywords to the description that match how user requests might be phrased.
- Use the
allowed_toolsfield to restrict which tools Claude can use when a skill is active, enabling secure, read-only tasks or specific operations. - The
modelfield allows specifying which Claude model to use for a particular skill, offering fine-grained control over its behavior. - Implement progressive disclosure by placing essential instructions in
skill.md(keep under 500 lines) and linking to detailed reference materials in separate files that Claude loads only when needed. - Organize supporting files into
scripts(for executable code),references(for documentation), andassets(for images/data) directories. - Scripts in your skill directory can execute without loading their contents into Claude's context, consuming tokens only for their output, which is useful for validation or consistent data transformations.
Vocabulary
agentskills.io open standard — A defined specification for structuring and describing skills that AI models like Claude can use.
context window — The limited amount of information (tokens) an AI model can process and "remember" at any given time during a conversation.
progressive disclosure — A design principle where only essential information is initially shown, and more details are revealed only when the user requests or needs them.
metadata fields — Structured data fields (like name, description, allowed_tools) that provide information about a skill.
allowed_tools — A specific metadata field that restricts which external tools or functions a skill is permitted to use.
model — In this context, a specific version or type of the Claude AI system that can be designated for a particular skill.
tokens — The basic units of text (words, subwords, characters) that an AI model processes and uses to understand and generate language.
triggering — The process by which an AI model determines that a specific skill is relevant and should be activated based on user input.
skill.md — A Markdown file within a skill's directory that typically contains the core description and essential instructions for the skill.
Transcript
A basic skill works with just a name and description, but here are some other advanced tips that can make your skills really effective in claw code. The agentskills.io open standard has many available fields. We already went over the name, which identifies your skill, uses lowercase letters, numbers, and hyphens only. A maximum of 64 characters and should match your directory name. a description which is also required which tells Claude when to use the skill. This is a maximum of,024 characters and is the most important field. Claude uses this for matching. But we can also add other optional fields. One of them is the allowed tools field which restricts which tools Claude can use when the skill is active. The model field which specifies which cla model to use for the skill. Try to be explicit with your instructions. For example, if someone told me my job was to help with dogs, I wouldn't know what to do. So, we have to assume Claude would think the same way. A good description answers two questions. What does this skill do? And when should Claus use it? Now, if this job description was given to me, I feel a little bit more confident that I could get the job done. If your skill isn't triggering, add more keywords that match how you phrase requests. Sometimes you want a skill that can only read files, not modify them. This could be for security sensitive workflows, read only tasks or more. We have the allowed tools field to make this possible. When this skill is active, Claw can only use those tools without asking permission. No editing, no writing, no bash commands. If you omit allowed tools, the skill doesn't restrict anything. Claude uses its normal permission model. Skills share Claw's context window with your conversation. When Claude wants to use a skill, it will decide to load the contents of that skill into context. However, sometimes you'll need some references, examples, or some utility scripts that are required by the skill. But cramming it all into one 20,000 line text file means you take up a lot of space in the context window. And let's be real here, it's just not a lot of fun to maintain that. This is where progressive disclosure comes in. Put your essential instructions in skill.mmp and detailed reference material in separate files that Claude reads only when needed. The open standard also suggests having a scripts folder for executable code, references for additional documentation and assets for images, templates or other data files that would be relevant for that skill. Then in skill.md link to the supporting files. Here, Claude reads architecture.md only when someone asks about system design. If they're asking where to add a component, let's say, it just never loads. It's like having a table of contents in the context window rather than fitting the whole entire document in there. Keep skill.md under 500 lines. If you're exceeding that, then maybe consider should this be split up into different content. Scripts in your skill directory can run without loading their contents into context. The script executes and only the output consumes tokens. Tell claw to run the script, not read it. This is very useful for environment validation, data transformations that need to be consistent, operations that are more reliable as tested code than generated code. Skills support metadata fields. Name and description which are required. Allowed tools restricts available tools and model specifies which claw to use. Descriptions need specific actions and trigger phrases to match for reliability. For larger skills, use progressive disclosure. Keep your skill.md file under 500 lines and link to the supporting files that load only when needed. Scripts [music] can execute without loading their contents, keeping context efficient.