debugging
Systematic debugging — find root cause before attempting fixes, 4-phase investigation process
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Systematic debugging — find root cause before attempting fixes, 4-phase investigation process
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Handle cross-platform compatibility including file paths, environment detection, platform-specific dependencies, and testing across Windows, macOS, and Linux. Use when dealing with platform-specific code or OS compatibility.
Use when creating, modifying, debugging, or scaffolding OMP extensions, slash commands, custom tools, event hooks, TUI primitives, ExtensionAPI integrations, .omp/extensions, .omp/commands, .omp/tools, package.json omp.extensions, or OMP lifecycle handlers.
Design Director state machine for `/supi:ui-design`. Drives 9 model-owned phases from scope selection through user review, producing a validated HTML mockup artifact.
Guides the harness-engineering pipeline — turn a codebase into one that resists agentic slop with agent-neutral docs, mechanically enforced architecture, and three runtime guardrails
Gray-area extraction stage — surfaces decisions the user must make before the plan can be authored, without expanding scope
Structured extraction of the user's seed prompt into a typed intake artifact — first stage of the UltraPlan authoring pipeline
| name | debugging |
| description | Systematic debugging — find root cause before attempting fixes, 4-phase investigation process |
Find the root cause before touching the code. Every fix without a verified root cause is a coin flip.
| Aspect | Detail |
|---|---|
| Trigger | Bug report, failing test, unexpected behavior, error message |
| Input | Error output, stack trace, user report, failing test, or observed misbehavior |
| Output | Root-cause statement, minimal fix, regression test, verification evidence |
| Gate rule | You MUST complete Phase 1 before proposing any fix |
| Escalation | After 3 failed fix attempts → stop, reassess architecture with human partner |
| Phase | Goal | Gate (exit when true) |
|---|---|---|
| 1. Investigate | Identify root cause | Root cause stated as a falsifiable claim |
| 2. Analyze | Confirm via pattern comparison | Difference between working and broken code documented |
| 3. Hypothesize | Single testable prediction | Hypothesis written as "Changing [X] produces [Y] because [Z]" |
| 4. Fix | Minimal correct change | Failing test passes, no regressions |
git diff, new dependencies, config changes — narrow the blast radius.Gate: State the root cause as a single sentence before moving on.
BAD (skipping investigation):
"TypeError: Cannot read property 'id' of undefined"
→ "I'll add a null check on line 42."
GOOD (investigating):
"TypeError: Cannot read property 'id' of undefined at UserService.getProfile:42"
→ git diff shows fetchUser was changed yesterday to return { data: user } instead of user
→ Line 42 reads `user.id` but now receives the wrapper object
→ Root cause: fetchUser response shape changed; callers were not updated
BAD:
"Something is wrong with the config."
GOOD:
"Changing `loadConfig` to parseInt(env.TIMEOUT) will fix the 'NaN' comparison
because env vars are strings and the timeout check uses numeric comparison."
= 3 attempts → STOP. Reassess the architecture. Discuss with human partner.
| MUST DO | MUST NOT DO |
|---|---|
| Complete Phase 1 before proposing any fix | Skip to a fix from a stack trace alone |
| State root cause as a falsifiable claim | Propose a vague cause ("something in config") |
| Write a failing test before fixing | Skip the test and manually verify |
| Change one variable at a time | Stack multiple speculative changes |
| Escalate after 3 failed attempts | Say "one more fix attempt" after 2+ failures |