h-compare
h-compare implements the FPF (Fair Portfolio Framework) compare workflow for multi-dimensional variant evaluation. Use it when comparing multiple solutions across several criteria and needing to identify non-dominated options rather than selecting a single winner. The skill guides you through dimension definition, parity planning, and Pareto front computation by calling the haft kernel to characterize problem dimensions, declare scoring conditions upfront, run parallel dimension-wise scoring, compute the non-dominated set, and present trade-off results visually.
git clone --depth 1 https://github.com/m0n0x41d/haft /tmp/h-compare && cp -r /tmp/h-compare/packages/haft-pi/skills/h-compare ~/.claude/skills/h-compareSKILL.md
# h-compare — Compare under parity Retrieve current FPF source first. Inspect a known SourceID or UnitID with `haft_query(action="fpf", mode="inspect", identifier="...")`; otherwise use `mode="concern"` with the comparison question and inspect the direct pattern body. Query returns source candidates, not a selected governing pattern or verdict. Treat a concern result's `candidate_set` as incomplete navigation. Before relying on one candidate, inspect its exact identifier and direct pattern body. Keep several candidates live or abstain when the basis is insufficient. Never query after comparison merely to manufacture support for a verdict already reached. Declare dimensions, indicator roles, parity, missing-data policy, and selection policy before scoring. Apply the same evidence window and scale to all candidates per dimension. Show constraints, dominated candidates, the Pareto front, uncertainty, weakest links, and evidence that could change the result. This n-candidate comparison is Haft local practice, not automatically an `A.19.CPM` actual application or an `A.19.SelectorMechanism` result. Claim exact FPF conformance only when the current use also preserves each required binary CPM application, pair coverage, token-to-producer trace, claim scope and selected context slices, predicate basis, reference plane, evaluation window, and separate eligibility/output bindings recovered from the direct source. Inline candidates are sufficient; frame and explore are not prerequisites. Persist only for explicit save intent or a concrete operator-named or agent-inferred receiving use supplied by current Work. A durable typed comparison requires an exact `U.EntityRef`, bounded context, an already projected portfolio, and independently addressable option `Haft.ProjectRecordRef` values. Preserve returned `record_reference` values; never derive them from artifact IDs. Missing references make typed projection underdetermined while the legacy carrier remains durable. Do not use the legacy `selected_ref` for an ordinary typed comparison. It is excluded from `Haft.PortfolioComparison`: a Pareto front is not a winner, ChoiceResult, recommendation, or binding decision.
|
|
Manual-only skill that creates bounded execution authority from an explicit operator grant. Never auto-trigger or infer approval from prompt text or tool schemas.
Route one direct, unambiguous operator request for a bounded binding choice. A manual h-decide invocation is a compatible shortcut, not an authorization receipt.
Diagnose a concrete failure with rival-hypothesis testing. Stabilize the symptom, generate distinct explanations, test discriminating observations read-only in parallel, and rank by evidence while retaining losing rivals.
Generate 3-5 genuinely distinct candidate approaches for a current question, with the weakest link of each visible. May work from an inline question or a durable ProblemCard; persistence is conditional.
Shape an under-articulated engineering problem without assuming a solution or forcing a project phase. Default to a conversational frame; create a ProblemCard only on explicit save intent or when current Work supplies a concrete operator-named or agent-inferred receiving use that needs a durable accepted problem statement.
Persist an explicitly requested non-binding fact, observation, caveat, or small rationale in Haft project memory. Do not auto-persist ordinary reasoning.