charm.yaml, source file, and dependency setup for a common agent pattern.
Use a template when you want to start from a known runtime shape instead of wiring a manifest from scratch.
Create from a Template
Template Categories
The first seven rows are CLI scaffolding templates: usecharm init <dir> --template <id> with the exact IDs in each linked page (for example research-agent, not research). Run charm init --help or charm init . --interactive to see all IDs.
The last three rows are configuration guides for common lifecycles and OAuth. They are not separate charm init template names—start from any scaffold above and adjust charm.yaml.
| Template | Best For | Runtime Shape |
|---|---|---|
| Python Agent | Minimal custom Python agents | Serverless |
| Research Agent | Topic research and synthesis | Serverless |
| Code Review Agent | Developer workflow automation | Serverless |
| Customer Support Agent | Support triage and response drafting | Daemon |
| Data Pipeline Agent | Structured processing and data workflows | Serverless |
| Slack Bot | Chat and workspace automation | Daemon or integration-oriented |
| OpenClaw Skill Agent | Browser/tools-heavy agent execution | Full runtime |
| Interactive Agent | Real-time chat and streaming | Interactive |
| Daemon Agent | Always-on background agents | Daemon |
| OAuth integration | Agents requiring user-authorized accounts | Any lifecycle (via auth.providers) |
Choosing a Template
- Choose Python first if you are learning Charm.
- Choose OpenClaw when the agent needs tool-rich browser or desktop-style automation.
- Read the Interactive, Daemon, and OAuth integration guides when you need those runtime or auth shapes, then apply them to your manifest (possibly starting from
python,openclaw,slack-bot, orcustomer-support-agent).
What Every Scaffolding Template Includes
charm.yamlmanifest.- Agent entry point.
- Dependency file.
- Example input schema.
- Runtime adapter configuration.
