agent-spawner
Spawn a new OpenClaw agent through conversation. Uses official Docker setup and non-interactive onboarding, carries over API keys, tools, plugins, and skills from the current agent. User answers 2-3 questions. Use when the user wants to create, spin up, deploy, or provision a new OpenClaw agent.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/austineral/agent-spawnerAgent Spawner
Deploy a new OpenClaw agent conversationally. Official install, carry over config from the current agent. User never edits a file.
1. Read Current Config (silent)
cat ~/.openclaw/openclaw.json
cat ~/.openclaw/.env 2>/dev/null
env | grep -iE 'API_KEY|TOKEN'
ls ~/.openclaw/extensions/
ls <workspace>/skills/
Identify:
- Provider: check
auth.profilesin config — could be Anthropic, OpenAI, Gemini, custom, etc. - API key: from env var or config (e.g.
ANTHROPIC_API_KEY,GEMINI_API_KEY,OPENAI_API_KEY) - Model: from
agents.defaults.model - Tool keys: anything in
tools.*(search APIs, etc.) - Plugins:
plugins.installs— names and npm specs - Skills: run
openclaw skills listto see what's bundled vs workspace-only. Only carry over non-bundled skills.
2. Ask
- "Where should I deploy it?" — Docker (local or remote SSH) or bare metal?
- "Name?" — for container. Generate one if they don't care.
- "Anything special?" — purpose, constraints. Optional.
Don't ask about keys, plugins, skills, ports, or config. Carry everything over, use defaults.
3. Confirm Plan
After gathering answers, present the full plan before doing anything. Show everything in one summary:
Here's the plan:
📦 Deploy: Docker on <target>
📛 Name: <agent-name>
🌐 Port: <port>
Carrying over from current agent:
✅ Provider: Anthropic (API key)
✅ Model: anthropic/claude-sonnet-4-20250514
✅ Brave Search API key
✅ Plugins: openclaw-agent-reach
✅ Skills: agent-spawner, weather
✅ Heartbeat: 30m
The new agent will bootstrap its own identity on first message.
Good to go?
Only list items that actually exist. Wait for explicit confirmation before proceeding. If the user wants changes, adjust and re-confirm.
4. Deploy
Docker
git clone https://github.com/openclaw/openclaw.git <agent-name>
cd <agent-name>
Set env and run non-interactive onboard. Match the provider detected in step 1:
export OPENCLAW_IMAGE=alpine/openclaw:latest
export OPENCLAW_CONFIG_DIR=~/.openclaw-<agent-name>
export OPENCLAW_WORKSPACE_DIR=~/.openclaw-<agent-name>/workspace
export OPENCLAW_GATEWAY_PORT=<unused port, default 18789>
export OPENCLAW_GATEWAY_BIND=lan
mkdir -p $OPENCLAW_CONFIG_DIR/workspace
Onboard flags vary by provider. Use the matching --auth-choice and key flag:
| Provider | --auth-choice | Key flag |
|---|---|---|
| Anthropic | apiKey | --anthropic-api-key |
| Gemini | gemini-api-key | --gemini-api-key |
| OpenAI | apiKey | (set OPENAI_API_KEY env) |
| Custom | custom-api-key | --custom-api-key + --custom-base-url + --custom-model-id |
docker compose run --rm openclaw-cli onboard --non-interactive --accept-risk \
--mode local \
--auth-choice <detected> \
--<provider>-api-key "$API_KEY" \
--gateway-port 18789 \
--gateway-bind lan \
--skip-skills
docker compose up -d openclaw-gateway
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-austineral-agent-spawner": {
"enabled": true,
"auto_update": true
}
}
}