67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
PicoBot
|
|
|
|
Skills (initial implementation)
|
|
|
|
PicoBot now supports filesystem skills.
|
|
|
|
Skill discovery locations:
|
|
- Project skills: .picobot/skills/*/SKILL.md
|
|
- User skills: ~/.picobot/skills/*/SKILL.md
|
|
|
|
Minimal required SKILL.md format:
|
|
|
|
---
|
|
description: Summarize code architecture for Rust projects
|
|
---
|
|
Optional detailed instructions go here.
|
|
|
|
Notes:
|
|
- The only required frontmatter field is description.
|
|
- If name is missing, the folder name is used as the skill name.
|
|
- Invalid skill files are skipped with warning logs.
|
|
|
|
How it is injected:
|
|
- AgentLoop adds a system message containing the available skills list (name + description).
|
|
- The model can call tool skill_activate with {"name":"<skill-name>"}.
|
|
- PicoBot returns the skill body as tool output so the model can follow detailed instructions.
|
|
|
|
Skill management tool
|
|
|
|
PicoBot exposes a built-in tool named skill_manage for runtime skill administration.
|
|
PicoBot also exposes a read-only tool named skill_list for listing discovered skills without mutation.
|
|
|
|
Supported actions:
|
|
- list: List discovered skills
|
|
- get: Read one skill by name
|
|
- create: Create a skill under project or user scope
|
|
- update: Update description and/or body for an existing skill
|
|
- delete: Delete a skill directory
|
|
- reload: Re-scan skill directories and refresh the in-memory catalog
|
|
|
|
Defaults:
|
|
- scope defaults to project
|
|
- reload defaults to true for create, update, and delete
|
|
|
|
Example payloads:
|
|
|
|
skill_list takes no parameters.
|
|
|
|
{"action":"list"}
|
|
{"action":"create","scope":"project","name":"demo-skill","description":"Use when summarizing a Rust crate","body":"Step 1..."}
|
|
{"action":"update","scope":"project","name":"demo-skill","description":"Use when reviewing a Rust crate"}
|
|
{"action":"delete","scope":"project","name":"demo-skill"}
|
|
{"action":"reload"}
|
|
|
|
Config (optional)
|
|
|
|
Add skills in config.json:
|
|
|
|
{
|
|
"skills": {
|
|
"enabled": true,
|
|
"sources": ["project", "user"],
|
|
"max_index_chars": 4000,
|
|
"max_listed_skills": 32
|
|
}
|
|
}
|