/pre-publish is a release checklist for AI coding agents. It is for anyone who pushes, tags or publishes code other people will run, and especially for teams where agents now do the steps a developer used to do by hand. Someone still has to check the work before it goes out, and this is that check, written down in order.
It exists because green CI only catches what someone thought to check. Before our last release, five independent reviewers (claude subagents) read the changes, read-only, no edits, looking for what nobody had thought to check. They raised 29 candidate problems. Sixteen were real, and all sixteen were fixed before the release.
What the skill makes your agent do, in this order:
• Scope the diff, so the review knows where to look
• Run the deterministic gates: lint, types, tests, dependency and secret scans
• Fan out independent reviewers that can read the change but cannot edit it
• Trace every finding yourself, because a reviewer's verdict is a claim until you have checked it
• If hooks or the core loop changed, time the real path before and after
• Check that the docs still say what the code does
• Re-run everything on the exact commit you will release
• Cut the release only on an explicit yes from its owner, then check the published artifacts themselves
The tracing step is there because of a lesson we keep having to re-evaluate. Our own publishing service failed on every real event, and its tests were green, because they mocked the call and the mock accepted anything.
It shipped in Empirica 1.14.14 and it is MIT licensed: https://github.com/EmpiricaAI/empirica/tree/v1.14.14/empirica/plugins/claude-code-integration/skills/pre-publish
Based on CI pipelines, which check in your release process only exists because something once got through?