What Are Skills?
Skills are specialized instructions that extend Claude’s capabilities for specific tasks. They provide focused guidance that helps the agent perform domain-specific work more effectively.Skills use the exact same SKILL.md format as the Claude Code SDK - making skills fully compatible between systems.
Key Features
Slash Commands
Invoke skills instantly with commands like
/commit or /review-prAuto-Triggering
Skills activate automatically based on file patterns (globs)
Tool Permissions
Pre-approve specific tools to run without prompting
SDK Compatible
Same format as Claude Code SDK for seamless portability
How Skills Work
When you invoke a skill, it injects specialized instructions into Claude’s context. This helps the agent:- Follow project-specific conventions
- Enforce team coding standards
- Apply consistent patterns across tasks
- Access domain-specific knowledge
Skill Structure
Each skill is stored as a directory containing:Storage Hierarchy
Skills follow a three-tier precedence system:Project Skills (Highest Priority)
Located in
{project}/.agents/skills/ - specific to the current codebaseWorkspace Skills (Medium Priority)
Located in
~/.craft-agent/workspaces/{id}/skills/ - scoped to workspaceInvoking Skills
Via Slash Commands
Type a forward slash followed by the skill name:Via @Mentions
Reference a skill directly in your message:Via File Patterns
Skills withglobs patterns activate automatically when working with matching files:
Skill Metadata
Every skill requires frontmatter with key information:| Field | Required | Description |
|---|---|---|
name | Yes | Display name shown in UI |
description | Yes | Brief explanation of purpose |
globs | No | File patterns that trigger the skill |
alwaysAllow | No | Tools to auto-approve |
requiredSources | No | Sources to enable on invocation |
Example Metadata
Required Sources
TherequiredSources field automatically enables specific sources when the skill is invoked:
Sources must exist in the workspace and be authenticated. Unauthenticated or missing sources are silently skipped.
Overriding Built-in Skills
You can customize any built-in SDK skill by creating a workspace or project skill with the same slug:
Your custom skill will be used instead of the SDK version.
Best Practices
Be Specific and Actionable
Be Specific and Actionable
Provide clear, concrete instructions that Claude can follow immediately. Avoid vague guidance.
Include Examples
Include Examples
Show the expected output format or behavior with real examples.
Set Clear Boundaries
Set Clear Boundaries
Explicitly state what the skill should NOT do to prevent scope creep.
Keep Skills Focused
Keep Skills Focused
One skill should handle one specific task or domain. Split complex workflows into multiple skills.
Add Visual Icons
Add Visual Icons
Use relevant icons to make skills easily identifiable in the UI.
Next Steps
Creating Skills
Learn how to build custom skills from scratch
Importing Skills
Import existing skills from Claude Code