📋 Skills Guide
🎯 What are Skills?
Skills are modular extensions that give MoltBot new capabilities. Think of them as plugins or tools the AI can use.
Skill Types
- Tools: Functions AI can call (web search, calculations, etc.)
- Integrations: Connect to external services (GitHub, Jira, etc.)
- Workflows: Multi-step automation sequences
- Prompts: Specialized system prompts for specific tasks
Skill Architecture
~/.MoltBot/skills/
├── web-search/
│ ├── SKILL.md # Skill documentation
│ ├── skill.yaml # Configuration
│ └── index.js # Implementation
├── github-integration/
└── custom-skill/
📥 Installing Skills
Method 1: From Skill Registry
# List available skills
MoltBot skills list
# Install a skill
MoltBot skills install web-search
# Install multiple skills
MoltBot skills install web-search github-integration calendar
Method 2: From GitHub
# Install from GitHub repo
MoltBot skills install https://github.com/user/MoltBot-skill-name
# Install specific version
MoltBot skills install web-search@1.2.0
Method 3: Local Installation
# Install from local directory
MoltBot skills install ./my-custom-skill
# Link for development
MoltBot skills link ./my-skill-dev
Managing Skills
# List installed skills
MoltBot skills list --installed
# Update skill
MoltBot skills update web-search
# Update all skills
MoltBot skills update --all
# Uninstall skill
MoltBot skills uninstall web-search
# Enable/disable skill
MoltBot skills enable web-search
MoltBot skills disable web-search
🔧 Built-in Skills
MoltBot comes with several pre-installed skills:
1. Web Search
You: Search for latest AI news
Bot: [Uses web-search skill to find current information]
2. File Operations
You: Read the file config.yaml
Bot: [Reads and displays file content]
You: Create a new file hello.py with a print statement
Bot: [Creates file with code]
3. Code Execution
You: Run this Python code: print(2+2)
Bot: [Executes code safely]
Output: 4
4. Browser Automation
You: Go to example.com and screenshot it
Bot: [Opens browser, takes screenshot]
5. Terminal Commands
You: List files in current directory
Bot: [Runs ls command]
🌟 Popular Community Skills
Productivity Skills
| Skill | Description | Install |
|---|---|---|
| calendar | Google Calendar integration | MoltBot skills install calendar |
| Send/read emails | MoltBot skills install email |
|
| notion | Notion database access | MoltBot skills install notion |
| todoist | Task management | MoltBot skills install todoist |
Developer Skills
| Skill | Description | Install |
|---|---|---|
| github | GitHub API integration | MoltBot skills install github |
| docker | Docker container management | MoltBot skills install docker |
| database | SQL database queries | MoltBot skills install database |
| api-tester | Test REST APIs | MoltBot skills install api-tester |
Data & Research Skills
- arxiv - Search academic papers
- wikipedia - Wikipedia integration
- wolfram - Wolfram Alpha queries
- weather - Weather information
🛠️ Creating Custom Skills
Skill Structure
my-skill/
├── SKILL.md # Documentation (required)
├── skill.yaml # Configuration (required)
├── index.js # Main implementation
├── package.json # Dependencies
└── examples/ # Usage examples
SKILL.md Example
---
name: weather-checker
description: Get weather information for any location
version: 1.0.0
author: Your Name
---
# Weather Checker Skill
This skill allows MoltBot to fetch weather information.
## Usage
```
You: What's the weather in Tokyo?
Bot: [Uses weather-checker skill]
```
## Configuration
Add your API key to config.yaml:
```yaml
skills:
weather-checker:
apiKey: "your-api-key"
```
skill.yaml Example
name: weather-checker
version: 1.0.0
description: Get weather information
# Tool definition
tools:
- name: get_weather
description: Get current weather for a location
parameters:
type: object
properties:
location:
type: string
description: City name or coordinates
units:
type: string
enum: [celsius, fahrenheit]
default: celsius
required: [location]
# Configuration schema
config:
apiKey:
type: string
required: true
description: Weather API key
# Dependencies
dependencies:
- axios
# Permissions
permissions:
- network
- config
index.js Example
// index.js
const axios = require('axios');
module.exports = {
name: 'weather-checker',
async get_weather({ location, units = 'celsius' }) {
const apiKey = this.config.apiKey;
const url = `https://api.weather.com/v1/current?location=${location}&units=${units}&key=${apiKey}`;
try {
const response = await axios.get(url);
return {
temperature: response.data.temp,
conditions: response.data.conditions,
humidity: response.data.humidity
};
} catch (error) {
throw new Error(`Failed to fetch weather: ${error.message}`);
}
}
};
Testing Your Skill
# Link skill for development
cd my-skill
MoltBot skills link .
# Test skill
MoltBot test-skill weather-checker
# Use in conversation
MoltBot chat "What's the weather in Paris?"
💡 Skill Examples
Simple Calculator Skill
// calculator-skill/index.js
module.exports = {
name: 'calculator',
tools: {
calculate: {
description: 'Perform mathematical calculations',
parameters: {
expression: { type: 'string', description: 'Math expression' }
},
handler: async ({ expression }) => {
// Safe eval using math.js or similar
const result = eval(expression); // Use proper library in production!
return { result };
}
}
}
};
GitHub Issue Creator
// github-skill/index.js
const { Octokit } = require('@octokit/rest');
module.exports = {
name: 'github',
async create_issue({ repo, title, body }) {
const octokit = new Octokit({ auth: this.config.githubToken });
const [owner, repoName] = repo.split('/');
const issue = await octokit.issues.create({
owner,
repo: repoName,
title,
body
});
return {
url: issue.data.html_url,
number: issue.data.number
};
}
};
❓ Skills FAQ
Are skills safe to install?
Skills run with permissions you grant. Review skill code before installing,
especially from unknown sources.
Can skills access my files?
Only if you grant file system permissions. Check skill.yaml for required
permissions.
How do I share my skill?
Publish to GitHub and submit to MoltBot skill registry via pull request.
Can I monetize skills?
Yes, you can create paid skills or offer premium features.