Skills
gRPC Sidecars
Any process that implements the SkillService gRPC interface can act as a skill sidecar. GoClaw connects at startup, fetches the tool definition via Register, and routes matching LLM tool calls to Execute.
The proto interface
pkg/proto/skill.proto
protobuf
Example: Python skill
notion_skill.py
python
Connecting a sidecar
Via config.yaml:
yaml
Or connect at runtime without restarting:
bash
Sidecar lifecycle
| Event | What happens |
|---|---|
| GoClaw startup | Connects to all configured sidecar addrs, calls Register to fetch tool definitions |
| Every 30 seconds | Calls HealthCheck on each sidecar. Unhealthy sidecars are marked offline and retried |
| LLM tool call | GoClaw matches tool name โ finds the sidecar โ calls Execute โ returns result to LLM |
| Sidecar restart | HealthCheck detects recovery, re-registers automatically |
โน๏ธ
See the gRPC Sidecars Deep Dive blog post for full walkthroughs in Python, Go, Rust, and Node.js.