Agent skill

Release Maintainer

by Undertone0809 in Undertone0809/rudder

A skill your agent uses when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord…

Apache-2.0Auto-check passedDevelopment

Install Release Maintainer

skills CLI
$ npx skills add Undertone0809/rudder --skill release-maintainer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Undertone0809/rudder release-maintainer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Undertone0809/rudder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/maintainer/release-maintainer .claude/skills/release-maintainer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-maintainer
GitHub stars
292
Token cost
~2.1k tokens
SKILL.md length
1,039 words
Files
10 (incl. references)
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord…

  • Works in 6 steps: resolve and lock the single consistent… → land reviewed release source on main… → run required exact-source CI, preflight,… → …
  • Verifying Rudder releases across npm
  • SKILL.md covers Route Before Reading, Authorization Boundary, Cross-Branch Invariants and Operating Loop, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Release Maintainer is an agent skill from Undertone0809/rudder. Use when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord announcements, install smoke, stable/canary promotion, rollback, and release workflow failures. Use for both hands-on publish requests and read-only release readiness questions; route to the smallest relevant release reference instead of loading every release branch.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `evals/evals.json`, `references/README.md` and `references/announcement.md`).

It sits in Development, covering Deployment, Changelog and release notes and Feature launches and release readiness. It works with npm, GitHub and Discord. The repository describes itself as: Open-source local Agent harness for self-improving agent teams: run agents, review work, and turn feedback into reusable skills. The licence is Apache-2.0.

When your agent uses it

  • Verifying Rudder releases across npm
  • GitHub Releases
  • Discord announcements
  • Stable/canary promotion

Example prompts

  • “/release-maintainer”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. resolve and lock the single consistent version and source SHA;
  2. land reviewed release source on main through a PR and required checks when needed;
  3. run required exact-source CI, preflight, and package validation once;
  4. publish npm, tag, GitHub Release, Desktop, and production-docs surfaces;
  5. verify public installation, clean obsolete canary Releases/tags, and advance
  6. publish and read back the stable Discord announcement under Zeeland's standing

What it can do on your machine

Read from SKILL.md and the folder at commit b82f1b4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Maintainer loads about 2.1k tokens when it runs, and up to ~8.8k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 1,039 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Undertone0809/rudder at commit b82f1b4, republished under its Apache-2.0 licence (© Undertone0809). 1,039 words, ~2,071 tokens.

Download SKILL.mdSave it as .claude/skills/release-maintainer/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
release-maintainer
description
Use when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord announcements, install smoke, stable/canary promotion, rollback, and release workflow failures. Use for both hands-on publish requests and read-only release readiness questions; route to the smallest relevant release reference instead of loading every release branch.

Release Maintainer

Ship or inspect Rudder releases without losing source identity, authorization, or public-surface completeness.

Route Before Reading

Read references/shared.md, then exactly one primary branch:

  • references/stable.md: stable readiness, publish, public notes, Desktop update drill, post-stable cleanup, next-version handoff, and the gate before public announcement.
  • references/canary.md: automatic canary publication, first npm bootstrap, Desktop prerelease assets, and temporary pre-stable latest behavior.
  • references/rollback.md: move npm dist-tags to an already published version without unpublishing packages or rewriting tags.
  • references/partial-recovery.md: npm/tag/Release/Desktop/docs surfaces disagree, a workflow failed after partial publication, or install lookup returns misleading errors.
  • references/setup.md: one-time GitHub environment, npm trusted-publishing, and workflow setup.
  • references/announcement.md: manual Rudder Discord announcement after a stable release has converged. This is a stable closeout add-on, not a primary release branch.

Use a second branch only when the observed state genuinely crosses branches, such as a stable publish that needs partial recovery. Do not preload every reference for a readiness question.

For a requested Rudder stable release, read references/announcement.md after the release surfaces are verified. Zeeland explicitly authorized this default on 2026-09-08: send one release announcement to Rudder / #announcements unless the user opts out. Reuse that standing authority without a second confirmation. Read-only checks, canaries, and publishing only a named non-release surface do not trigger it. Do not add announcements to Release CI or create a webhook.

Authorization Boundary

An explicit request to release a Rudder version, such as release vX.Y.Z, ship this version, or 发版 in a version-release context, authorizes the complete standard release lifecycle below. A request to publish only named docs, a package, or another surface authorizes that surface and its prerequisites. Resolve a bare publish from context; do not expand it into a full version release.

  1. resolve and lock the single consistent version and source SHA;
  2. land reviewed release source on main through a PR and required checks when needed;
  3. run required exact-source CI, preflight, and package validation once;
  4. publish npm, tag, GitHub Release, Desktop, and production-docs surfaces;
  5. verify public installation, clean obsolete canary Releases/tags, and advance the next-version base through its protected-branch PR;
  6. publish and read back the stable Discord announcement under Zeeland's standing authorization, unless the user explicitly opts out.

