OpenClaw Docs Search + Config Patterns

v1.1.0

MANDATORY before any openclaw.json changes. Prevents config breakage via embedded anti-patterns and correct patterns. Use when configuring OpenClaw (bindings, channels, sessions, cron, heartbeat) or troubleshooting config issues.

0· 1.3k· 5 versions· 3 current· 3 all-time· Updated 7h ago· MIT-0

Install

openclaw skills install search-openclaw-docs

OpenClaw Documentation Search + Config Patterns

MANDATORY before changing openclaw.json - Embedded patterns prevent silent config breakage.

Two modes:

  1. Embedded references (instant) - Common config patterns with anti-patterns
  2. Doc search (fallback) - Full OpenClaw documentation index

🚨 CRITICAL: Read AGENTS.md First

Before using this skill:

cat ~/.openclaw/skills/search-openclaw-docs/AGENTS.md

Contains:

  • Mandatory workflow for config changes
  • Decision tree (which reference to read)
  • Critical anti-patterns overview
  • When NOT to use this skill

Decision Tree

TaskAction
Adding/removing agent bindingsRead references/config-bindings.md
Enabling/disabling channelsRead references/config-channel-management.md
Session reset tuningRead references/config-session-reset.md
Heartbeat configurationRead references/config-heartbeat.md
Cron job setupRead references/config-cron.md
Config broke after patchRead references/troubleshooting-config-breaks.md
Best practices overviewRead references/best-practices-config.md
Migration (2026.2.9)Read references/migration-2026-2-9.md
Other config questionsSearch docs (see below)

Embedded References (8 files)

Config Patterns:

  • config-bindings.md - Agent routing (CRITICAL)
  • config-channel-management.md - Enable/disable channels (CRITICAL)
  • config-session-reset.md - Session lifetime policies (HIGH)
  • config-heartbeat.md - Proactive monitoring (MEDIUM)
  • config-cron.md - Scheduled tasks (MEDIUM)

Support:

  • troubleshooting-config-breaks.md - Fix broken configs (CRITICAL)
  • best-practices-config.md - Safe patterns (HIGH)
  • migration-2026-2-9.md - Version updates (MEDIUM)

Each reference contains:

  • ✅ Correct pattern
  • ❌ Common anti-patterns
  • Why it breaks
  • Examples

When to Use

ScenarioAction
Before editing openclaw.json✅ Read relevant reference first
Config changes not working✅ Read troubleshooting reference
Learning OpenClaw config✅ Read best practices reference
Personal memory/context❌ Use memory_search instead
Supabase/database work❌ Use supabase-postgres-best-practices
Next.js code patterns❌ Use next-best-practices

Doc Search (Fallback)

For topics not in references, search full docs:

# Search
node ~/.openclaw/skills/search-openclaw-docs/scripts/docs-search.js "discord requireMention"

# Check index health
node ~/.openclaw/skills/search-openclaw-docs/scripts/docs-status.js

# Rebuild (after OpenClaw update)
node ~/.openclaw/skills/search-openclaw-docs/scripts/docs-index.js rebuild

Usage Examples

# Config question
node scripts/docs-search.js "discord requireMention"

# Troubleshooting  
node scripts/docs-search.js "webhook not working"

# More results
node scripts/docs-search.js "providers" --top=5

# JSON output
node scripts/docs-search.js "heartbeat" --json

Output Format

🔍 Query: discord only respond when mentioned

🎯 Best match:
   channels/discord.md
   "Discord (Bot API)"
   Keywords: discord, requiremention
   Score: 0.70

📄 Also relevant:
   concepts/groups.md (0.66)

💡 Read with:
   cat /usr/lib/node_modules/openclaw/docs/channels/discord.md

How It Works

  • FTS5 keyword matching on titles, headers, config keys
  • Handles camelCase terms like requireMention
  • Porter stemming for flexible matching
  • No network calls - fully offline

Index Location

  • Index: ~/.openclaw/docs-index/openclaw-docs.sqlite
  • Docs: /usr/lib/node_modules/openclaw/docs/

Index is built locally from your OpenClaw version.

Troubleshooting

No results / wrong results

# 1. Check index exists
node scripts/docs-status.js

# 2. Rebuild if stale
node scripts/docs-index.js rebuild

# 3. Try exact config terms (camelCase matters)
node scripts/docs-search.js "requireMention"

# 4. Try broader terms
node scripts/docs-search.js "discord"

Integration

const { search } = require('./lib/search');
const INDEX = process.env.HOME + '/.openclaw/docs-index/openclaw-docs.sqlite';

const results = await search(INDEX, "discord webhook");
// results[0].path → full path to read

Version tags

latestvk973qa9a2ds28gymttn6yfewzn8106ra

Runtime requirements

📚 Clawdis
Binsnode