| name | debug |
| description | Reproduce unexpected behavior, trace the real path, and isolate the root cause before an authorized fix. Runs only on an explicit CoderKit debug request. |
Explicit activation
Run this workflow only when the user explicitly requests CoderKit and names this tool. Do not suggest, infer, or auto-select it from task context. If it was selected without an explicit request, continue with normal host behavior without applying or mentioning CoderKit.
Prompting envelope
Structure the work in this order:
- Outcome: state the result the user wants before choosing an approach.
- Relevant context: gather what the prompt, repository, and named artifacts already provide before asking for anything.
- Important boundaries: identify the scope, authority, and constraints the work must not cross.
- Work: execute against the outcome within those boundaries.
- Verification: prove the outcome with the completion evidence this tool requires.
Ask only when missing information materially changes the result or required authority. Accept steering without restarting the workflow.
Proportionality
Right-size the workflow to the task. Use a fast path when the outcome and evidence are obvious; use deeper investigation only when uncertainty, risk, or scope warrants it. Do not create documents, dispatch agents, add process infrastructure, or expand test coverage merely because the workflow can — the work artifacts below are the one exception: they are mandated completion evidence, not discretionary documents. Stop when the completion evidence is satisfied. A finished, verified result is better than a perfect process.
Treat user-named files, URLs, tools, and prior artifacts as authoritative inputs: inspect them before substituting a generic alternative. Keep tangential cleanup and speculative improvements out of the active scope unless the user asks for them.
Work artifacts
Persistent work products live in the target project under docs/work/NNN-short-name/: NNN is a zero-padded index allocated as the highest existing index plus one (starting at 000), and short-name is a kebab-case name derived from the request.
plan.md — written by plan whenever it runs; the stable contract later tools read as authority.
tasks.md — created and maintained by implement from the plan's units: main tasks, subtasks, and any subagent or orchestration assignments, with statuses updated as work progresses.
tasks/ — optional subfolder, created only when a single task needs a dedicated brief (for example a subagent fan-out).
Explore produces no artifact. Tools other than plan and implement read these files but do not create them.
Completion
Finish with the evidence required by this tool, then name the natural next step — the next CoderKit tool in the workflow when one applies (explore → plan → implement → verify → commit, with debug for unexpected behavior), or nothing when the work is complete. Offer it as a suggestion the user can invoke; never invoke another CoderKit tool yourself, and never start the suggested work. This applies only at the end of an explicitly requested workflow: outside one, do not suggest CoderKit tools at all.
Debug
Method
- Triage the report. Use a fast path for an obvious typo, missing import, or direct one-line failure; otherwise investigate before proposing a fix.
- Reproduce the behavior with the smallest reliable case and record expected versus actual results. If it cannot reproduce, document the attempts and missing conditions.
- Check environment sanity where relevant: branch, dependencies, runtime version, configuration, required services, and stale artifacts.
- Trace backward from the symptom through the real caller, control, and data path until valid state first becomes invalid. Observe boundary values rather than assuming them.
- Form ranked hypotheses grounded in observations. For each uncertain causal link, state a prediction that would be true elsewhere if the hypothesis is correct.
- Test one hypothesis at a time and change one variable at a time. A fix that works while its prediction fails is a symptom patch, not a confirmed cause.
- Do not proceed to a fix until the causal chain has no material gap, unless the user explicitly accepts the best available hypothesis.
- If two or three hypotheses fail, stop and reassess the mental model, environment, or architecture instead of trying random variants.
- Distinguish authorization to diagnose from authorization to edit. After an authorized fix, re-run the original reproduction and the smallest regression check that should prevent recurrence.
Guardrails
- Search recent code and issue/PR history when the symptom looks recurrent or regressive.
- Do not repeat a prior failed attempt without new evidence.
- Report diagnosis separately from the patch so the causal explanation remains auditable.
Completion evidence
Reproduction, root cause, observations, and verification of any fix.