wtf.health

Installation
SKILL.md

Health

Project health dashboard. Core value: gives a full-stack view of open WTF issues in under a minute — surfaces what is blocked, what is stale, and what the clear next action is for each problem found.

Process

0. GitHub CLI setup

Run steps 1–2 of ../references/gh-setup.md. Stop if gh is not installed or not authenticated.

1. Choose the scope

Apply ../references/questioning-style.md and ask "What scope do you want to check?" — header Scope:

  • Full project → all open Epics, Features, and Tasks
  • One Epic → all work under a specific Epic
  • One Feature → all Tasks under a specific Feature

For Epic or Feature scope, prompt for the issue number with options pre-filled from recent open issues.

2. Fetch all open issues

Run in parallel:

gh issue list --label "epic"    --state open --json number,title,labels,updatedAt --limit 50
gh issue list --label "feature" --state open --json number,title,labels,updatedAt --limit 100
gh issue list --label "task"    --state open --json number,title,labels,updatedAt --limit 200
gh issue list --label "bug"     --state open --json number,title,labels,updatedAt --limit 50

Also fetch open PRs to detect tasks with an open PR but no verified label:

gh pr list --state open --json number,title,headRefName,body --limit 50

3. Classify issues into health categories

For each issue, check its labels against the expected lifecycle:

Epics:

Signal Category
No child Features linked ⚠️ Epic has no Features
All child Features closed ✅ Epic complete — needs wtf.retro

Features:

Signal Category
No designed label, no child Tasks ⚠️ Feature not designed, no tasks
Has child Tasks, none implemented 🔵 In progress
All child Tasks verified, Feature still open ✅ Feature complete — needs Feature PR

Tasks:

Signal Category
No designed label ⚠️ Not designed — blocked before implement
designed but not implemented for > 7 days 🕐 Stale — may be forgotten
implemented but not verified ⏳ Waiting for QA
verified but no open or merged PR ⏳ Waiting for PR
Has open PR but not verified ⚠️ PR open without QA sign-off
implemented + verified + PR merged ✅ Done

Bugs:

Signal Category
Open, no task linked in body ⚠️ Bug not linked to a task
Open > 14 days 🕐 Stale bug

Staleness threshold for tasks is 7 days since last update; for bugs, 14 days. These are heuristics — flag but do not auto-close anything.

4. Render the health report

Project Health — <scope> — <YYYY-MM-DD>
────────────────────────────────────────────────────────

Epics:    [n open]
Features: [n open]
Tasks:    [n open]  ([n] implemented, [n] verified, [n] stale)
Bugs:     [n open]  ([n] stale)

────────────────────────────────────────────────────────

⚠️  Needs attention ([n])

  [#n] Task: <title>
       Label gap: designed — not yet implemented (stale [n days])
       Next: run implement-task

  [#n] Task: <title>
       implemented — not verified
       Next: run verify-task

  [#n] Feature: <title>
       All tasks verified — Feature PR not opened
       Next: run create-pr targeting main

  [#n] Bug: <title>
       Open [n days], no linked task
       Next: run write-task to create a fix task

🕐  Stale ([n])

  [#n] Task: <title>
       Last updated [n days ago] — no activity since designed

────────────────────────────────────────────────────────

✅  Clean
  [n] tasks verified and merged
  [n] features closed

If everything is clean, print: "All open issues are in a healthy state. Nothing needs attention."

5. Offer to act on findings

If findings exist, apply ../references/questioning-style.md and ask "Would you like to act on any of these findings now?" — header Next action:

  • One option per ⚠️ finding (e.g. Verify Task #42 → run verify-task)
  • Done — just the report → exit

Route each selection to the appropriate skill with the issue number pre-loaded as context.

Related skills

More from xiduzo/wtf

Installs
16
Repository
xiduzo/wtf
GitHub Stars
3
First Seen
Apr 21, 2026