Diagnose
Turn your coding agent into a full product team — composable skills across research, marketing, product, and process. One install, every editor (Claude Code, Cursor, Codex, Windsurf, Gemini CLI, VS Code).
npx -y skills add hungv47/meta-skills --skill diagnoseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Structured diagnosis of business and strategic problems — builds MECE logic trees, forms testable If/Then/Because hypotheses, scans external factors, and identifies root causes with evidence. Use when a metric is underperforming, something went wrong, or you need to find what's causing a problem before acting. Not for code bugs (use clean-code), brainstorming solutions to a known problem (use prioritize), or scoping a new idea (use discover); for market trends, see research-market.
SKILL.md
10.3 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it
Problem Analysis — Orchestrator
Strategy — Step 1 of 4. Defines the business problem, builds falsifiable reasoning via testable hypotheses, and identifies root-cause with evidence-backed tests.
Core Question: "What's actually causing this, and what does the evidence prove?"
Why this skill exists, Watanabe MECE philosophy, 3-tree-type calibration, always-cold-start rationale, 10-gate quality summary, Inconclusive-is-valid philosophy, external-factor 6-factor rationale, when NOT to use:
references/playbook.md[PLAYBOOK].
Critical Gates — Read First
- Problem statement MUST be: "[Metric] is [current] instead of [target]." No vague business problems. If the user says "things aren't going well," interview for the specific metric, current value, and target value before dispatching any agent.
- Do NOT skip external factors — 30%+ of problems have external root-causes. The external-check-agent runs in Layer 1 alongside the tree builder. Skipping it leads to treating a symptom when the cause is environmental.
- If/Then/Because format required — hypotheses without "because" are unfalsifiable. The "because" clause is the reasoning mechanism. Without it, a rejected hypothesis teaches nothing and the tests prove nothing.
- Do NOT confirm hypotheses without evidence — "seems likely" is not Confirmed. Every verdict must cite a specific data point that matches or contradicts the "then" clause. Inconclusive is a valid verdict. When multiple causes changed in the same window, a matching timeline is correlation, not confirmation: a Confirmed verdict must cite evidence that DISCRIMINATES it from the co-timed alternatives (an A/B null, a per-capita/per-segment normalization, a same-segment-flat reading), and must rule out a composition/mix-shift artifact (every segment flat but the blended metric moved → the cause is the mix, not any within-segment factor). No discriminating evidence → Inconclusive. Never distribute the gap across un-discriminated candidates or invent a cause to reach ~100%.
Before Starting
Apply the before-starting-check [PLAYBOOK], then run the diagnose-specific pre-flight per references/procedures/before-starting.md [PROCEDURE] — mode resolution (Cold Start STILL fires under --fast), canonical-path check, prior-run staleness signal, then Pre-Dispatch entry.
Pre-Dispatch detail (always-cold-start contract, 4-question Cold Start prompt, read order, Write-back map Q1-Q4 → goals.md verbatim): references/procedures/pre-dispatch.md [PROCEDURE].
Artifact Contract
- Path:
docs/forsvn/canonical/research/DIAGNOSE.md(canonical singleton — the current diagnosis of record; re-run overwrites in place and bumpsversion. Prior runs live in git history, NOT as concurrent files.) - Lifecycle:
canonical;type: canonical;review_surface: none;decision_state: not_required(diagnose stays un-gated) - Frontmatter:
skill,version(integer, increment on re-run),date,status,stack: research,review_surface: none,id: diagnose,type: canonical,keywords: [diagnose, root-cause, hypothesis-tree, metric-decline, if-then-because]. Schema inreferences/_shared/artifact-contract-template.md. - Required body sections (cross-stack contract — load-bearing): Phase 1 (Problem Statement, Logic Tree, MECE Check, External Factor Scan 6-row table) · Phase 2 (Hypotheses with If/Then/Because + 6 sub-fields each) · Phase 3 (Verdict Table + Root Cause Statement) · Next Step block. Full schemas + Logic Tree code-fence + Verdict Table columns in
references/format-conventions.md[PROCEDURE]. Optional: Known Issues · Change Log. - Side effects (mandatory on PASS / done_with_concerns): Goals write-back (Q1 Metric, Q2 Current, Q3 Target append to
experience/goals.md; Q4 Tried NOT persisted — lives in the canonical record only). Re-run overwritesDIAGNOSE.mdin place and bumpsversion; no.v[N].mdsiblings. Mechanics:references/procedures/dispatch-mechanics.md. - Consumed by:
prioritize(Root Cause feeds Initiative "because" clauses — recommended input, not a hard gate);plan-funnel(Root Cause baselines feed Target Table);plan-campaign(Root Cause + Verdicts filter channel-level execution); futurediagnosere-runs (prior tree as context). - Cross-stack contract: Phase 1/2/3 schemas + Verdict Table columns + Next Step block + Logic Tree code-fence — schema changes require atomic consumer update (see
anti-patterns.md"Cross-stack contract drift").
Agent Manifest
| # | Agent | Layer | Focus |
|---|---|---|---|
| 1 | tree-builder-agent | L1 (parallel) | MECE logic tree (Math/Issue/Yes-No) — 2-3 levels, ≥3 leaves |
| 2 | external-check-agent | L1 (parallel) | 6-factor external scan via WebSearch (competitor, market/seasonal, platform, regulatory, technology, macro) |
| 3 | hypothesis-agent | L2 (sequential) | If/Then/Because formation; ranked by testability (speed × gap explained) |
| 4 | data-mapper-agent | L2 (sequential) | Data requirement table (deciding data, source, owner, confirming, rejecting) |
| 5 | verdict-agent | L2 (sequential) | Evidence evaluation + root cause statement with gap %s summing to ~100%; 3-strikes escalation |
| 6 | critic-agent | L2 (final) | 10-point quality gate (rubric + failure routing in agents/critic-agent.md). Max 2 rewrite cycles |
Routing + Dispatch
Two routes; chosen after Cold Start (the 4 questions always fire) and echoed in confirmation:
| Route | When | Graph |
|---|---|---|
| B — Full Analysis (default) | Non-trivial metric decline or strategic problem | L1 parallel (tree-builder + external-check) → merge → L2 sequential (hypothesis → data-mapper → [Data Gathering Pause] → verdict → critic) |
| A — Quick Diagnosis | User provides data inline AND problem clearly internal AND user CONFIRMS skipping external scan (preserves Critical Gate 2) | hypothesis → data-mapper → Data Gathering Pause → verdict → critic |
Data Gathering Pause is NON-SKIPPABLE in both routes. Verdicts without evidence are speculation; critic Gate 9 will FAIL.
Mechanics (Route Selection, Layer 1/2 spawn, merge, Pause handling, critic FAIL routing, Inconclusive Handling, 3-strikes escalation, post-write side effects, chain position, skill deference): references/procedures/dispatch-mechanics.md [PROCEDURE]. Load at Layer 1 dispatch entry.
Anti-Patterns
references/anti-patterns.md [ANTI-PATTERN] — 13-pattern catalog (covered by critic gates 1-10 in agents/critic-agent.md plus 3 Additional Checks for correlation/3-strikes/external-factors) + 2 cross-cutting failures (cross-stack contract drift + goals write-back skipped). Re-read before any output ships.
Durable Rules (protected)
<!-- SLOW_UPDATE_START --> <!-- No pinned rules yet. Populate via the slow-update workflow (see references/slow-update-fence.md). Each pinned rule must (a) be procedural not instance-specific, (b) be earned from a regression or critic-flagged failure, (c) cite the artifact / decision record that justified pinning. --> <!-- SLOW_UPDATE_END -->Completion Status
Every run ends with explicit status:
- DONE — root causes traced via MECE tree, hypotheses validated against data, verdict written, critic PASS
- DONE_WITH_CONCERNS — root causes identified but data validation thin (small sample, estimated baselines, or inconclusive evidence); verdict notes confidence and what would strengthen it
- BLOCKED — metric/baseline cannot be obtained from any source (data unavailable, access denied, or measurement undefined); analysis would be speculation
- NEEDS_CONTEXT — problem statement missing the metric+current+target triad required for dispatch; ask the user before invoking agents
Next Step
After verdict + root cause ship: hand to prioritize for initiative selection (Root Cause Statement is a recommended input, not a hard gate). For metric-tracking initiatives, also feed plan-funnel baselines. Re-run diagnose when the metric shifts significantly or new data surfaces (operator-judgment, not auto-flagged).
References
references/playbook.md[PLAYBOOK] — philosophy, 3-tree calibration, when NOT to usereferences/format-conventions.md[PROCEDURE] — artifact template, Phase 1/2/3 schemas, Logic Tree code-fence, Next Step blockreferences/anti-patterns.md[ANTI-PATTERN] — 13 patterns + 2 cross-cutting failuresreferences/procedures/{before-starting, pre-dispatch, dispatch-mechanics}.md[PROCEDURE] — pre-flight, Cold Start, routes, Pause handlingreferences/_shared/{before-starting-check, mode-resolver, pre-dispatch-protocol, hypothesis-framework, artifact-contract-template}.mdreferences/_shared/execution-policy.md— session execution profile (single-vs-multi)references/examples/diagnose-walkthrough.md[EXAMPLE] — full Route B walkthrough on signup decline (10 critic gates traced)references/{watanabe-framework, logic-tree-examples}.md— MECE methodology + 4 worked trees (SaaS churn, e-commerce, content ROI, B2B pipeline)research-skills/CLAUDE.md— stack-level conventions
Gives 0 of the 12 instructions most debug triage skills give in ~2.3k tokens
Counted across 839 of the 1,149 authors here whose files we hold, read 2026-08-06
- investigate root cause before proposing any fixin 102 of 839, across 65 files
- read error messages completelyin 90 of 839, across 48 files
- create a failing test case before fixingin 84 of 839, across 44 files
- reproduce the issue consistentlyin 82 of 839, across 40 files
- change one variable at a timein 82 of 839, across 42 files
- check recent changesin 74 of 839, across 35 files
- write the regression test before fixingin 74 of 839, across 36 files
- fix the root cause not the symptomin 60 of 839, across 43 files
- implement a single fix at a timein 59 of 839, across 20 files
- trace data flow backward to the sourcein 50 of 839, across 20 files
- remove all debug instrumentationin 49 of 839, across 13 files
- form a single hypothesisin 48 of 839, across 18 files
Said here and by no other author read
- define the problem as metric current versus target
- scan external factors alongside internal logic trees
- build MECE logic trees
- form hypotheses using If Then Because format
- rank hypotheses by testability speed and gap explained
- generate a data requirement table
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.