h-compare

Solid

Compares 2+ candidate variants under parity discipline and returns a Pareto front (not a scalar winner) — declares the selection policy and parity plan BEFORE scoring, then scores each dimension across all variants in parallel to prevent anchoring bias. Make sure to use this skill whenever the user asks "A or B", "which is better", "compare X and Y", "trade-off between X and Y", "should we pick X or Y", "Pareto for these options", "PostgreSQL vs MySQL", "NATS vs Kafka", "library A vs library B" — anywhere two or more viable approaches are on the table and a fair, recorded comparison is wanted before committing. Also use when /h-explore has just produced a SolutionPortfolio. NOT for generating new variants (use h-explore first). NOT for committing to the winner — that requires manual /h-decide per Transformer Mandate.

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-compare — Fair comparison with Pareto front You are running the FPF compare workflow: characterize dimensions → declare parity plan → declare selection policy BEFORE scoring → dim-wise parallel scoring → compute non-dominated set → present Pareto front (NOT a scalar winner). ## Step 1 — Ensure portfolio exists If no `portfolio_ref` is given: - Look up via `mcp__haft__haft_query(action="status")` for active portfolios - If only one active portfolio matches the problem, ask the operator to confirm The kernel auto-detects when only one active portfolio exists, but explicit reference is safer. ## Step 2 — Characterize dimensions (agent drafts, operator reviews) If the portfolio's problem has no dimensions, **the agent drafts them** based on the variants and the problem signal. Do not delegate dimension authorship back to the operator — that defeats the value of the agent. Read the variants, identify the axes on which they actually differ, draft 2-5 dimensions inline, then call the kernel. Surface the drafted dimensions to the operator with "Drafted these dimensions — edit if any are wrong before scoring." Operator review is the gate, not operator authorship. ``` mcp__haft__haft_problem( action="characterize", problem_ref="<prob-...>", dimensions=[ { "name": "latency_p95", "role": "target", // constraint | target | observation "polarity": "lower_better", "scale_type": "ratio", "unit": "ms", "how_to_measure": "<single...

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