Skip to content

feat(skills): add a release-captain skill for the weekly release cadence #4433

Closed

Description

@matthewgrossman

User Story

As an OpenShell release captain, I need a Monday and Tuesday checklist that an agent can run, so I can get a qualified pre-release out as a stable release every Tuesday without relying on knowledge that only exists in Slack.

Problem Statement

RFC 0014 sets a Tuesday stable cadence, and maintainers are rotating release captain duties: keep pre-releases passing, coordinate the release with contributors, and cut the release. The automation (Release Auto-Tag, Release Tag qualification, advisory compatibility review, Release Canary) is documented in CI.md, but the weekly human steps are not written down:

  • what to check on Monday, and where qualification, compatibility, and security reports live;
  • how to collect ready PRs and set a merge cutoff before the release;
  • how to select and verify the final candidate on Tuesday, tag it, and confirm publication;
  • how to start the next train's -pre.1;
  • what to do when a release run is stuck or fails, without moving a published stable tag.

The v0.1.3 release (October 7–9) needed a pulled tag and two retries, and the v0.1.4-pre.3 compatibility review produced likely false positives that nobody owned triaging.

Impact / Why This Matters

New release captains, including next week's, can run the release from a repeatable checklist with copyable gh/git commands. That reduces Tuesday slippage and keeps tag pushes behind explicit maintainer approval.

Proposed Design

Add an internal contributor skill, .agents/skills/release-captain/SKILL.md (metadata.internal: true), with:

  • Monday: identify the current train and latest -pre.N; read its Release Qualification summary, advisory compatibility report, and security results; check Release Canary; triage findings; draft the coordination post listing ready PRs and the merge cutoff.
  • Tuesday: after the cutoff, confirm the final candidate's qualification matches its tag and commit; get maintainer approval; tag that exact commit vX.Y.Z; watch Release Tag; verify the GitHub Release and published artifacts; start the next train.
  • Recovery: stuck or failed runs, rerun versus a new pre-release, and the rule against moving a published stable tag.
  • Guardrails: the agent never pushes or deletes tags, dispatches release workflows, or posts to Slack without explicit maintainer approval.

This complements the tagging mechanics in #4335 (release-openshell) and does not change workflows. Register the skill in CONTRIBUTING.md and the sync-agent-infra maintenance map.

Acceptance Criteria

  • .agents/skills/release-captain/SKILL.md exists with metadata.internal: true, Monday, Tuesday, and recovery sections, and copyable commands verified against a real Release Tag run.
  • Every command that mutates tags, workflows, or Slack requires explicit maintainer approval.
  • CONTRIBUTING.md lists the skill, and the sync-agent-infra maintenance map includes it for release workflow changes.
  • No workflow behavior changes.

Alternatives Considered

  • Expand release-openshell in fix(release): qualify prerelease tag pushes #4335. Kept separate so the weekly cadence and the tagging mechanics can change independently.
  • Add mise helper tasks for Monday and Tuesday. Deferred; the gh commands in the skill avoid new scripts to maintain.

Activity

  1. added a commit that references this issue on Oct 14, 2026
    0af0b68
  2. added a commit that references this issue on Oct 21, 2026
    2fd802e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:docsDocumentation and examplesstate:pr-openedPR has been opened for this issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions