debug-issuelisted
Install: claude install-skill n24q02m/claude-plugins
# Debug Issue
Systematic debugging using domain-specific decision trees. Start by identifying the symptom category, then follow the corresponding tree.
## Category Detection
Map user's symptom to the right tree:
| Symptom keywords | Category |
|---|---|
| "pass through", "no collision", "overlap", "stuck", "slides off" | Physics |
| "signal not firing", "not connected", "callback not called" | Signals |
| "invisible", "not showing", "behind", "flickering", "wrong color" | Rendering |
| "not moving to target", "path wrong", "stuck on nav", "no path" | Navigation |
| "key not working", "input ignored", "wrong button", "double input" | Input |
## Physics Decision Tree
Check in this order -- each step is the most common cause at that point:
1. **Collision layer/mask mismatch** (most common):
- Check defined layer names: `physics(action="layers")`
- Check node properties:
```
nodes(action="get_property", scene_path="<scene>.tscn", name="<body>", property="collision_layer")
nodes(action="get_property", scene_path="<scene>.tscn", name="<body>", property="collision_mask")
```
- Rule: Object A detects Object B only if A's `collision_mask` has a bit that matches B's `collision_layer`. Both must be set correctly.
2. **Missing CollisionShape2D/3D**:
- Inspect the scene tree: `scenes(action="info", scene_path="<scene>.tscn")`
- Verify every physics body and Area has a CollisionShape child. A body without a shape = invisible to physics.
3. **Wron