h-frame

Shape engineering problems into structured frames with signals, constraints, and acceptance criteria.

1.4k|102|Updated Dec 10, 2025
One-click install
npx skills add https://github.com/m0n0x41d/haft --skill h-frame
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: h-frame
Source: https://github.com/m0n0x41d/haft/tree/main/internal/cli/skill/h-frame
Command: npx skills add https://github.com/m0n0x41d/haft --skill h-frame

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Engineering requests often arrive as premature solutions or vague redesign proposals before the actual problem is understood. This Skill separates observed signals from assumed causes, restores overloaded terminology, and produces a clear problem frame with scope, constraints, and acceptance criteria before any solution work begins.

Core Features & Use Cases

  • Problem Framing: Stabilizes the observed signal, names the affected object and bounded context, and keeps proposed solutions out of the problem claim.
  • FPF-Grounded Reasoning: Queries the First Principles Framework source via the Haft MCP tools to select the exact pattern for the current condition rather than following a hard-coded route.
  • Optional ProblemCard Persistence: Records a durable ProblemCard through the Haft MCP server only on explicit save intent or when a concrete receiving use requires transfer, audit, or replay.
  • Use Case: When a teammate proposes "refactor the service for scalability," use this Skill to identify the actual observed signal, the affected entity, hard constraints versus optimization targets, and a draft acceptance condition before any redesign starts.

Quick Start

Ask the agent to frame the problem behind a proposed change, for example: "Frame the problem behind the request to rewrite our caching layer before we commit to a design."

Frequently Asked Questions about h-frame

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I frame an engineering problem before proposing a solution?

Start by separating the observed signal from the assumed cause and proposed fix, then name the affected object and bounded context. State scope, hard constraints, and optimization targets, and draft an observable acceptance condition for operator correction.

What is a ProblemCard and when should I create one?

A ProblemCard is a durable Haft record of a framed problem including signal, constraints, acceptance basis, and affected entity. Create one only on explicit save intent or when a concrete receiving use needs transfer, replay, audit, or costly-reversal protection.

When should I use h-frame versus h-diagnose?

Use h-frame when the problem itself is under-articulated and needs shaping before any work. Hand off to h-diagnose when there is a concrete failure with unclear cause and rival hypotheses are the live question.

Does h-frame require the Haft MCP server to work?

The conversational framing procedure works without persistence, but FPF pattern queries, project memory resolution, and ProblemCard recording require the Haft MCP tools haft_query and haft_problem.

Why does a saved ProblemCard sometimes report an underdetermined projection?

The projection is underdetermined when no exact current entity reference and bounded context are available to bind the card. The card is still saved honestly; this is not a failure and must be reported rather than hidden.