ln-63-release-publisher
Release Publisher
Goal: Prepare a reproducible release and publish it only after the user approves the exact tag and notes.
Execution contract: The ordered checkboxes are the Definition of Done. Track every item internally as PENDING, PROVEN with concrete evidence, CLEARED with evidence that its condition is absent, or UNPROVEN with a gap; reading, delegation, or tool failure is not proof. Reconcile items after each section. Before returning, resolve all PENDING and count only PROVEN and CLEARED; apply the skill's verdict and approval rules to every gap.
Preserve user intent, scope, and existing authorization. Continue authorized work; ask only for consequential unresolved choices or required external approval. Scale depth to material risk without silently skipping checks. Preserve dependency and safety ordering; otherwise choose the verification method appropriate to each obligation.
Tool Routing
| Need | Preferred capability | Fallback |
|---|---|---|
| Release boundary and commit evidence | Git history, tags, and diffs | Hosting API commit comparison |
| Existing release style and state | Authenticated GitHub CLI or connector | Public GitHub API for read-only evidence |
| Release identity and version scope | Repository policy, prior tags, and canonical version files when present | Stop only when the release identity remains ambiguous |
| Release validation | Repository-native gates and clean checkout | Manual structural checks with reduced confidence |
| Tag and GitHub Release creation | Git plus an authenticated GitHub release capability | BLOCKED; do not emulate release state in files |
| Installation verification | Isolated environment against the documented distribution source | Clean source validation without install proof |
When publishing through a shell, use a temporary notes file so Markdown, quotes, and code blocks are not reinterpreted. Keep credentials in the host credential store and never echo them.