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

EventWhat happens
GoClaw startupConnects to all configured sidecar addrs, calls Register to fetch tool definitions
Every 30 secondsCalls HealthCheck on each sidecar. Unhealthy sidecars are marked offline and retried
LLM tool callGoClaw matches tool name โ†’ finds the sidecar โ†’ calls Execute โ†’ returns result to LLM
Sidecar restartHealthCheck detects recovery, re-registers automatically
โ„น๏ธ
See the gRPC Sidecars Deep Dive blog post for full walkthroughs in Python, Go, Rust, and Node.js.