What are Skills?
A skill is a markdown file (SKILL.md) containing:
- Domain-specific instructions
- Workflow guides
- Best practices
- Reference documentation
- Tool usage examples
Skill Sources
Weaver loads skills from three locations (in priority order):- Workspace Skills (
<workspace>/skills/) - Project-specific - Global Skills (
~/.weaver/skills/) - User-wide - Builtin Skills - Bundled with Weaver
Skill Structure
Basic Skill Format
Frontmatter
Skills use YAML frontmatter for metadata:- Name: Alphanumeric with hyphens, max 64 chars
- Description: Max 1024 chars
- Both fields are required
Installing Skills
From GitHub
Install community skills from GitHub repositories:SKILL.md from the repository’s main branch and installs it to <workspace>/skills/<repo-name>/.
Manual Installation
- Create directory:
mkdir -p <workspace>/skills/my-skill - Create skill file:
<workspace>/skills/my-skill/SKILL.md - Add frontmatter and content
- Restart Weaver or reload skills
List Available Skills
Browse the community skill registry:Managing Skills
Listing Installed Skills
Loading a Skill
Loading Multiple Skills
Uninstalling Skills
Using Skills in Agents
Auto-Discovery
Weaver automatically discovers and lists skills:Loading Skills on Demand
When the agent identifies a need for a skill:- Agent sees skill in
<skills>list - Agent requests skill by name
- Skill content is loaded and injected
- Agent uses skill knowledge to complete task
Creating Effective Skills
Best Practices
-
Clear Structure
- Use markdown headings for organization
- Group related information
- Include table of contents for large skills
-
Actionable Instructions
- Provide step-by-step workflows
- Include code examples
- Reference available tools
-
Context and Background
- Explain when to use the skill
- Document prerequisites
- Link to external resources
-
Tool Integration
- List relevant tools
- Show tool usage examples
- Explain tool parameters
-
Error Handling
- Common failure modes
- Troubleshooting steps
- Fallback strategies
Example: Hardware Skill
Reading from Sensor (AHT20)
SPI Operations
Listing SPI Devices
Reading from Display
Common Issues
Permission Denied
Add user to i2c/spi groups:Device Not Found
Load kernel modules:Advanced Features
Skill Dependencies
Skills can reference other skills:Skill Resources
Bundle additional files with skills:Implementation Details
SkillsLoader
SkillInfo
Validation
Skills are validated on load:- Name format: alphanumeric with hyphens
- Name length: max 64 characters
- Description length: max 1024 characters
- Frontmatter presence and format
Performance
- Skills are loaded on-demand, not at startup
- Frontmatter is parsed only when listing skills
- Content is stripped of frontmatter before injection
- Skills are cached in memory during agent session
Security
- Skills are plain markdown (no code execution)
- Workspace skills override global/builtin (user control)
- Skill paths are validated to prevent traversal
- GitHub installation validates repository format