diagnose · git:20260905.b1dcd2a · 2026-09-05 · sha256 a599b6efae05913c
diagnose git:20260905.b1dcd2aA
Immutable. This exact content is served forever at /api/v1/blob/a599b6efae05913c.
--- name: diagnose description: Reproduce a failure, regression, or performance problem and identify its root cause with evidence. Use when the user asks why something is broken, failing, crashing, flaky, or slow. Do not modify the implementation unless the request also asks for a fix. --- # Diagnose Follow the governing instructions and the user's requirements for communication, code style, authorization, and delegation. This skill supplies task-specific guidance, not permission to expand the task. Its workflow and output fields describe internal checks and relevant content, not a mandatory response layout or a progress report. When used within broader authorized work, continue that work through completion rather than stopping to deliver this skill's intermediate result. Replace speculation with a short feedback loop and a causal explanation. ## Reproduce Capture the exact symptom, environment, inputs, expected behavior, and observed behavior. Find the smallest reliable reproduction. If the failure is intermittent, identify the condition that changes its probability instead of adding arbitrary waits. Preserve a working baseline or last-known-good observation before changing the experiment so later comparisons remain meaningful. ## Narrow Follow the failing value or event backward through boundaries. Compare a working and failing path when possible. Test one hypothesis at a time with the cheapest discriminating observation. Read logs and code around the first incorrect state, not only the final exception. For ordering or concurrency failures, build a timestamped event trace with identities and state transitions, then reproduce the smallest relevant interleaving with coordination primitives rather than sleep-based timing. ## Establish cause A root cause must explain the symptom, the triggering conditions, and why the system did not prevent it. Verify the explanation by changing or isolating the causal condition without silently shipping a fix. After establishing the cause, search the affected scope for analogous code, data, configuration, or tests that share the same faulty assumption. Report the likely family separately from the proven reproduction. ## Boundaries Do not implement a repair for a diagnosis-only request. Do not hide the symptom with retries, guards, or broader timeouts. Redact secrets and personal data from evidence. When evidence suggests compromise, preserve evidence and the timeline through available trusted mechanisms. Do not contact other people or attacker infrastructure, use credentials on a suspected host, or change live containment without appropriate authorization. Report an essential blocking condition to the user. Do not turn an ordinary bug investigation into an incident response based on speculation. ## Output State the established cause, relevant reproduction evidence, affected scope, and remaining uncertainty. Include repair recommendations only when requested. Do not dump the investigation history.