h-frame

Solid

Frames an engineering problem before any solution is explored — stabilizes the signal, names what is actually broken, declares acceptance criteria, and records a ProblemCard. Make sure to use this skill whenever the user proposes a refactor, rewrite, redesign, restructure, or rebuild without first naming the underlying problem or what acceptance looks like; whenever they say "let's rebuild X", "switch from Y to Z", "we should restructure", "I want to change A to B", "refactor this", "let's redo this" without stating success criteria; whenever a proposed solution arrives before the problem is defined; whenever scope is fuzzy and acceptance is unstated. Also catches explicit framing intent — "let me think about X", "before we solve this", "what's actually going on", "I want to understand X first". For broken tests or failing code with unclear cause prefer h-diagnose. For micro-decisions with rationale use h-note.

AI & Automation 1,338 stars 104 forks Updated today NOASSERTION

Install

View on GitHub

Quality Score: 89/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# h-frame — Frame the problem before solving You are framing a problem via `mcp__haft__haft_problem(action="frame", ...)`. Problem quality dominates solution quality. Get the frame right; the rest follows. ## Procedure ### Step 0 — Maintenance check (FPF B.3.4 evidence decay) Before framing a NEW problem, check the most recent kernel response for `Refresh reminder: N days since last stale scan`. If N > 30, call `mcp__haft__haft_refresh(action="scan")` first. Stale or drifted artifacts may already touch the area this new problem operates in — discovering them after framing wastes the reasoning, or worse, lets you frame a problem that's already been decided and just decayed silently. If the scan surfaces a conflict (stale decision in same module, unresolved drift on overlapping files) — surface it inline and ask the operator whether to verify the existing artifact first or proceed with the new frame anyway. Do not silently re-frame around obsolete artifacts. See CLAUDE.md Critical Reminders — maintenance discipline. ### Step 1 — Stabilize the signal (FPF B.4.1) Before writing anything, separate what the operator OBSERVED from what they ASSUMED. The signal is the anomaly/opportunity/probe; not the diagnosis. Bad signal: "we need a new queue" Good signal: "webhook retries hit 15% over baseline 2% since 2026-05-20" ### Step 2 — Detect umbrella words (FPF A.6.P/Q/A) Scan the signal for umbrella terms: "quality", "service", "scalable", "maintainable", "simple", "stable", ...

Details

Author
m0n0x41d
Repository
m0n0x41d/haft
Created
6 months ago
Last Updated
today
Language
Go
License
NOASSERTION

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category