Use when the user wants to inspect, repair, package, or troubleshoot an OpenClaw workspace doctor setup, especially for stale bootstrap state, missing daily...
编程
deep-diagnostic-procedure-public
试用Systematic 6-layer diagnostic framework for OpenClaw issues: policy, config, runtime, logs, network, code.
它能做什么
Systematic 6-layer diagnostic framework for OpenClaw issues: policy, config, runtime, logs, network, code.
技能文档
Deep Diagnostic Procedure for OpenClaw Issues
When to Use
- A tool, channel, or feature isn't working as expected
- Symptoms persist after "obvious" fixes
- You're tempted to blame an external component without evidence
- You've restarted the gateway more than twice and the problem persists
Core Principles
- Don't conclude from first impression. "It's probably X" is a hypothesis, not a diagnosis.
- Investigate in layers, from closest to the problem to farthest.
- Evidence, not assumptions. Every hypothesis must be verified with logs, config, or code.
- One real cause is more likely than three coincidental ones.
- Policy before plumbing. Permission/config issues cause more outages than network bugs.
Investigation Layers (In Order)
Layer 1 — Policy & Permissions (MOST OVERLOOKED)
- What does
tools.profileremove? Check withopenclaw config get tools.profile - Are the required tools in the allowed list or blocked?
- Channel-specific policies:
dmScope,allowFrom,groupPolicy - Cross-context restrictions (e.g., messaging across channels denied)
- Exec security, host approvals, elevated permissions
Key question: "Does the agent actually HAVE ACCESS to the tool/channel it needs?"
💡 Real-world lesson: Weeks spent debugging outbound message delivery. Root cause?
tools.profilesilently removed themessagetool from the agent's session. The agent literally couldn't send — nothing to do with the external library, DNS, or connection.
Layer 2 — Configuration
- Is the config correct in
openclaw.json? Verify withopenclaw config get - Empty values, missing keys, or defaults that should be explicit?
- Format correctness (e.g., phone numbers with/without
+) - Plugins and skills enabled correctly?
Key question: "Is it configured the way it should be, not the way I assume it is?"
Layer 3 — Runtime & State
- Is the gateway running?
openclaw gateway status - Are channels connected?
openclaw channels status --probe - Is there an active listener for the target channel?
- Are sessions active and routed correctly?
- Are tokens/credentials valid?
Key question: "Is everything actually running and connected RIGHT NOW?"
Layer 4 — Logs & Errors
- Run
openclaw logs --followwhile reproducing the issue - Enable verbose logging temporarily
- Capture the EXACT error message (not a summary)
- Note the timeline: when does the error appear relative to the action?
Key question: "What is the system TELLING US is wrong?"
Layer 5 — Network & External Services
- Does DNS resolve? (Only if symptoms point to network)
- Can you reach external services (Ollama, Groq, GitHub, etc.)?
- Firewall or proxy blocking?
- Latency or timeout issues?
Key question: "Is the problem OUTSIDE of OpenClaw?"
Layer 6 — Code & Plugin Internals
- Audit the plugin code (trace the data flow)
- Map the full path: input → processing → output
- Look for silent failure points (try/catch that swallows errors)
- Check plugin version compatibility with OpenClaw version
Key question: "Where exactly in the code does the flow stop?"
Execution Procedure
1. Write down the precise symptom: "When I do X, Y happens instead of Z"
2. Layers 1-3: Quick verification (target: 10 minutes total)
3. Layer 4: Enable logs, reproduce the problem, capture errors
4. Form primary hypothesis → verify with evidence
5. If hypothesis doesn't confirm → move to next layer
6. Layers 5-6 only if 1-4 reveal nothing
7. Document: CAUSE → EVIDENCE → SOLUTION
Anti-Patterns (WHAT NOT TO DO)
- ❌ "It's probably [external component]" without evidence
- ❌ Restarting as diagnosis (hides the problem, doesn't fix it)
- ❌ "I've seen this before" without verifying it's the same cause
- ❌ Investigating only one layer (e.g., only network)
- ❌ Concluding before checking policy & permissions
- ❌ Blaming the external component before checking internal config
Report Template
## Diagnostic: [Issue title]
**Symptom:** [Precise description]
**Initial hypothesis:** [What I thought first]
**Actual cause:** [What I found]
**Evidence:** [Log/config/code that confirms]
**Layers investigated:** [Which layers, in what order]
**Solution:** [What fixed it]
**Time wasted on wrong hypotheses:** [Estimate]
**Lesson:** [What to remember for next time]
Historical Cases
Case 1: Silent tool removal by tools.profile
- Symptom: Agent couldn't send messages to an external channel from another channel
- Initial hypothesis: External library bug, DNS issues, disconnection
- Actual cause:
tools.profilesetting silently removed themessagetool from the agent session - Evidence: Logs showed
tool policy removed N tool(s) via tools.profile: ...message... - Layers investigated: 6 (code) → 1 (policy) — WRONG ORDER, started from the end
- Solution: Changed
tools.profileto include themessagetool - Time wasted: Weeks (chasing DNS, re-linking, blaming external library)
- Lesson: ALWAYS check policy & permissions FIRST. It's the most overlooked layer and the most common cause of "silent" failures.
相关技能
Standalone advanced network diagnostics for OpenClaw to continuously test end-to-end connectivity from OpenClaw agent to Telegram Bot API and approximate del...
Diagnose, audit, and repair OpenClaw hosts when an agent, gateway, plugin, cron, model route, memory engine, channel, approval policy, or update looks broken...
Use when updating OpenClaw or debugging an OpenClaw instance after an update. This skill acts as a structured update runbook with emphasis on gateway startup...
按命令族和 profile 选择合适的 OpenClaw CLI 命令,并校验执行结果。
Deploy, diagnose, and operate an unattended GitHub-repo optimization loop for OpenClaw with multi-CLI failover, layered timeout controls, report-only audit g...