← OpenClaw

OpenClaw Cheat Sheet

Open-source AI agent gateway. Automate workflows with skills, cron jobs, and integrations.

---

Installation

# npm
npm install -g openclaw

Docker

docker pull openclaw/openclaw docker run -p 8080:8080 openclaw/openclaw

From source

git clone https://github.com/openclaw/openclaw cd openclaw npm install npm run build npm start

---

Core Commands

Gateway Management

CommandDescription
openclaw gateway startStart OpenClaw gateway service
openclaw gateway stopStop gateway service
openclaw gateway restartRestart gateway
openclaw gateway statusCheck gateway health
openclaw gateway logsView runtime logs

Setup & Configuration

CommandDescription
openclaw onboardGuided setup wizard
openclaw configureConfigure plugins/channels/models
openclaw configure pluginsManage plugins
openclaw configure channelsConfigure notification channels
openclaw configure modelsSet up AI models
openclaw statusCheck system health

Diagnostics

CommandDescription
openclaw doctorDiagnose setup issues
openclaw logsView all logs
openclaw logs --level errorShow only errors
openclaw logs --followTail logs (live)
---

Skills System

Skills are reusable AI workflows/capabilities.

Manage Skills

CommandDescription
openclaw skill create <name>Create new skill
openclaw skill listList all skills
openclaw skill enable <name>Enable skill
openclaw skill disable <name>Disable skill
openclaw skill delete <name>Delete skill
openclaw skill run <name>Execute skill manually

Skill Structure

# skills/summarize-pr.yaml
name: summarize-pr
description: Summarize GitHub PRs
triggers:
  - github.pull_request.opened
model: claude-3.5-sonnet
prompt: |
  Summarize this pull request in 3 bullet points:
  {{event.pull_request.title}}
  {{event.pull_request.body}}
actions:
  - type: comment
    target: github
    message: "{{response}}"

---

Cron Jobs (Scheduled Tasks)

Manage Cron Jobs

CommandDescription
openclaw cron add <schedule> <command>Add cron job
openclaw cron listList all cron jobs
openclaw cron remove <id>Remove cron job
openclaw cron enable <id>Enable cron job
openclaw cron disable <id>Disable cron job

Examples

# Daily standup reminder
openclaw cron add "0 9   1-5" "send-message 'Daily standup in 30 mins!'"

Weekly dependency check

openclaw cron add "0 10 1" "run-skill check-outdated-deps"

Hourly health check

openclaw cron add "0 " "run-skill monitor-api-health"

Cron Schedule Format

    *
│ │ │ │ │
│ │ │ │ └─ Day of week (0-7, Sun=0 or 7)
│ │ │ └─── Month (1-12)
│ │ └───── Day of month (1-31)
│ └─────── Hour (0-23)
└───────── Minute (0-59)

---

Events & Triggers

Trigger Event Manually

# Trigger immediate event
openclaw system event --text "Deploy completed" --mode now

Trigger delayed event

openclaw system event --text "Check deploy status" --mode delay --delay 300

Trigger with custom data

openclaw system event --data '{"repo": "myapp", "branch": "main"}' --mode now

Event Types

  • github.* — GitHub webhooks (PR opened, issue created, etc.)
  • gitlab.* — GitLab webhooks
  • slack.* — Slack events (message, reaction, etc.)
  • cron.* — Scheduled cron jobs
  • custom.* — Custom user events
---

Channels (Notifications)

Configure Channels

# Add Slack channel
openclaw channel add slack \
  --webhook https://hooks.slack.com/... \
  --name engineering

Add Discord

openclaw channel add discord \ --webhook https://discord.com/api/webhooks/... \ --name alerts

Add Email

openclaw channel add email \ --smtp smtp.gmail.com \ --from bot@example.com \ --to team@example.com

List Channels

openclaw channel list

Send Message to Channel

openclaw channel send slack-engineering "Build completed! ✅"

---

Memory System

OpenClaw agents have persistent memory across conversations.

Manage Memory

CommandDescription
openclaw memory set <key> <value>Store key-value pair
openclaw memory get <key>Retrieve value
openclaw memory delete <key>Delete key
openclaw memory listList all memory entries
openclaw memory clearClear all memory

Examples

