Root cause analysis for debugging. Use when bugs, test failures, or unexpected behavior have non-obvious causes, or after multiple fix attempts have failed.
Core principle: Find root cause before attempting fixes. Symptom fixes are failure.
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
BEFORE attempting ANY fix:
Read Error Messages Carefully
Reproduce Consistently
Check Recent Changes
Gather Evidence in Multi-Component Systems
WHEN system has multiple components (CI → build → signing, API → service → database):
Add diagnostic instrumentation before proposing fixes:
For EACH component boundary:
- Log what data enters/exits component
- Verify environment/config propagation
- Check state at each layer
Run once to gather evidence → analyze → identify failing component
Example:
# Layer 1: Workflow
echo "=== Secrets available: ==="
echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
# Layer 2: Build script
env | grep IDENTITY || echo "IDENTITY not in environment"
# Layer 3: Signing
security find-identity -v
Trace Data Flow
See references/root-cause-tracing.md for backward tracing technique.
Quick version: Where does bad value originate? Trace up call chain until you find the source. Fix at source.
Create Failing Test Case
test-driven-development skillImplement Single Fix
Verify Fix
If Fix Doesn't Work
Pattern indicating architectural problem:
Action: STOP. Question fundamentals:
Discuss with human partner before more fix attempts. This is wrong architecture, not failed hypothesis.
If you catch yourself thinking:
Response: Return to Phase 1.
Reference files in references/:
root-cause-tracing.md - Trace bugs backward through call stackdefense-in-depth.md - Add validation at multiple layers after finding root causecondition-based-waiting.md - Replace arbitrary timeouts with condition pollingRelated skills:
test-driven-development - Creating failing test case (Phase 4)verification-before-completion - Verify fix before claiming successSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer