Custom tools like skills. #552
victorhdchagas
started this conversation in
Ideas
Replies: 1 comment
-
|
This could be useful, because i could configure a pg_tool, and speak with my database. Or Obsidian Tool, and speak with my diary. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Custom Tools like Skills
Summary
I propose adding a Custom Tools system to Picoclaw, similar to the existing Skills system, that allows users to install and use external tools from GitHub repositories without recompiling Picoclaw.
Background
Currently, Picoclaw has two extensibility mechanisms:
Built-in Tools (System Resources)
These are compiled Go binaries (
pkg/tools/*.go) that provide core functionality:read_file,write_file,list_dir- File system operationsexec- Shell command executionweb_search,web_fetch- Web operationscron- Task schedulingmessage,spawn- Communication featuresCharacteristics:
AgentLoopSkills
These are markdown-based packages that extend agent capabilities:
skills/*/SKILL.mdCharacteristics:
scripts/directoryProblem Statement
Skills + Scripts work, but have limitations:
Proposed Solution: Custom Tools
Custom Tools are script-based tools that can be installed from GitHub, similar to how Skills are installed, but with benefits of Built-in Tools (structured, low-overhead, discoverable).
Architecture
TOOL.md Structure
Configuration Management
Custom Tools support structured configuration (no environment variables):
{ "tools": { "web": { ... }, "custom": { "github_updates": { "token": "ghp_xxxxxxxxxxxx" }, "db_query": { "host": "localhost", "port": 5432, "user": "postgres", "password": "secret" } } } }Features:
picoclaw custom-tools configure <tool-name>~/.picoclaw/workspace/custom-tools/<name>/config.json.localsecret: truenever shown in logsCLI Commands
Comparison Table
picoclaw skills installpicoclaw skills installpicoclaw custom-tools installUse Cases
Example 1: GitHub Updates
Before (Skills):
After (Custom Tools):
Example 2: Database Query
TOOL.md:
Usage:
Benefits
Implementation Estimate
Open Questions
config.jsonor allow per-tool local configs?picoclaw-custom-toolsrepository for community tools?Next Steps
If this proposal is well-received, implementation would involve:
pkg/tools/custom.gowith ExternalTool structpkg/tools/custom_installer.gofor installation from GitHubpkg/tools/custom_loader.gofor loading custom toolspkg/tools/custom_config.gofor configuration managementcmd/picoclaw/custom_tools.goAgentLoopandToolRegistryLooking forward to feedback and suggestions from the community!
Related:
picoclaw/skills/pkg/tools/pkg/skills/installer.go(similar pattern)Beta Was this translation helpful? Give feedback.
All reactions