| name | openclaw-in-a-box |
| description | Orchestrator skill: detects environment, asks user which integrations to enable, drives setup, and hands off to sub-skills. |
| version | 0.2.0 |
| user-invocable | true |
| metadata | {"openclaw":{"emoji":"🦞","requires":{"bins":[],"env":[]}}} |
openclaw-in-a-box
You are the setup orchestrator. Your job is to get the user from zero to a running OpenClaw agent inside a secure stereOS VM with Tapes telemetry.
Step 0: Clone if needed
If the repo isn't already cloned, clone it:
git clone https://github.com/papercomputeco/openclaw-in-a-box
cd openclaw-in-a-box
If already in the repo directory, skip this step.
Step 1: Detect environment
Run these checks and report a status summary:
command -v mb
echo $ANTHROPIC_API_KEY | head -c 10
echo ${MODEL_PROVIDER:-not set}
command -v ollama
echo ${OLLAMA_API_KEY:+set}
command -v gog
gog auth list
command -v gh
gh auth status
echo ${DISCORD_TOKEN:+set}
Print a short status table:
Environment:
mb CLI: ✓ installed
ANTHROPIC_API_KEY: ✓ set
Model Provider:
MODEL_PROVIDER: ○ not set (defaults to anthropic)
Ollama CLI: ○ not found
OLLAMA_API_KEY: ○ not set
Integrations:
Gmail: ✗ gog CLI not found
GitHub: ✓ gh authenticated
Discord: ✗ DISCORD_TOKEN not set
If mb is not installed, tell the user to install Master Blaster first: https://github.com/papercomputeco/masterblaster
If MODEL_PROVIDER is not set or is anthropic, and ANTHROPIC_API_KEY is not set, tell the user to export it: export ANTHROPIC_API_KEY="sk-ant-..."
If MODEL_PROVIDER is ollama and the model ends in :cloud, and OLLAMA_API_KEY is not set, tell the user to get one at ollama.com/settings.
Step 1.5: Choose model provider
Ask the user which model provider to use:
- Anthropic (default) -- Claude models via Anthropic API. Requires
ANTHROPIC_API_KEY.
- Ollama Cloud -- Run models like
kimi-k2.5:cloud or minimax-m2.7:cloud via Ollama's hosted API. Requires OLLAMA_API_KEY from ollama.com. No local GPU needed.
- Ollama Local -- Run models locally via Ollama on the host machine. The VM connects to the host's Ollama instance. Requires Ollama installed on the host with a model pulled and enough RAM/VRAM.
Based on their choice, tell them which env vars to export:
Anthropic:
export MODEL_PROVIDER="anthropic"
export ANTHROPIC_API_KEY="sk-ant-..."
Ollama Cloud:
export MODEL_PROVIDER="ollama"
export MODEL_NAME="minimax-m2.7:cloud"
export OLLAMA_API_KEY="..."
Ollama Local:
export MODEL_PROVIDER="ollama"
export MODEL_NAME="llama3.3"
export OLLAMA_BASE_URL="http://host.docker.internal:11434"
Note for Ollama Local: the VM runs in an isolated network. The default http://localhost:11434 refers to the VM's own localhost, not the host. If Ollama runs on the host, the user may need to set OLLAMA_BASE_URL to the host's IP or a bridge address depending on their stereOS network config.
Popular Ollama cloud models for agentic work:
| Model | Tag | Notes |
|---|
| MiniMax M2.7 | minimax-m2.7:cloud | Built for coding and agentic tasks |
| Kimi K2.5 | kimi-k2.5:cloud | Multimodal, strong agentic capabilities |
| MiniMax M2.5 | minimax-m2.5:cloud | Productivity and coding |
Step 2: Ask what they want
Ask the user which integrations to enable. Don't assume all three. Present only the ones that aren't already set up:
- Gmail Triage — archive newsletters, label receipts, star action items
- GitHub Org Triage — flag stale PRs, blocked issues, release risk
- Discord Bot — respond to mentions, summarize threads
If everything is already configured, skip to Step 4.
Step 3: Drive setup for each chosen integration
Gmail setup
- Install gog:
brew install steipete/tap/gogcli
- Walk user through Google Cloud Console:
- Create project at console.cloud.google.com/projectcreate
- Enable Gmail API
- Configure OAuth consent screen (External, add test user)
- Create Desktop app OAuth credentials
- Download
client_secret_*.json
- Register credentials:
gog auth credentials ~/Downloads/client_secret_*.json
- Authenticate (requires user interaction — opens browser):
gog auth add USER@gmail.com --services gmail
- Verify:
gog auth list and gog gmail labels list
GitHub setup
- Install gh if missing:
brew install gh
- Authenticate (requires user interaction):
gh auth login
Or if user has a token: export GH_TOKEN="ghp_..."
- Verify:
gh auth status
Discord setup
- Walk user through Discord Developer Portal:
- Create application at discord.com/developers/applications
- Create bot, copy token
- Enable Message Content Intent
- Generate invite URL with bot + applications.commands scopes
- Export token:
export DISCORD_TOKEN="..."
- Remind user to add the export to their shell profile
Step 4: Boot and run
Once the chosen integrations are configured:
cd /path/to/openclaw-in-a-box
mb up
mb ssh openclaw-in-a-box
bash /workspace/scripts/install.sh
bash /workspace/scripts/start.sh
Report which skills loaded and which integrations are active.
Step 5: Hand off to sub-skills
Once the gateway is running, the user invokes skills directly:
/gmail-triage — triage unread inbox
/github-org-triage papercomputeco — scan an org
/discord-bot report — generate activity report
Each skill has its own rules in skills/. You don't need to know their internals — just get the user to the point where they can invoke them.
Rules
- Never store secrets in files. Tokens go in env vars or system keychains.
- If a setup step requires user interaction (OAuth browser flow, password entry), tell the user to run the command themselves. Don't try to automate password entry.
- If a step fails, diagnose the error and suggest a fix. Don't retry blindly.
- Only set up what the user asked for. Don't push integrations they didn't choose.