invariant-formalizerlisted
Install: claude install-skill mytechsonamy/VibeFlow
# Invariant Formalizer
An L1 Truth-Validation skill. Its job is to eliminate the layer of
"we all understand what the rule means" between the PRD and the
test suite. Every invariant becomes a predicate that code can
check and a proof obligation that `release-decision-engine` can
count — prose-only invariants are not acceptable for P0.
## When You're Invoked
- During PIPELINE-3 step 2, in parallel with risk-weighted coverage
passes.
- On demand as `/vibeflow:invariant-formalizer [path]`.
- Re-runs automatically when `business-rule-validator` emits a new
`business-rules.md` or `test-data-manager` needs an updated
`invariant-matrix.md`. The three must move together.
## Input Contract
| Input | Required | Notes |
|-------|----------|-------|
| `business-rules.md` | yes (preferred) | Output of `business-rule-validator`. Rules with a measurable condition become invariant candidates. |
| PRD | fallback | `.vibeflow/artifacts/prd.md`. Used only when `business-rules.md` is absent — surfaces a WARNING because the extraction step is duplicated work in that case. |
| Domain config | yes | `vibeflow.config.json` → `domain`. Drives the domain-specific pass in the taxonomy. |
| Existing `invariants.ts` | scanned | Any file with the `@generated-by vibeflow:invariant-formalizer` banner is rewritten in place; hand-written invariants outside the marked region are preserved. |
| Target format | optional | `zod` (default), `runtime`, `smt`, `pbt`. Multiple formats can be requested in o