What Are Skills?
Skills are modular extensions that add specific capabilities to your agent. Think of them as plugins that provide:
- New tools and commands
- Domain-specific knowledge
- Integration with external services
- Specialized workflows
The Skill System Architecture
Skill Structure
Every skill follows a standard structure:
skills/
└── my-skill/
├── SKILL.md # Instructions and documentation
├── scripts/ # Optional automation scripts
├── templates/ # Optional file templates
└── config.json # Optional configuration
SKILL.md Format
The SKILL.md file tells agents how to use the skill:
# My Skill
## Description
Brief description of what this skill does.
## Prerequisites
- Required tools or accounts
- Environment variables needed
## Usage
### Command 1
How to perform the first action.
### Command 2
How to perform the second action.
## Examples
Concrete usage examples.
## Troubleshooting
Common issues and solutions.
Installing Skills
From the Community
clawdbot skills install weather
clawdbot skills install github
clawdbot skills install notion
From Git Repositories
clawdbot skills install https://github.com/user/skill-name
Manual Installation
mkdir -p skills/my-skill
# Create SKILL.md
Popular Skills
Weather Skill
Get weather information without an API key:
Usage: Fetch weather for a location
Example: "What's the weather in Tokyo?"
GitHub Skill
Interact with GitHub using the gh CLI:
Commands:
- gh issue list
- gh pr create
- gh run list
- gh api for advanced queries
Notion Skill
Manage Notion pages and databases:
Features:
- Create pages
- Query databases
- Update content
Slack Skill
Control Slack from your agent:
Actions:
- Send messages
- React to messages
- Pin/unpin items
Creating Custom Skills
Step 1: Define the Purpose
What capability do you want to add? Be specific:
- ❌ "A skill for productivity"
- ✅ "A skill for managing Jira tickets via API"
Step 2: Write SKILL.md
# Jira Ticket Manager
## Description
Manage Jira tickets directly from conversation. Create, update,
and track issues without leaving your agent.
## Prerequisites
- Jira Cloud account
- API token (set as JIRA_API_TOKEN)
- Your Jira domain (set as JIRA_DOMAIN)
## Configuration
Add to your environment:
JIRA_DOMAIN=yourcompany.atlassian.net
JIRA_API_TOKEN=your-api-token
JIRA_EMAIL=your-email@company.com
## Usage
### List My Ticketsbash
curl -s -X GET \
"https://$JIRA_DOMAIN/rest/api/3/search?jql=assignee=currentUser()" \
-H "Authorization: Basic $(echo -n $JIRA_EMAIL:$JIRA_API_TOKEN | base64)"
### Create Ticketbash
curl -s -X POST \
"https://$JIRA_DOMAIN/rest/api/3/issue" \
-H "Authorization: Basic $(echo -n $JIRA_EMAIL:$JIRA_API_TOKEN | base64)" \
-H "Content-Type: application/json" \
-d '{
"fields": {
"project": {"key": "PROJ"},
"summary": "Ticket title",
"issuetype": {"name": "Task"}
}
}'
## Examples
**User:** "Show my open Jira tickets"
**Agent:** [Executes list command, formats results]
**User:** "Create a ticket for fixing the login bug"
**Agent:** [Creates ticket with appropriate fields]
Step 3: Test the Skill
Step 4: Share (Optional)
If your skill is useful, share it:
- GitHub repository
- ClawdHub community
- MoltbotDen skill exchange
Sub-Agents Explained
Sub-agents are specialized agents spawned for specific tasks. They:
- Run in isolated sessions
- Can use different models
- Report results back to the main agent
- Get cleaned up after completion
When to Use Sub-Agents
Use sub-agents for:
- Long-running tasks - Don't block the main conversation
- Specialized work - Different model strengths
- Parallel processing - Multiple tasks simultaneously
- Isolation - Separate context and memory
Spawning Sub-Agents
// In your agent's toolkit
sessions_spawn({
task: "Research the latest developments in quantum computing and write a summary",
label: "quantum-research",
model: "claude-3-opus-20240229",
runTimeoutSeconds: 300
})
Sub-Agent Communication
The main agent can:
- Spawn - Create sub-agents with specific tasks
- Monitor - Check on progress
- Receive results - Get announcements when complete
- Send messages - Communicate during execution
Example: Research Sub-Agent
Human: "Research AI safety developments this week"
Main Agent: [Spawns research sub-agent]
"I've started a research task. I'll let you know when it's complete."
[Sub-agent works in background]
[Main agent continues other conversations]
Sub-Agent: [Completes research]
[Announces results to main agent]
Main Agent: "The research is complete! Here's what I found..."
Skill + Sub-Agent Patterns
Pattern 1: Specialized Skill Executor
Create a sub-agent specifically for a complex skill:
Main Agent → Spawns → Code Review Sub-Agent (uses GitHub skill)
→ Returns detailed review
Pattern 2: Parallel Skill Usage
Multiple sub-agents using different skills:
Main Agent → Spawns → Weather Sub-Agent
→ Spawns → Calendar Sub-Agent
→ Spawns → Email Sub-Agent
→ Combines results → "Here's your morning briefing"
Pattern 3: Chain of Specialists
Sequential sub-agents for multi-step workflows:
Research Sub-Agent → Findings →
Writing Sub-Agent → Draft →
Review Sub-Agent → Final Content
Best Practices
For Skills
For Sub-Agents
Debugging Skills and Sub-Agents
Skill Issues
# Check if skill is detected
clawdbot skills list
# Verify skill location
ls -la skills/my-skill/
# Check SKILL.md syntax
cat skills/my-skill/SKILL.md
Sub-Agent Issues
# List active sessions
clawdbot sessions list
# Check sub-agent status
clawdbot sessions history --sessionKey <key>
# Kill stuck sub-agent
clawdbot sessions kill --sessionKey <key>
Conclusion
Skills and sub-agents transform a basic agent into a powerful system capable of handling complex, specialized tasks. Start with existing skills, create custom ones for your needs, and use sub-agents to parallelize and isolate work.
The combination of well-designed skills and intelligent sub-agent orchestration is what separates simple chatbots from truly capable AI agents.
Next: Agent Communication Best Practices - Effective communication between agents