Skill1.3k repo starsupdated today
h-status
The h-status skill surfaces the current state of Project FPF through a read-only kernel query, displaying shipped decisions, pending work, unassessed items, refresh-due evidence, and module coverage. Use it to monitor decision health, identify evidence decay beyond valid-until windows, and detect blocked commissions or epistemic debt overflow, with automatic maintenance scanning triggered when evidence staleness exceeds 30 days.
Install in Claude Code
Copygit clone --depth 1 https://github.com/m0n0x41d/haft /tmp/h-status && cp -r /tmp/h-status/internal/cli/skill/h-status ~/.claude/skills/h-statusThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# h-status — Project FPF state dashboard You are surfacing the current FPF state via `mcp__haft__haft_query(action="status")`. Read-only — no kernel writes (Step 0's scan is a maintenance write, not a state mutation). ## Step 0 — Maintenance check (FPF B.3.4 evidence decay) Before calling status, scan the most recent kernel response in this session for `Refresh reminder: N days since last stale scan`. If N > 30, OR if no scan is visible in this session's history: 1. Call `mcp__haft__haft_refresh(action="scan")` first — do not defer to the operator. The reminder is a signal for the agent to act, not a prompt for the operator to remember. 2. Fold any new stale or drifted findings from the scan into the status reply you were already about to produce. 3. If the scan reveals nothing new — say so briefly and proceed. Surfacing the reminder is the kernel's job; acting on it is the agent's job. Doing nothing is the failure mode this step exists to fix. See CLAUDE.md Critical Reminders — maintenance discipline. ## Step 1 — Call the kernel ``` mcp__haft__haft_query( action="status", context="<optional context filter>" ) ``` Or for richer visualization (terminal-friendly board view): ``` mcp__haft__haft_query(action="board") ``` ## Step 2 — Interpret the response The status payload contains: - **Shipped / Healthy** — recent decisions that are still active and within valid_until window - **Pending** — decisions awaiting implementation, baseline, or measure - **Unassessed** — decisions without recent measurement - **Refresh Due** — decisions/evidence past valid_until, drift detected, or R_eff degraded; also epistemic debt budget if exceeded - **WorkCommissions Need Attention** — blocked, stale, or expired commissions - **Backlog** — active problems without committed decisions - **Addressed** — recently closed problems with their decisions - **Recent Notes** — last 5 micro-decisions - **Module Coverage** — per-module decision density (governed / blind / stale) The response also includes a navigation strip with available next actions (e.g., `/h-refresh`). ## Step 3 — Present to operator Surface the response as-is — the kernel formats it already. Highlight items that need operator attention: - Refresh-due items → recommend `/h-verify` for the specific decisions - Blocked work commissions → recommend `/h-commission` with `action=show` and operator review - Epistemic debt budget exceeded → recommend running `/h-verify` on the highest-debt decisions - Blind modules (no decisions) → recommend `/h-frame` if upcoming work targets that module - Stale decisions → recommend `/h-refresh` action=waive (with new evidence) or `action=supersede` (with replacement decision) ## Step 4 — Optional: cross-link to related decisions when context given If the operator's context mentions a specific file or module, also call: ``` mcp__haft__haft_query(action="related", file="<file path>") ``` To surface decisions whose affected_files include that path. ## What NOT to do - Do NOT auto-fix anything from this skill. h-status is read-only. - Do NOT silently filter out refresh-due items — the operator needs to see epistemic debt to triage. - Do NOT use this skill for full-text search across decisions — that's h-search via `mcp__haft__haft_query(action="search", query="...")`. - Do NOT call this skill on every turn. Auto-trigger is fine when the operator explicitly asks; constant polling pollutes context with stale state. ## FPF spec references - B.3.4 — Evidence Decay & Epistemic Debt (drives refresh-due classification) - F.10 — Three Ladders: Evidence / Standard / Requirement status - VER-02 — Decay (valid_until expiry semantics) - X-WLNK — Weakest-link aggregation for R_eff degradation surfacing Look up via `mcp__haft__haft_query(action="fpf", query="B.3.4")`.