Skip to content
Back to skills

Release

ASecurity

Use when the user asks whether a release is ready, or to gate/verify release criteria before publishing. A thin readiness-gate that runs the existing read-only verifiers (evolve release-preflight, evolve release-consistency), adds the CI-green-on-main and no-WIP-commit checks they don't cover, then delegates execution to /evo:publish. Does NOT reimplement the release pipeline.

  • 5 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentsgobashgit

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add mickeyyaya/evolve-loop --skill release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Release?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mickeyyaya-release/badge)](https://www.skillsdirectory.com/skills/mickeyyaya-release)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: release
description: Use when the user asks whether a release is ready, or to gate/verify release criteria before publishing. A thin readiness-gate that runs the existing read-only verifiers (evolve release-preflight, evolve release-consistency), adds the CI-green-on-main and no-WIP-commit checks they don't cover, then delegates execution to /evo:publish. Does NOT reimplement the release pipeline.
argument-hint: "<target-version> [--dry-run]"
---

# /evo:release

> Release **readiness-gate**, not a release executor. It composes the checks that already exist (`evolve release-preflight`, `evolve release-consistency`) and adds the two gaps they miss — **CI green on `main` HEAD** and **no WIP/fixup commits** — then hands a green report to [`/evo:publish`](../publish/SKILL.md), which owns the actual bump → changelog → ship → propagate lifecycle.

## Why this exists

`evolve release-preflight` already gates: clean tree, attached branch, semver bump, recent audit PASS, gate-test suites. `evolve release-consistency` already verifies the 6 version markers (plugin.json, marketplace.json, README, CHANGELOG, SKILL headings). Neither checks whether **GitHub CI is actually green on the commit you're about to release from**, nor screens for accidental WIP commits. This skill closes exactly those gaps — nothing more.

> Defense-in-depth: [`/evo:publish`](../publish/SKILL.md) now performs the same pre-release CI-green check itself (so a direct `/evo:publish` call is still gated) **and** adds a post-release watch of the released commit's `required CI` and `release` workflows. Running `/evo:release` first stays the recommended path; `evolve release` (the raw binary) is `gh`-free and only prints a "CI not verified" advisory.

## Procedure

Run in order. Any **FAIL** → print the reason and stop (do not delegate to `/evo:publish`).

1. **Preflight (5 gates)** — read-only:
   ```bash
   $CLAUDE_PROJECT_DIR/go/bin/evolve release-preflight <target> --dry-run
   ```
   Non-zero exit → stop.
2. **Consistency (version markers)**:
   ```bash
   $CLAUDE_PROJECT_DIR/go/bin/evolve release-consistency <target>
   ```
   Non-zero exit → stop.
3. **Gap 1 — CI green on `main` HEAD** (requires `gh`; if absent, report "cannot verify CI" and stop):
   ```bash
   gh run list --workflow required.yml --branch main --limit 1 --json headSha,status,conclusion,url
   ```
   The query is scoped to `required.yml` (its `CI required` job aggregates every suite), because the newest run of any workflow can be a green `landing-pages` run that hides a red or running `required CI`. Confirm `headSha` matches `git rev-parse origin/main`, `status == "completed"`, `conclusion == "success"`. Anything else (in-progress, failure, stale SHA) → stop with the run URL.
4. **Gap 2 — no WIP/fixup commits since the last tag**:
   ```bash
   git log "$(git describe --tags --abbrev=0)..HEAD" --format=%s
   ```
   If any subject matches `^(WIP|fixup!|squash!|amend!)` → stop and list them.
5. **All green → delegate**: invoke `/evo:publish <target>` (pass `--dry-run` through if the user gave it). Report the readiness summary first so the user sees what passed.

## Output

Emit a compact readiness table (✅/❌ per check) before delegating or stopping, e.g.:

| Check | Result |
|---|---|
| preflight (5 gates) | ✅ |
| version markers | ✅ |
| CI green on main HEAD | ❌ run failed (url) |
| no WIP/fixup commits | ✅ |

→ verdict: **NOT READY** (or **READY → handing off to /evo:publish**).

## When NOT to use this skill

- **To actually publish.** This only gates. `/evo:publish` executes.
- **For ordinary commits.** Use `/evo:commit`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.