release-readinesslisted
Install: claude install-skill sachinshelke/codevira
# Release readiness — the bypass-proof release gauntlet
v2.0.0 shipped to PyPI with 23 silent-failure bugs because nothing
forced gauntlet-pass evidence before publish. This skill makes the
gauntlet mandatory at the CONVERSATION layer (skills); the Makefile
+ hook + CI enforce it at the TOOL layer. Both must agree before any
release proceeds.
## When this skill triggers
Trigger phrases:
- "ready to release"
- "let's ship"
- "publish to PyPI"
- "promote to production"
- "release X.Y.Z"
- "cut a release"
- "tag the version"
- "ship it"
- Any mention of `twine upload`, `gh release create --draft=false`,
`pipx publish`, etc.
When this skill triggers, you MUST walk the 5-gate gauntlet below
before producing any actual release command.
## The 5 gates
Defined in `codevira.discipline.yaml::release_gates`. Each must pass.
### G1 — Unit tests
```bash
make test-unit
# OR: pytest tests/ -q --ignore=tests/e2e
```
Pass criterion: exit code 0, no test failures or unexpected skips.
### G2 — First-contact e2e
```bash
make test-e2e
# OR: pytest tests/e2e/test_first_contact.py -v
```
Pass criterion: all 4 fixtures pass (docs_only, code_only_python,
polyglot, monorepo). This is the gate that catches bugs A–O. If G2
shows failures, those failures ARE the v2.1 work list — don't
release until they're fixed.
### G3 — Real-IDE smoke
```bash
scripts/check_real_ide_smoke.sh
```
Pass criterion: codevira appears connected in Claude Code AND Claude
Desktop AND at least one other IDE. `to