npx skills add ...
npx skills add adhi-jp/agent-skills --skill vibe-debug
Use when debugging or repairing existing features from rough agent-assisted coding reports, regressions, failed prior fixes, repeated "still broken" feedback, source-only debugging stalls, unobserved runtime state, tool or automation failures, environment-specific failures, runtime artifact mismatches, security boundary surprises, or fixes that feel wrong.
npx skills add adhi-jp/agent-skills --skill vibe-debug
Turn rough reports about existing features into verified repairs. Preserve the user's wording as evidence of experience, not proof of root cause. This workflow is self-contained; use available specialist capabilities only when helpful. Greenfield work, pure review, and history-only operations belong elsewhere.
Inspect available evidence before asking questions; ask only what changes the repair, proof, scope, or accepted risk. Treat free-text corrections to offered options as changed intent, not as the closest original option.
When the user reports a concrete runtime regression during other work or while adjacent findings are pending, make it the exclusive primary symptom until it is fixed, not reproduced, deferred, accepted as residual, or blocked. Keep adjacent findings in the ledger and outside the patch unless they share the proven cause and verification path. For that primary symptom, identify the reproduction or first failing proof, hypothesis, minimal patch envelope, positive and negative sentinels, and last verified checkpoint.
Before implementing, name the smallest repair that closes the reported symptom and its footprint: surfaces, interfaces or invocations changed, and new components. Leave out additional guards and fixes unless their case is required, reachable in normal use, or a data-loss, security, or core-path risk, naming any you leave out in the report. When another candidate's footprint differs materially, present both with impact and ask before starting the larger; recommend the smaller by default. Consultant or reviewer agreement informs that question; it does not answer it.
Write nothing beyond what the phase's declared effect class and boundary permit.
sed -i, tee, mv, cp, rm, git checkout --) as well as file tools; report a refused write as a boundary stop and never retry it through another tool.The repair scope is its minimal patch, proof, temporary instrumentation and
cleanup, and the supporting records below. Retained instrumentation needs the
user's explicit opt-in, and unsupported privacy or cost claims block it; the
retention contract is in references/probe-escalation.md.
At phase start check docs/decisions/README.md and
docs/reports/findings/README.md (or existing repository indexes) for applicable
entries. Read references/durable-records.md only when applying, recording,
deferring, or handing a record forward. This phase may write docs/decisions/
and docs/reports/findings/, or their existing repository equivalents.
For one simply reproduced symptom, report symptom, expected behavior, verified
cause, fix, and proof directly. When the response precedes a repair, such as a
diagnosis plan or next actions, name the expected-behavior source to consult, or
say none is known, and a fast observation that could disprove the preferred
cause. Use references/debug-ledger.md for recurrent,
multi-symptom, multi-environment, long-running, interrupted, or user/runtime-retest
diagnosis. Show compact rows for unresolved symptoms, hypotheses, tool failures,
and closure decisions; a question alone does not replace that record.
If the reported artifact or tool is absent, use prompt evidence and name the blocker; do not substitute a nearby fixture based on a shared domain term.
When independent hypotheses need bounded read-only investigation and delegation is available, fan them out. Give each investigator one hypothesis-shaped question and require source-backed evidence or a blocker. Keep mutations, probes, user retests, and ledger ownership with the coordinator.
Treat delegated output as a claim, never as proof, until the coordinating phase verifies it.
Unproven and advisory: it carries no verified label, enters a ledger only as evidence toward a hypothesis, and is not dispositioned.Choose a model for each delegated unit by capability and context fit, never by hard-coded name.
After verification, review the repair's scope, preservation proof, and remaining findings before claiming closure. Use a matching review capability if available; otherwise review it here. Resolve material findings and rerun affected proof, or record them as deferred, accepted residual, or blocked.
Only an explicit user request, a bound plan item, or the workflow's own verified checkpoint selects a commit.
filter-* rewrite, or scripted multi-commit replay; a commit request or checkpoint never grants it, and published history is shared.Example: "the user asked for a commit this turn" names a source; "this is a good stopping point" does not.
Exception: a current no-commit instruction, a bound plan that forbids commits, or project policy suspends the default; leave the verified changes in the working tree and report why.
The checkpoint unit is the proven repair. Do not ask about commit policy at startup. Perform no history operations beyond that unit's closure, which may fold the repair into the unpublished commit it fixes.
Before source edits or final repair claims, read references/debug-workflow.md
for the evidence-first loop. Load other references at these triggers:
references/debug-ledger.md: complex diagnosis, repeated failed attempts, or closure statuses.references/source-routing.md: unfamiliar external contracts or tool failure.references/state-space-matrix.md: non-trivial preservation and regression scope.references/probe-escalation.md: bounded triage cannot distinguish live-state hypotheses.references/verification-handoff.md: runtime artifacts, degraded proof, or user retests.references/continuity-and-recurrence.md: interruption, resumption, or recurrence.references/durable-records.md: the record operations named above.Pause implementation when a material expected-behavior source, existing-behavior
dimension, artifact, tool, or observation path is missing and no credible
alternate proof or explicitly accepted residual resolves it. Explain the user
impact and ask only the smallest decision needed. For repeated failed repairs or
same-class review findings after a correction, apply the stop rule in
references/debug-ledger.md before another patch.
This covers a change the user will apply. When verifying its load-bearing
premise is blocked (tool denial, classifier refusal, missing access), the change
is blocked: present the premise, its impact if false, and the rollback, and get
explicit acceptance before asking the user to install it. A changed tool
invocation across a permission or sandbox boundary is proven only with
representative real inputs in its real invocation context, never a proxy
harness; prefer a repair that adds none.
Give each current-scope item a closure status with proof or the remaining gap;
references/debug-ledger.md defines the statuses. Record deferred, accepted
residual, and blocked items in findings reports, and cross-unit rules in decision
records. Apply the self-review and commit gates above. Runtime closure also
requires the freshness, retest, and diagnostic-cleanup checks in the applicable
references; skipped checks never count as proof.