/release
Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe
$ npx -y skills add sonichi/sutando --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, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe
SKILL.md
release.SKILL.mdname: release
description: Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe and non-publishing; tagging and publishing require explicit owner confirmation.
Release
Use [`docs/release-process.md`](../../docs/release-process.md) as policy. Do not duplicate or reinterpret it here. This skill turns that policy into an evidence-backed workflow.
Choose a mode
- **Prepare**: inspect changes, update documentation and release artifacts, run
gates, and write a proposal. This is the default.
- **Publish**: create the tag and GitHub Release only after explicit owner
confirmation in the current conversation.
Never infer publish permission from “prepare,” “get ready,” a green CI run, or an approved release PR.
Prepare
1. Read `docs/release-process.md` completely. 2. Resolve the repository and workspace:
REPO="$(git rev-parse --show-toplevel)"
WORKSPACE="$(bash "$REPO/scripts/sutando-config.sh" workspace)"
3. Identify the last release tag and the exact candidate SHA. Compare the tag to the candidate; do not rely only on PR titles. 4. Classify the change set:
- user-visible features and fixes;
- configuration, schema, API, protocol, or permission changes;
- migrations and rollback implications;
- new or changed skills;
- install, setup, operations, and troubleshooting changes.
5. Run the documentation audit:
python3 skills/release/scripts/docs_audit.py
6. Perform a docs-impact pass. For every user-visible or contract change, identify the canonical document in `docs/catalog.json`. Update that document, its `last_verified` date, README navigation when appropriate, migration or upgrade guidance, and `CHANGELOG.md`. Do not copy canonical text into a second document. 7. Prepare one release PR containing only release artifacts and documentation. Do not mix product fixes into it; list unresolved fixes as blockers. 8. Run every applicable hard gate from `docs/release-process.md`, including the fresh-clone health check, headline-feature smoke, migration idempotency, and prior-release-to-candidate upgrade smoke. Record exact commands, candidate SHA, exit status, and observable evidence. Never invent or summarize an unexecuted gate as passing. 9. Write the proposal to `$WORKSPACE/notes/release-proposals/proposed-vX.Y.Z.md` with:
- candidate version and SHA;
- SemVer rationale;
- user-facing summary and CHANGELOG draft;
- documentation-impact table;
- gate evidence;
- migrations, rollback, and known gaps;
- unresolved blockers;
- explicit owner decision line: `publish: pending owner confirmation`.
10. Report the proposal and release PR. Stop before tagging or publishing.
Publish
Proceed only when the owner explicitly confirms the exact version and candidate SHA in the current conversation.
1. Re-read the proposal and `docs/release-process.md`. 2. Verify the candidate SHA is still the intended commit, the release PR is merged, required checks are green, the worktree is clean, the tag does not exist, and every blocker is resolved. 3. If any evidence is stale or the SHA changed, return to **Prepare**. 4. Create the annotated tag. Use a signed tag only when the owner is performing the signing with their configured key; never impersonate an owner signature. 5. Push the tag and create the GitHub Release from the approved notes. 6. Verify the remote tag and release page, then report their URLs and SHA.
Safety
- Treat tag creation, tag push, and GitHub Release creation as irreversible
external writes requiring explicit owner confirmation.
- Never publish from a dirty tree, a moving branch name, or an unrecorded SHA.
- Never bypass CI, approvals, migration gates, or release blockers.
- Keep `CHANGELOG.md` authoritative; generated GitHub notes are a completeness
aid, not the release narrative.
Read more
name: release description: Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe and non-publishing; tagging and publishing require explicit owner confirmation.
Release
Use [`docs/release-process.md`](../../docs/release-process.md) as policy. Do not duplicate or reinterpret it here. This skill turns that policy into an evidence-backed workflow.
Choose a mode
- **Prepare**: inspect changes, update documentation and release artifacts, run
gates, and write a proposal. This is the default.
- **Publish**: create the tag and GitHub Release only after explicit owner
confirmation in the current conversation.
Never infer publish permission from “prepare,” “get ready,” a green CI run, or an approved release PR.
Prepare
1. Read `docs/release-process.md` completely. 2. Resolve the repository and workspace:
REPO="$(git rev-parse --show-toplevel)" WORKSPACE="$(bash "$REPO/scripts/sutando-config.sh" workspace)"
3. Identify the last release tag and the exact candidate SHA. Compare the tag to the candidate; do not rely only on PR titles. 4. Classify the change set:
- user-visible features and fixes;
- configuration, schema, API, protocol, or permission changes;
- migrations and rollback implications;
- new or changed skills;
- install, setup, operations, and troubleshooting changes.
5. Run the documentation audit:
python3 skills/release/scripts/docs_audit.py
6. Perform a docs-impact pass. For every user-visible or contract change, identify the canonical document in `docs/catalog.json`. Update that document, its `last_verified` date, README navigation when appropriate, migration or upgrade guidance, and `CHANGELOG.md`. Do not copy canonical text into a second document. 7. Prepare one release PR containing only release artifacts and documentation. Do not mix product fixes into it; list unresolved fixes as blockers. 8. Run every applicable hard gate from `docs/release-process.md`, including the fresh-clone health check, headline-feature smoke, migration idempotency, and prior-release-to-candidate upgrade smoke. Record exact commands, candidate SHA, exit status, and observable evidence. Never invent or summarize an unexecuted gate as passing. 9. Write the proposal to `$WORKSPACE/notes/release-proposals/proposed-vX.Y.Z.md` with:
- candidate version and SHA;
- SemVer rationale;
- user-facing summary and CHANGELOG draft;
- documentation-impact table;
- gate evidence;
- migrations, rollback, and known gaps;
- unresolved blockers;
- explicit owner decision line: `publish: pending owner confirmation`.
10. Report the proposal and release PR. Stop before tagging or publishing.
Publish
Proceed only when the owner explicitly confirms the exact version and candidate SHA in the current conversation.
1. Re-read the proposal and `docs/release-process.md`. 2. Verify the candidate SHA is still the intended commit, the release PR is merged, required checks are green, the worktree is clean, the tag does not exist, and every blocker is resolved. 3. If any evidence is stale or the SHA changed, return to **Prepare**. 4. Create the annotated tag. Use a signed tag only when the owner is performing the signing with their configured key; never impersonate an owner signature. 5. Push the tag and create the GitHub Release from the approved notes. 6. Verify the remote tag and release page, then report their URLs and SHA.
Safety
- Treat tag creation, tag push, and GitHub Release creation as irreversible
external writes requiring explicit owner confirmation.
- Never publish from a dirty tree, a moving branch name, or an unrecorded SHA.
- Never bypass CI, approvals, migration gates, or release blockers.
- Keep `CHANGELOG.md` authoritative; generated GitHub notes are a completeness
aid, not the release narrative.
My AI Stand — Realtime by Day, Rewriting Itself by Night. Summon my AI superpower. Voice, vision, screen, meetings, calls when I'm engaged. Learns my patterns, ships its own code when I'm not. Runs across my Macs, interacts with people & their Stands.
Repo: sonichi/sutando
Other skills on sutando.
- /agent-registry
Local Agent Registry — a standalone, dependency-free service that tracks running Claude Code (and other) agent instances. Agents self-register on startup and heartbeat while alive; the Electron overlay and Sutando dashboard read the live list. Use when you need to know which
Open skill - /agent-room-ops
**One skill, multiple tools.** Everything an agent does in a room beyond its task inbox lives here as a tool, so the parity capabilities are self-evidently *one collection* (not N scattered skills). Each tool is a thin **gateway-only** client verb sharing `_gateway.py`; the
Open skill - /audio-transcribe
Transcribes audio files and voice notes to text via Gemini 2.5-flash. Integrates with Slack, Discord, and Telegram bridges so voice clips surface as readable text in tasks.
Open skill - /bot2bot-post
Post a coordination message from this bot to the shared bot2bot channel — @-mentioning a specific peer via --to, auto-mentioning only in single-peer fleets, never guessing.
Open skill - /call-diagnostics
Analyze phone call observability data, detect problems, track them across calls, and recommend systematic repairs.
Open skill - /claude-codex
Bash wrapper around the local Codex CLI for non-interactive runs from inside Sutando (bridges, cron, scripts). For interactive code review or task hand-off from this Claude Code session, prefer the official `/codex:*` plugin commands; this skill is the file-bridge-compatible
Open skill

