Files
hq/.claude/skills/hal-diagnose/SKILL.md
T
jschoubben c0b35652d0 The numbering is the flow: decisions are 02, design is 03
papa-hq reads 01 research -> 03 decision -> 02 design. The order is a
scar, not a choice: 02-DESIGN existed from its initial commit, and when
adr/ was finally promoted on 2026-07-13 it took the next free number
rather than its place in the sequence. By then design was too settled to
renumber.

hal-hq was three commits old, so it is not. adr/ becomes 02-DECISIONS and
02-DESIGN becomes 03-DESIGN, and following the folder numbers now walks
the process in the order it happens: research produces a decision, the
decision authorises a design.

00-GENESIS becomes 00-META, matching papa's rename from the same
restructure.

Every path reference rewritten across documents, frontmatter, playbooks
and skills. All links resolve; all 58 frontmatter blocks parse and their
path fields still point at files that exist.
2026-08-23 18:05:11 +02:00

2.0 KiB

name, description
name description
hal-diagnose Use when investigating an open hal-hq issue — finding which component owns a symptom, and why. Triggers on "diagnose issue N", "where does this live", "who owns this bug", "why does this happen".

hal-diagnose

Investigates an open issue to the point where its owner is known. Authoritative playbook: 00-META/process/03-issues.md.

Before forming a hypothesis

Search the operational memory for the literal symptom text. Not after a hypothesis fails — before forming one. The knowledge base is indexed on symptoms, and the entry needed is usually titled after the error being stared at.

This fires hardest on familiar ground, where a confident trail feels like progress. Two entries have been rediscovered from scratch over several hours in one session because the search was skipped. Both were already written down.

If the search returns nothing and the problem is then solved, write the finding back. An empty result is not "nothing to learn" — it is the reason the next person repeats the work.

Steps

  1. Read 00-report.md. Move status: to diagnosing.
  2. Investigate. Write 01-diagnosis.md in the same folder: the trail, dated, including what was ruled out and how. Archaeology — which commit, which pull request, which date a behaviour changed — is the most valuable content here.
  3. When the owner is known, set status: located and fill located-in: with repositories or modules from 00-META/repos.md.
  4. On resolution: status: resolved, fill fixed-by:. If the root cause was a design gap, run hal-graduate for the amendment and fill amended-design:.

Rules

  • State evidence, not assertion. A date and a reference outrank a conclusion.
  • Record what was ruled out. The next person needs to know where not to look.
  • Closed issues are never deleted.
  • wontfix is legitimate and requires a sentence saying why.