What problem does it solve?
Engineering decisions made in AI-assisted sessions often vanish into chat history with no durable record of what was chosen, why, what was rejected, and how to roll back. This Skill turns a direct, unambiguous operator request into a typed, validated DecisionRecord that downstream commissions, verification cycles, and drift detection can reference.
Core Features & Use Cases
- Authority-gated binding: Only a direct operator request with unambiguous effect, subject, selected option, and scope is bound; ambiguous requests trigger a single Human Gate Brief instead of a record.
- FPF-disciplined payloads: Enforces decision rationale fields such as selection policy, weakest link, counterargument, rejected alternatives, and rollback triggers, with an explicit tactical-mode
_skips mechanism for small reversible changes.
- Spec-binding preflight: Runs a read-only
spec_binding_preflight check against the active ProjectSpecificationSet before binding, handling unbound, ambiguous, conflicting, or out-of-spec drafts.
- Use Case: After comparing two database migration strategies, the operator says "supersede the old choice and bind option B". The Skill drafts the decision JSON, runs the spec preflight, and binds it via
haft artifact create decision.decide, returning a decision ID and typed graph projection.
Quick Start
Ask the agent to bind a specific choice, for example: "Decide to use Postgres for the billing service and record it as a project decision."