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":""}. - 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 } }