# Store project context
openclaw memory set project-status "in-development"
openclaw memory set last-deploy "2026-03-02T10:30:00Z"

Use in skills

openclaw memory get project-status

---

Plugins

Manage Plugins

CommandDescription
openclaw plugin install <name>Install plugin
openclaw plugin uninstall <name>Uninstall plugin
openclaw plugin listList installed plugins
openclaw plugin enable <name>Enable plugin
openclaw plugin disable <name>Disable plugin

Popular Plugins

  • github — GitHub integration (webhooks, API)
  • gitlab — GitLab integration
  • slack — Slack bot and webhooks
  • discord — Discord bot
  • jira — Jira issue tracking
  • linear — Linear issue tracking
  • sentry — Error monitoring
  • datadog — Metrics and monitoring
---

Configuration File

Location: ~/.openclaw/config.yaml

Example config.yaml

# Gateway settings
gateway:
  port: 8080
  host: 0.0.0.0
  log_level: info

AI models

models: default: claude-3.5-sonnet providers: anthropic: api_key: sk-ant-... openai: api_key: sk-...

Channels

channels: slack-engineering: type: slack webhook: https://hooks.slack.com/... email-alerts: type: email smtp: smtp.gmail.com from: bot@example.com

Plugins

plugins: github: enabled: true token: ghp_... slack: enabled: true bot_token: xoxb-...

Memory

memory: backend: sqlite # or redis, postgres path: ~/.openclaw/memory.db

---

Examples

Auto-Review PRs

# skills/pr-review.yaml
name: pr-review
description: Automatically review pull requests
triggers:
  - github.pull_request.opened
model: claude-3.5-sonnet
prompt: |
  Review this pull request:
  Title: {{event.pull_request.title}}
  Files changed: {{event.pull_request.changed_files}}
  Diff: {{event.pull_request.diff}}

Provide: 1. Code quality assessment 2. Potential bugs 3. Suggestions for improvement actions: - type: comment target: github message: "{{response}}"

Daily Standup Reminder

# Add cron job
openclaw cron add "0 9   1-5" "run-skill daily-standup-reminder"

Skill: skills/daily-standup-reminder.yaml

name: daily-standup-reminder description: Send daily standup reminder model: gpt-4-turbo prompt: | Generate a friendly reminder for daily standup. Include: - Meeting link: https://meet.google.com/xyz - What to prepare: updates, blockers, plans actions: - type: send channel: slack-engineering message: "{{response}}"

Monitor API Health

# skills/monitor-api-health.yaml
name: monitor-api-health
description: Check API health and alert if down
triggers:
  - cron.hourly
actions:
  - type: http
    url: https://api.example.com/health
    method: GET
  - type: evaluate
    condition: "{{http.status}} != 200"
    actions:
      - type: send
        channel: slack-alerts
        message: "🚨 API is down! Status: {{http.status}}"

---

Tips & Best Practices

Skills

  • Keep skills focused and composable
  • Use clear, descriptive names
  • Test skills manually before enabling triggers

Cron Jobs

  • Use cron for reminders, checks, and reports
  • Avoid high-frequency cron (< 5 min intervals)
  • Monitor cron job execution in logs

Integrations

  • Prefer tool-first integrations (plugins) over custom scripts
  • Use webhooks for real-time events
  • Store secrets in env vars or config, not in skill files

Memory

  • Use memory for cross-conversation context
  • Clean up old memory entries periodically
  • Use structured keys (e.g., project:status, deploy:last-timestamp)
---

Troubleshooting

Gateway Won't Start

# Check port availability
lsof -i :8080

Check logs

openclaw logs --level error

Run diagnostics

openclaw doctor

Skill Not Triggering

# Check skill is enabled
openclaw skill list

Verify trigger configuration

cat ~/.openclaw/skills/skill-name.yaml

Check event logs

openclaw logs --follow

Plugin Issues

# Reinstall plugin
openclaw plugin uninstall github
openclaw plugin install github

Check plugin config

openclaw configure plugins

View plugin logs

openclaw logs --filter plugin=github

---

Resources

  • Official Docs: https://openclaw.dev/docs
  • GitHub: https://github.com/openclaw/openclaw
  • Community: https://discord.gg/openclaw
  • Examples: https://github.com/openclaw/examples