Custom Skill Development Guide
Learn how to create and deploy your own custom skills for Botonom agents.
This guide begins with Overview, continues through Skill architecture, Skill manifest, Skill code, and finishes with Skill configuration.
Overview
Botonom supports custom skills that extend the capabilities of your agents. You can create skills in any programming language and deploy them to the Botonom platform.
Skill architecture
A custom skill consists of:
- Skill manifest — metadata about the skill
- Skill code — the logic that processes tasks
- Skill configuration — settings that can be adjusted by users
Skill manifest
The manifest file (skill.json) describes the skill:
{
"name": "My Custom Skill",
"description": "A custom skill for Botonom agents.",
"version": "1.0.0",
"author": "Your Company",
"license": "MIT",
"dependencies": {
"botonom-sdk": "^1.0.0"
},
"config": {
"api_key": {
"type": "string",
"description": "Your API key for the external service.",
"required": true
}
}
}
Skill code
The skill code is written in any language that can run in a Docker container. Here's an example in Node.js:
import { Botonom } from 'botonom-sdk';
const botonom = new Botonom({
apiKey: process.env.BOTONOM_API_KEY,
workspaceId: process.env.BOTONOM_WORKSPACE_ID
});
export async function handleTask(task) {
const result = await botonom.agents.sendTask(task.agentId, {
instruction: task.instruction
});
return result;
}
Skill configuration
Users can configure the skill through the Botonom dashboard. Define configuration options in the manifest:
{
"config": {
"api_key": {
"type": "string",
"description": "Your API key for the external service.",
"required": true
}
}
}
Deployment
Package your skill as a Docker image and push it to a container registry. Use the Botonom CLI to deploy:
# Build the Docker image
docker build -t my-custom-skill .
# Tag the image
docker tag my-custom-skill botonom/my-custom-skill:1.0.0
# Push to Docker Hub
docker push botonom/my-custom-skill:1.0.0
# Deploy to Botonom
botonom skill deploy botonom/my-custom-skill:1.0.0
