
Ce Debug
Run a causal-chain investigation before patching when tests fail, stack traces appear, or issue-tracker bugs need a verified root cause and fix.
Install
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-debugWhat is this skill?
- Investigate-before-fix gate: full trigger-to-symptom chain with no guessed links
- Prediction checks for non-obvious causal links to avoid symptom-only fixes
- One-hypothesis-at-a-time changes instead of shotgun edits
- Accepts issue refs, stack traces, error messages, and test paths as arguments
- Optional implement-and-verify path with test-first discipline after root cause is proven
Adoption & trust: 1.6k installs on skills.sh; 20.5k GitHub stars; 1/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Canonical shelf is Ship because solo builders most often invoke this while verifying behavior—failing tests, repro steps, and pre-release defect hunts—before changes reach production. Testing subphase matches test-failure debugging, reproduction, and test-first fix discipline described in the skill.
Common Questions / FAQ
Is Ce Debug safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Ce Debug
# Debug and Fix Find root causes, then fix them. This skill investigates bugs systematically — tracing the full causal chain before proposing a fix — and optionally implements the fix with test-first discipline. <bug_description> #$ARGUMENTS </bug_description> ## Core Principles 1. **Investigate before fixing.** Do not propose a fix until you can explain the full causal chain from trigger to symptom with no gaps. "Somehow X leads to Y" is a gap. 2. **Predictions for uncertain links.** When the causal chain has uncertain or non-obvious links, form a prediction — something in a different code path or scenario that must also be true. If the prediction is wrong but a fix "works," you found a symptom, not the cause. When the chain is obvious (missing import, clear null reference), the chain explanation itself is sufficient. 3. **One change at a time.** Test one hypothesis, change one thing. If you're changing multiple things to "see if it helps," stop — that is shotgun debugging. 4. **When stuck, diagnose why — don't just try harder.** ## Execution Flow | Phase | Name | Purpose | |-------|------|---------| | 0 | Triage | Parse input, fetch issue if referenced, proceed to investigation | | 1 | Investigate | Reproduce the bug, trace the code path | | 2 | Root Cause | Form hypotheses with predictions for uncertain links, test them, **causal chain gate**, smart escalation | | 3 | Fix | Only if user chose to fix. Test-first fix with workspace safety checks | | 4 | Handoff | Structured summary, then prompt the user for the next action | Beyond the trivial-bug fast-path in Phase 0, no further phase skipping — complex bugs simply spend more time in each phase naturally. No further complexity tiers. --- ### Phase 0: Triage Parse the input and reach a clear problem statement. **If the input references an issue tracker**, fetch it: - GitHub (`#123`, `org/repo#123`, github.com URL): Parse the issue reference from `<bug_description>` and fetch with `gh issue view <number> --json title,body,comments,labels`. For URLs, pass the URL directly to `gh`. - Other trackers (Linear URL/ID, Jira URL/key, any tracker URL): Attempt to fetch using available MCP tools or by fetching the URL content. If the fetch fails — auth, missing tool, non-public page — ask the user to paste the relevant issue content. Ensure the fetch includes the full comment thread, not just the opening description. Read the full conversation — the original description AND every comment, with particular attention to the latest ones. Comments frequently contain updated reproduction steps, narrowed scope, prior failed attempts, additional stack traces, or a pivot to a different suspected root cause; treating the opening post as the whole picture often sends the investigation in the wrong direction. Extract reported symptoms, expected behavior, reproduction steps, and environment details from the combined thread. Then proceed to Phase 1. **Everything else** (stack traces, test paths, error messages, descriptions of broken behavior): the problem statement is the input itself. **Trivial-bug fast-path:** Once the problem is clear, decide whether the framework is needed at all. If the cause is immediately readable from the input (single-file typo, missing import, obvious null deref or off-by-one with a one-line fix) and verification doesn't require deep tracing, present the cause and the proposed one-line fix and run Phase 2's **Fix it now / Diagnosis only** user-cho