agentsclimarketplace

Cut new release candidate

Skill warpdotdev/client-release-agent-oss/.warp/skills/cut-new-release-candidate

Warp agent skills for release engineering automation — cherry-picking fixes, cutting release candidates, tracking PR status, and posting Sentry/Slack digests.

Install
npx -y skills add warpdotdev/client-release-agent-oss --skill cut-new-release-candidate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Trigger a new release candidate build from a user-provided release branch name. Use when the user asks to cut/trigger/start a new release candidate (e.g. “cut a new RC”, “trigger Cut New Release Candidate”, “make a new .stable_01/.preview_01”) and provides (or can provide) the release branch. Runs the GitHub Actions workflow “Cut New Release Candidate” on the specified ref and returns the run URL (does not wait for completion). Also posts an update to Slack after triggering.

SKILL.md

3.8 KB, 837 tokens by cl100k_base, as published. Nobody here has run it

cut-new-release-candidate

Trigger the release-candidate workflow ($RC_WORKFLOW_NAME) GitHub Action on a specified release branch ref and return the workflow run URL.

Configuration

This skill reads environment-specific values from environment variables (see the repo README.md):

  • INTERNAL_REPOowner/repo that holds your release branches and the workflow.
  • REPO_DIR — absolute path to your local checkout of INTERNAL_REPO.
  • RC_WORKFLOW_NAME — name of the GitHub Actions workflow that cuts a release candidate (default Cut New Release Candidate).
  • RELEASE_CHANNELS — space-separated release channels used to recognize release branches (default preview stable).
  • RELEASE_BRANCH_PREFIX — per-channel branch path prefix; {channel} is replaced with the channel name (default {channel}_release/).

All git/gh operations run inside INTERNAL_REPO.

Step 1: Clarify inputs

Ensure you have:

  • Release branch name (required), e.g. stable_release/v0.YYYY.MM.DD.HH.MM.stable_NN

If the user provides origin/<branch>, strip the origin/ prefix.

Reject non-release branches: the branch must start with the configured RELEASE_BRANCH_PREFIX for one of $RELEASE_CHANNELS:

is_release=0
for ch in $RELEASE_CHANNELS; do
  prefix=$(printf '%s' "$RELEASE_BRANCH_PREFIX" | sed "s|{channel}|$ch|")
  case "$BRANCH_NAME" in
    "$prefix"*) is_release=1; break;;
  esac
done
[ "$is_release" = 1 ] || { echo "Not a release branch: $BRANCH_NAME"; exit 1; }

Step 2: Ensure repo context

If you are not already in the release repo:

  • Try cd "$REPO_DIR"
  • If REPO_DIR is unset or the path does not exist, ask the user for the local path to their release repo, then cd there

Step 3: Validate the branch exists on origin

BRANCH_NAME="<release_branch>"

git fetch origin
git ls-remote --exit-code --heads origin "$BRANCH_NAME" >/dev/null

If this fails, tell the user the branch was not found on origin and ask them to confirm the exact branch name.

Step 4: Trigger the workflow

Trigger the workflow by name on the provided ref:

gh workflow run "$RC_WORKFLOW_NAME" \
  --repo "$INTERNAL_REPO" \
  --ref "$BRANCH_NAME"

Step 5: Return the run URL (no waiting)

Fetch the newest run for this workflow on the branch and return its URL:

gh run list \
  --repo "$INTERNAL_REPO" \
  --workflow "$RC_WORKFLOW_NAME" \
  --branch "$BRANCH_NAME" \
  --limit 1 \
  --json url,status,conclusion,createdAt \
  --jq '.[0]'

Share the url with the user. Do not watch/wait for completion.

Step 6: Post an update to Slack

After triggering, post an update to Slack with the branch name and the run URL.

  • If the user provides a Slack channel and thread to reply in, invoke the respond-to-slack-thread skill to post the update.
  • Otherwise, ask the user where to post (channel + optional thread link) and what audience they want notified.

Suggested message text (edit as needed):

Triggered *$RC_WORKFLOW_NAME* for `$BRANCH_NAME`.
Run: <RUN_URL>

Notes

  • This workflow infers the channel from the branch name (via RELEASE_BRANCH_PREFIX), so it must be run on a release branch.
  • If gh auth fails, ask the user to authenticate (gh auth status / gh auth login) and retry.

Gives 0 of the 12 instructions most ship operate skills give in 837 tokens

Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-06

  • document a rollback plan before deploymentin 40 of 779, across 21 files
  • create an annotated git tagin 21 of 779, across 20 files
  • Run the test suitein 20 of 779
  • update the changelogin 20 of 779, across 18 files
  • verify deployment health after launchin 19 of 779, across 10 files
  • clean up feature flags after full rolloutin 18 of 779, across 10 files
  • verify the working tree is cleanin 18 of 779
  • test both feature flag statesin 17 of 779, across 9 files
  • Make database migrations backward-compatiblein 16 of 779, across 8 files
  • set up error monitoring before launchin 15 of 779, across 7 files
  • monitor metrics at each rollout stagein 14 of 779, across 5 files
  • create a github releasein 14 of 779

Said here and by no other author read

  • strip origin prefix from branch name
  • reject non-release branches
  • run all git operations in release repo
  • ask user for repo path if unset
  • trigger workflow by name on branch
  • return run url without waiting

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.