Release and next-version PRs are part of this authorization. Never push directly to main or bypass its protection. Do not ask for routine second approval after validation. Ask only when channel, version, source, or destination is materially ambiguous.

Questions such as “how does release work?” or “is this ready?” are read-only. Implementation requests without a release/publish imperative stop at Review Ready.

Separate authority is still required for npm unpublish, force-pushing or retargeting published tags, deleting the active canary line, bypassing CI, exposing secrets, or expanding to another product/environment.

Cross-Branch Invariants

  • Lock stable source to a full immutable commit SHA. Later main movement does not silently retarget it, and manual stable dispatch must not use a branch or tag as source_ref.
  • Freeze that source as soon as a stable release imperative arrives. New unrelated main work belongs to the next release instead of extending the active release window.
  • Never republish an npm version that already exists.
  • npm packages use @rudderhq; Desktop binaries belong to GitHub Releases.
  • Stable uses npm latest; canary uses canary. A first-public pre-stable bootstrap may also use latest only after matching Desktop assets exist.
  • Canary tags are canary/vX.Y.Z-canary.N; their GitHub Release title is the clean vX.Y.Z-canary.N and the Release is prerelease.
  • A stable tag points at the reviewed source commit, not a generated handoff commit.
  • Partial publication is repaired from its first missing surface; immutable npm versions are not republished.
  • Public completion requires applicable npm, tag, GitHub Release, Desktop, changelog/docs, install smoke, and next-version handoff evidence. A Discord announcement URL is required only when announcement delivery is in scope.
  • Canary releases do not receive Discord announcements. Do not add announcement delivery to Release CI as part of ordinary release execution.
  • Cleanup removes obsolete GitHub Releases and canary/* tags, not published npm canary versions.
  • A stable release takes priority over an in-flight canary for the same or an older version base once the locked stable source passes its gates. Do not wait for obsolete canary Desktop assets; record npm/tag state, stop the remaining canary work when safe, and let stable cleanup remove its Release/tag.
  • Keep public install smoke, including slow Windows runtime installation. A slow real install is product evidence to optimize, not a release gate to delete.
  • Once a stable campaign is active, candidate-repair commits use [skip release] unless a canary is explicitly needed. CI still validates the repair, while the automatic canary path does not duplicate the manual stable candidate.
  • Do not dispatch a third run after the same stage fails twice on unchanged inputs. Diagnose and repair that stage, then rerun the new immutable SHA once.
  • Preserve unrelated dirty work. Prefer a clean temporary worktree/clone for hands-on publication.
Show full SKILL.md (235 more words)Show less

Operating Loop

  1. Classify the request as setup, canary, stable, rollback, partial recovery, or read-only inspection.
  2. Read references/shared.md and the selected primary reference.
  3. Resolve live local and remote state, then freeze the stable SHA immediately; release truth is temporally unstable.
  4. When release narratives are missing and subagents are available, start one bounded release-notes subagent in parallel with read-only preflight. Give it the locked diff and require drafts for the GitHub notes, the English and Chinese Desktop payloads, plus both public changelogs; the primary agent reviews and integrates the drafts.
  5. State the selected version, locked source SHA, channel, active workflow run, last completed stage, and unresolved blockers in a progress update.
  6. Execute one stable publish path whose machine gates run before mutation; do not introduce a separate preview dispatch or second human hand-off.
  7. Verify every applicable public surface from the same locked source.
  8. For an authorized stable announcement, follow references/announcement.md: check for an existing version post, publish the bounded announcement with no default ping, read it back, and record its direct message URL. Stable releases include this step by default. Record an explicit opt-out as skipped by user; missing or unknown delivery means partial closeout. Do not ask for routine second authorization.
  9. Report version/ref, workflow runs, npm tags, Release assets, install proof, changelog/docs state, announcement URL, cleanup, and remaining manual work.

Output

For read-only requests:

text
Current state:
Blockers:
Next actions:
Authorization:
Verification required:

For hands-on execution:

text
RESULT: RELEASED | PARTIAL | BLOCKED
Version/channel:
Locked source:
Checks:
Published surfaces:
Install proof:
Announcement:
Cleanup/handoff:
Remaining blocker:

© Undertone0809, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (references) in .agents/skills/maintainer/release-maintainer of Undertone0809/rudder.

  • SKILL.md
  • evals/evals.json
  • references/README.md
  • references/announcement.md
  • references/canary.md
  • references/partial-recovery.md
  • references/rollback.md
  • references/setup.md
  • references/shared.md
  • references/stable.md

Open the folder on GitHubat commit b82f1b4

Compare with similar skills

Release Maintainer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Maintainer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Maintainer this skillUndertone0809/rudder292—~2.1kAutomated safety check: PassApache-2.0
Remotion Bits Releaseav/remotion-bits487—~1.2kAutomated safety check: PassNone
Cline CLI Release Publishercline/cline70k—~3.4kAutomated safety check: WarnApache-2.0
ClawRouter Release ChecklistBlockRunAI/ClawRouter6.6k—~1.4kAutomated safety check: PassMIT
Releasehyhmrright/brooks-lint1.5k—~1.2kAutomated safety check: PassMIT
ClickUp CLI Release Processkrodak/clickup-cli121—~906Automated safety check: WarnMIT

Similar skills

  • Remotion Bits Release

    av/remotion-bits

    Runs the full release of the remotion-bits package: version bump, changelog, registry build, release commit, GitHub release, docs deploy and npm publish.

    487 GitHub stars~1.2k tokensUpdated 22 days ago
    DevelopmentAuto-check passed
  • Walks through releasing the Cline CLI package to npm: release notes, version bump, matching git tag, and either the GitHub workflow or a local publish.

    70k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check: warnings
  • ClawRouter Release Checklist

    BlockRunAI/ClawRouter

    Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.

    6.6k GitHub stars~1.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Release

    hyhmrright/brooks-lint

    Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG…

    1.5k GitHub stars~1.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • ClickUp CLI Release Process

    krodak/clickup-cli

    Walks through releasing a new version of clickup-cli: pre-release checks, version bump, tagging, CI watch, release notes and the Homebrew update.

    121 GitHub stars~906 tokensUpdated yesterday
    DevOps & CloudAuto-check: warnings
  • Release Coherence

    macalbert/envilder

    Unified release coherence workflow for any component (CLI, GHA, or SDK).

    138 GitHub stars~1.3k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from Undertone0809/rudder

All 30 skills in this repo
  • Conversation To Skill

    Undertone0809/rudder

    Turn the current conversation's workflow into a reusable agent skill.

    292 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when starting the current Rudder checkout as a temporary managed local preview with a stable URL, readiness check, logs, stop command, and cleanup path for manual inspection…

    292 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Stop Rudder Dev Maintainer

    Undertone0809/rudder

    A skill your agent uses when the user explicitly asks to stop, restart, kill, or clean Rudder repo-local pnpm dev processes or local dev runtime residue, including “把 pnpm dev 停了”, “重启 dev”, or “清掉…

    292 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Deep Research

    Undertone0809/rudder

    Conducts enterprise-grade research with multi-source synthesis, citation tracking, and verification.

    292 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • A skill your agent uses to audit or clean Rudder worktrees, generated artifacts, logs, caches, and repo-owned processes without deleting active work, user data, or unrelated machine state.

    292 GitHub stars~664 tokensUpdated today
    Auto-check passed
  • Visualize

    Undertone0809/rudder

    Create safe inline visual explanations in Rudder Chat. An agent skill from Undertone0809/rudder.

    292 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Questions about Release Maintainer

What does Release Maintainer do?

A skill your agent uses when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord…. Release Maintainer is an agent skill from Undertone0809/rudder. Use when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord announcements, install smoke, stable/canary promotion, rollback, and release workflow failures.

When should I use Release Maintainer?

Release Maintainer fits situations like: verifying Rudder releases across npm; GitHub Releases; discord announcements; stable/canary promotion.

How do I install Release Maintainer in Claude Code?

Run `npx skills add Undertone0809/rudder --skill release-maintainer -a claude-code`. Or copy the skill folder (.agents/skills/maintainer/release-maintainer in Undertone0809/rudder) into .claude/skills/release-maintainer in your project. Claude Code loads it when a task matches its description.

How do I install Release Maintainer in Codex?

Run `npx skills add Undertone0809/rudder --skill release-maintainer -a codex`. Or copy the skill folder (.agents/skills/maintainer/release-maintainer in Undertone0809/rudder) into .agents/skills/release-maintainer in your project. Codex loads it when a task matches its description.

Can I use Release Maintainer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Undertone0809/rudder --skill release-maintainer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-maintainer, .gemini/skills/release-maintainer, .github/skills/release-maintainer and .opencode/skills/release-maintainer in your project.

What does Release Maintainer need to run?

SKILL.md names no scripts, command-line tools or credentials: Release Maintainer is instructions for the agent only.

Does Release Maintainer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Release Maintainer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Maintainer use?

Release Maintainer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Maintainer use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.8k tokens, read only when the agent opens those files.

What are the alternatives to Release Maintainer?

Skills that share tags, products or a category with Release Maintainer: Remotion Bits Release (av/remotion-bits, 487 stars), Cline CLI Release Publisher (cline/cline, 70k stars), ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars) and Release (hyhmrright/brooks-lint, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Maintainer?

Undertone0809 (a GitHub user) maintains it in Undertone0809/rudder, which has 292 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 8, 2026.

Source: Undertone0809/rudder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.