h-diagnose
h-diagnose implements a structured diagnostic workflow for root-cause analysis using parallel hypothesis testing to avoid anchoring bias. It guides users through stabilizing observations, framing diagnosis problems in the HAFT system, querying code context when needed, and generating multiple competing hypotheses with ranked verdicts. Use this skill when investigating intermittent failures, obscure bugs, or system anomalies where systematic elimination of alternatives is necessary rather than intuitive guessing.
git clone --depth 1 https://github.com/m0n0x41d/haft /tmp/h-diagnose && cp -r /tmp/h-diagnose/packages/haft-pi/skills/h-diagnose ~/.claude/skills/h-diagnoseSKILL.md
# h-diagnose — Test rival explanations Retrieve current FPF source only when pattern choice is material to the diagnosis. Mechanical reproduction, logs, and direct implementation probes do not need a ritual query. Inspect a known SourceID/UnitID directly; otherwise use `mode="concern"` and treat the returned `candidate_set` as incomplete navigation, not a selected pattern. Before relying on one candidate, inspect its exact identifier and direct pattern body. Keep several candidates live or abstain when the returned basis is insufficient. Never run a query after the diagnosis merely to manufacture source support for an already-chosen story. Keep symptom, hypothesis, probe, observation, and verdict distinct. Include a rival that challenges the initial framing. Prefer safe parallel probes; label design-time inference separately from runtime evidence. Keep losing hypotheses with return conditions. Persist only on explicit request or when a named receiving use needs replay.
|
|
Manual-only skill that creates bounded execution authority from an explicit operator grant. Never auto-trigger or infer approval from prompt text or tool schemas.
Compare two or more existing candidates under an explicit characteristic space, parity basis, and predeclared selection policy. Return trade-offs and a non-dominated set; persistence is conditional and a binding choice requires a direct unambiguous operator request.
Route one direct, unambiguous operator request for a bounded binding choice. A manual h-decide invocation is a compatible shortcut, not an authorization receipt.
Generate 3-5 genuinely distinct candidate approaches for a current question, with the weakest link of each visible. May work from an inline question or a durable ProblemCard; persistence is conditional.
Shape an under-articulated engineering problem without assuming a solution or forcing a project phase. Default to a conversational frame; create a ProblemCard only on explicit save intent or when current Work supplies a concrete operator-named or agent-inferred receiving use that needs a durable accepted problem statement.
Persist an explicitly requested non-binding fact, observation, caveat, or small rationale in Haft project memory. Do not auto-persist ordinary reasoning.