openclaw-admin

Manage and inspect the OpenClaw multi-agent gateway — list agents, check model health, view routing rules, manage crons, inspect context budgets, and run system diagnostics.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "openclaw-admin" with this command: npx skills add atiati82/openclaw-admin

OpenClaw Admin — Gateway Management Skill

Use this skill when you need to:

  • List or inspect active agents and their models
  • Check which Ollama models are running
  • View or modify routing rules, crons, or triggers
  • Inspect context budget allocations
  • Run gateway health diagnostics
  • Hot-reload the gateway after config changes

Config File Locations

FilePurpose
../openclaw.jsonMaster gateway config (agents, channels, scheduler, tools)
config/ROUTING.jsonDeterministic keyword → agent routing
config/CRONS.jsonScheduled jobs (heartbeat, reports)
config/TRIGGERS.jsonWebhook-triggered actions
config/CONTEXT_BUDGETS.jsonToken budgets per model
config/agents/*.mdAgent prompt files

Commands

List All OpenClaw Agents

cat ../openclaw.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
agents = data.get('agents', {})
print(f'{'ID':<20} {'Role':<35} {'Model':<45} {'Provider':<12} {'Enabled'}')
print('-' * 130)
for aid, a in agents.items():
    enabled = '❌' if a.get('enabled') == False else '✅'
    print(f'{aid:<20} {a.get(\"role\",\"\"):<35} {a.get(\"model\",\"\"):<45} {a.get(\"provider\",\"\"):<12} {enabled}')
print(f'\nTotal: {len(agents)} agents')
"

Check Ollama Models Running

ollama list 2>/dev/null || echo "Ollama not running"

List Active Crons

cat config/CRONS.json | python3 -c "
import json, sys
crons = json.load(sys.stdin)
print(f'{'Name':<30} {'Schedule':<20} {'Enabled'}')
print('-' * 60)
for c in crons:
    enabled = '✅' if c.get('enabled', False) else '❌'
    print(f'{c[\"name\"]:<30} {c[\"schedule\"]:<20} {enabled}')
"

List Routing Rules

cat config/ROUTING.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
routes = data.get('routes', [])
print(f'{'Route':<25} {'Primary Agent':<20} {'Keywords (first 5)'}')
print('-' * 80)
for r in routes:
    name = r.get('name', '')
    primary = r.get('agents', [''])[0] if r.get('agents') else ''
    keywords = ', '.join(r.get('keywords', [])[:5])
    print(f'{name:<25} {primary:<20} {keywords}')
print(f'\nTotal: {len(routes)} routes')
chains = data.get('chains', [])
if chains:
    print(f'\nChains: {len(chains)}')
    for c in chains:
        steps = ' → '.join(c.get('steps', []))
        print(f'  {c[\"name\"]}: {steps}')
"

View Context Budgets

cat config/CONTEXT_BUDGETS.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
models = data.get('models', {})
print(f'{'Model':<50} {'Window':<12} {'Budget':<10} {'Slot'}')
print('-' * 100)
for m, v in models.items():
    print(f'{m:<50} {v[\"context_window\"]:<12} {v[\"budget\"]:<10} {v.get(\"_slot\",\"\")}')
"

List Active Triggers

cat config/TRIGGERS.json | python3 -c "
import json, sys
triggers = json.load(sys.stdin)
print(f'{'Name':<25} {'Watch Path':<20} {'Enabled'}')
print('-' * 55)
for t in triggers:
    enabled = '✅' if t.get('enabled', False) else '❌'
    print(f'{t[\"name\"]:<25} {t.get(\"watch_path\",\"\"):<20} {enabled}')
"

Gateway Health Check (Full)

bash ./status.sh

Check Scheduled Jobs in openclaw.json

cat ../openclaw.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
jobs = data.get('plugins', {}).get('scheduler', {}).get('jobs', [])
print(f'{'Name':<30} {'Cron':<18} {'Timezone':<18} {'Enabled'}')
print('-' * 80)
for j in jobs:
    enabled = '❌' if j.get('enabled') == False else '✅'
    print(f'{j[\"name\"]:<30} {j[\"cron\"]:<18} {j.get(\"timezone\",\"\"):<18} {enabled}')
print(f'\nTotal: {len(jobs)} scheduled jobs')
"

Quick Agent Count Summary

echo "=== Agent Ecosystem Summary ==="
echo ""
echo "OpenClaw agents (openclaw.json):"
cat ../openclaw.json | python3 -c "import json,sys; d=json.load(sys.stdin); a=d['agents']; e=[k for k,v in a.items() if v.get('enabled')!=False]; print(f'  {len(e)} active / {len(a)} total')"
echo ""
echo "Routing agents (ROUTING.json):"
cat config/ROUTING.json | python3 -c "import json,sys; d=json.load(sys.stdin); print(f'  {len(d.get(\"routes\",[]))} routes, {len(d.get(\"chains\",[]))} chains')"
echo ""
echo "Crons (CRONS.json):"
cat config/CRONS.json | python3 -c "import json,sys; c=json.load(sys.stdin); e=[x for x in c if x.get('enabled')]; print(f'  {len(e)} active / {len(c)} total')"
echo ""
echo "Triggers (TRIGGERS.json):"
cat config/TRIGGERS.json | python3 -c "import json,sys; t=json.load(sys.stdin); e=[x for x in t if x.get('enabled')]; print(f'  {len(e)} active / {len(t)} total')"
echo ""
echo "Ollama models:"
ollama list 2>/dev/null | tail -n +2 | wc -l | xargs -I{} echo "  {} models loaded"
echo ""
echo "Skills:"
ls -d skills/*/ 2>/dev/null | wc -l | xargs -I{} echo "  {} skills installed"

Rules

  • Always use python3 -c for JSON parsing — never use jq (not guaranteed installed).
  • All config paths are relative to the clawdbot/ workspace root.
  • openclaw.json is one level up at ../../openclaw.json (relative to skill dir) or ../openclaw.json (relative to workspace).
  • Never modify openclaw.json without explicit user approval.
  • When reporting agent status, always distinguish between OpenClaw agents and ROUTING.json agents — they are separate systems.
  • After any config modification, remind the user to hot-reload: the gateway picks up changes on next request, or restart with npx thepopebot.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Chrome Use

Use chrome-use when standard web access (fetch/web search) fails due to Cloudflare challenges, CAPTCHAs, JavaScript-rendered content, or bot detection — or w...

Registry SourceRecently Updated
Automation

Agentchat Skill Publish

The messaging platform for AI agents. Send DMs, join groups, manage contacts, and check presence.

Registry SourceRecently Updated
Automation

Draft0

Official skill for interacting with Draft0, the Medium for Agents.

Registry SourceRecently Updated
Automation

ifly-pdf-image-ocr

ifly-pdf&image-ocr skill supporting both image OCR (AI-powered LLM OCR) and PDF document recognition. Use when user asks to OCR images, extract text from ima...

Registry SourceRecently Updated