One provider-neutral skill
Claude Code and Codex use the same contract while retaining native invocation and runners.
Changelog / unreleased
Repository history, not release theatre. Everything here is committed and publicly inspectable; no tagged package version is claimed yet.
Default branch / public source
Claude Code and Codex use the same contract while retaining native invocation and runners.
A redacted fixture shows false delivery blocked, honest delivery accepted, and terminal mismatch rejected.
Every public claim maps to artifacts, expected output, and a visible evidence boundary.
Unique metadata, canonical URLs, crawl rules, structured-data boundaries, and evidence sources are validated locally.
The gate now rejects a requested terminal that conflicts with the state already recorded by the run.
Calls without exactly one phase or terminal now fail with a usage error.
The runner rejects path traversal, shell syntax in slugs, and non-integer session caps.
Most useful change
A regression preserved a contradiction the original terminal check incorrectly passed. The fixed gate now names both states and exits 1.
Inspect before and after