/release
Prepare, verify, publish, and finish a coordinated Cyrus CLI release. Use when a user asks to release Cyrus, publish cyrus-ai, run a CLI release, or perform the /release workflow.
$ npx -y skills add cyrusagents/cyrus --skill release --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/release
Context preview
The summary Claude sees to decide when to auto-load this skill.
Prepare, verify, publish, and finish a coordinated Cyrus CLI release. Use when a user asks to release Cyrus, publish cyrus-ai, run a CLI release, or perform the /release workflow.
SKILL.md
release.SKILL.mdname: release
description: Prepare, verify, publish, and finish a coordinated Cyrus CLI release. Use when a user asks to release Cyrus, publish cyrus-ai, run a CLI release, or perform the /release workflow.
Release Cyrus
Run Cyrus releases through the trusted-publishing workflow. Do not publish workspace packages manually.
Required reference
Read `apps/cli/RELEASING.md` completely before taking release actions. Treat it as the canonical operator guide and `scripts/release-packages.mjs` as the canonical package list and dependency order.
Workflow
1. Fetch `origin/main`, start from current main, and preserve unrelated local changes. 2. Prepare the release on a branch:
- Move both changelogs' Unreleased entries into the new version.
- Set the same version in every manifest printed by
`node scripts/release-packages.mjs list`.
- Run `pnpm install` and commit any lockfile change.
- Run the F1 release test-drive protocol and save its report with the
required `-release-v<version>.md` suffix.
- List every released `package@version` in `CHANGELOG.md`.
3. Run `node scripts/release-packages.mjs validate <version>`, then all checks required by `apps/cli/RELEASING.md`. Fix failures before continuing. 4. Commit, push, open the release PR, and merge it to `main` before dispatching the workflow. Never publish unmerged source or a non-main ref. 5. Dispatch `.github/workflows/release-cli.yml` from `main` in dry-run mode and monitor it through completion. 6. Only when the user has explicitly requested the live release, dispatch the same exact version with `dry_run=false`. Monitor it through npm publication, git tagging, and GitHub Release creation. 7. Independently verify the version on npm and run the published CLI's `--version` command. 8. Use the Linear integration to move every issue referenced by the version's changelog section from `MergedUnreleased` to `ReleasedMonitoring`.
Safety
- Never add an npm token. Publishing must use GitHub Actions OIDC.
- Confirm every npm package trusts `cyrusagents/cyrus` and
`release-cli.yml` before the first live workflow run.
- A dry run does not authenticate to npm and does not prove registry writes.
- Never rerun a partially published version blindly. npm versions are
immutable; inspect which packages landed and recover deliberately.
- Do not create or move a release tag until every package is published. The
workflow owns tag and GitHub Release creation.
Read more
name: release description: Prepare, verify, publish, and finish a coordinated Cyrus CLI release. Use when a user asks to release Cyrus, publish cyrus-ai, run a CLI release, or perform the /release workflow.
Release Cyrus
Run Cyrus releases through the trusted-publishing workflow. Do not publish workspace packages manually.
Required reference
Read `apps/cli/RELEASING.md` completely before taking release actions. Treat it as the canonical operator guide and `scripts/release-packages.mjs` as the canonical package list and dependency order.
Workflow
1. Fetch `origin/main`, start from current main, and preserve unrelated local changes. 2. Prepare the release on a branch:
- Move both changelogs' Unreleased entries into the new version.
- Set the same version in every manifest printed by
`node scripts/release-packages.mjs list`.
- Run `pnpm install` and commit any lockfile change.
- Run the F1 release test-drive protocol and save its report with the
required `-release-v<version>.md` suffix.
- List every released `package@version` in `CHANGELOG.md`.
3. Run `node scripts/release-packages.mjs validate <version>`, then all checks required by `apps/cli/RELEASING.md`. Fix failures before continuing. 4. Commit, push, open the release PR, and merge it to `main` before dispatching the workflow. Never publish unmerged source or a non-main ref. 5. Dispatch `.github/workflows/release-cli.yml` from `main` in dry-run mode and monitor it through completion. 6. Only when the user has explicitly requested the live release, dispatch the same exact version with `dry_run=false`. Monitor it through npm publication, git tagging, and GitHub Release creation. 7. Independently verify the version on npm and run the published CLI's `--version` command. 8. Use the Linear integration to move every issue referenced by the version's changelog section from `MergedUnreleased` to `ReleasedMonitoring`.
Safety
- Never add an npm token. Publishing must use GitHub Actions OIDC.
- Confirm every npm package trusts `cyrusagents/cyrus` and
`release-cli.yml` before the first live workflow run.
- A dry run does not authenticate to npm and does not prove registry writes.
- Never rerun a partially published version blindly. npm versions are
immutable; inspect which packages landed and recover deliberately.
- Do not create or move a release tag until every package is published. The
workflow owns tag and GitHub Release creation.
Your (Claude Code|Codex|Cursor|Gemini) powered (Linear|GitHub|GitLab|Slack) agent.
Repo: cyrusagents/cyrus
Other skills on cyrus.
- /google
Search the web for information. Use when you need to look something up, find current information, or research a topic.
Open skill - /release-core-test
Invoke when dev-testing a Cyrus change that spans CYPACK (edgeworker + CLI) and CYHOST (Vercel-hosted GUI) and the hosted GUI needs to point at an unreleased `cyrus-core` from this repo. Publishes `cyrus-core` (and `claude-runner` if needed) as a `-test.N` prerelease under the
Open skill - /cyrus-setup-claude-auth
Configure Claude Code authentication for Cyrus — API key, OAuth token, or third-party provider.
Open skill - /cyrus-setup-endpoint
Configure the public webhook endpoint for Cyrus — ngrok, Cloudflare Tunnel, or custom URL.
Open skill - /cyrus-setup-github
Configure GitHub for Cyrus — gh CLI login and git config for PRs, with optional webhook setup to enable @mention responses in PR comments, automated rebases and merges, and auto-fixing based on CI failures (coming soon).
Open skill - /cyrus-setup-gitlab
Configure GitLab authentication for Cyrus — glab CLI login and git config for creating merge requests.
Open skill

