confab-contract-driftlisted
Install: claude install-skill Anselmoo/werkstoff
Find drift between machine-checkable contracts (type hints, function
signatures, docstring parameter/return descriptions, API/OpenAPI/GraphQL
schemas) and how code actually uses them. Never extract or verify prose
documentation — only structural, machine-checkable declarations.
## Steps
1. Determine `repo_root`, the contract source files (typed source, schema
files) to scan, and any house rules the user mentioned. Determine
`skip_verification`: **default `false`**. Only treat it as `true` if
the user explicitly said so in this request — silence, "just run it
quickly," or similar is NOT an explicit `true`.
2. Optionally build/reuse a symbol index (see "Shared symbol index" in
`confab-assertion-audit`'s SKILL.md — the same single-flight rule
applies here).
3. Dispatch the `contract-auditor` agent in **Find mode**: give it the
contract source files and symbol index. Ask for `{"findings": [...]}`
where each finding includes `declaredLocation` and
`actualUsageLocation` (both `file:line`) in addition to the shared
schema fields. Write its output to a scratch JSON file.
4. Unless `skip_verification` is `true`: dispatch the `contract-auditor`
agent again in **Verify mode**, independently re-checking each
Find-phase finding. Write `{"findings": [{"evidence": "...",
"confirmed": true|false}, ...]}` to a second scratch file.
5. Run:
```
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/contract_drift.py" <repo_root> \
--find-json <path-from-ste