Official agent skill

Release

by sourcegraph in sourcegraph/src-cli

Guides Sourcegraph CLI patch, minor, and major releases. An agent skill from sourcegraph/src-cli.

OfficialApache-2.0Auto-check passedBackend & APIs

Install Release

skills CLI
$ npx skills add sourcegraph/src-cli --skill release -a claude-code

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

GitHub CLI
$ gh skill install sourcegraph/src-cli release --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/sourcegraph/src-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release .claude/skills/release && 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
GitHub stars
359
Token cost
~1.9k tokens
SKILL.md length
1,021 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides Sourcegraph CLI patch, minor, and major releases. An agent skill from sourcegraph/src-cli.

  • Works in 5 steps: Release type, if not clear from the… → Exact version, if it cannot be inferred… → Source branch, if it is not the default… → …
  • Preparing release branches
  • SKILL.md covers Infer the release plan, Hard stops, Validation and Execute the release, plus 3 more sections
  • Calls git and mise

What it does

Release is an agent skill from sourcegraph/src-cli, published by the product's own GitHub organization. Guides Sourcegraph CLI patch, minor, and major releases. Use when preparing release branches, selecting patch commits, running Trivy checks, creating release tags, or managing local/pushed release artifacts.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs. It works with Trivy and GraphQL. The licence is Apache-2.0.

When your agent uses it

  • Preparing release branches
  • Selecting patch commits
  • Running Trivy checks
  • Creating release tags

Example prompts

  • “Use the release skill to guide Sourcegraph CLI patch, minor, and major releases. An agent skill from sourcegraph/src-cli”
  • “/release”

Workflow steps

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

  1. Release type, if not clear from the request or version number.
  2. Exact version, if it cannot be inferred from existing tags.
  3. Source branch, if it is not the default branch.
  4. Commit selection, only if the user has not provided commits/PRs and has not asked you to inspect history and decide.
  5. Whether to push, only after local branches/tags are ready.

What it can do on your machine

Read from SKILL.md and the folder at commit 2fc111e. 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

    Shell commands in SKILL.md call:

    • git
    • mise

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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 loads about 1.9k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,021 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

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 sourcegraph/src-cli at commit 2fc111e, republished under its Apache-2.0 licence (© sourcegraph). 1,021 words, ~1,881 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Guides Sourcegraph CLI patch, minor, and major releases. Use when preparing release branches, selecting patch commits, running Trivy checks, creating release tags, or managing local/pushed release artifacts.

Release

Infer the release plan

Gather only the information that is actually missing. Do not ask questions whose answers can be derived safely from tags, release branches, repository conventions, or the user's wording.

Before asking the user anything, derive the release plan:

  • release_type: from user wording or semver shape.
  • version: from the explicit user version, otherwise from existing tags.
  • release_branch: use the existing matching release branch when present; otherwise infer from recent branch convention. In this repository, use release/<major>.<minor>.x, for example release/7.2.x for 7.2.2.
  • source: user-provided source, otherwise the repository default branch.
  • tag: repository's existing release tag format. In this repository, use the bare version as a signed annotated tag with message Release v<version>, for example git tag -s 7.2.2 -m "Release v7.2.2".
  • push_mode: local-only unless the user explicitly asks to push.
  • worktree_mode: prefer temporary git worktrees when handling multiple release trains or when the current checkout is detached or managed by jj.

Ask a narrow question only when a field cannot be inferred safely or the missing answer would change release artifacts or risk pushing/tagging the wrong thing:

  1. Release type, if not clear from the request or version number.
  2. Exact version, if it cannot be inferred from existing tags.
  3. Source branch, if it is not the default branch.
  4. Commit selection, only if the user has not provided commits/PRs and has not asked you to inspect history and decide.
  5. Whether to push, only after local branches/tags are ready.

For version inference:

  • Inspect existing tags with git tag --list --sort=-v:refname.
  • Inspect release branches with git branch -a --list '*release*'.
  • For patch releases, increment the latest patch tag on the target release train.
  • For minor and major releases, increment the requested component from the latest released version and reset lower components to zero.
  • "One minor back" means the previous minor release branch; increment the latest patch tag on that line.
  • Confirm inferred versions in progress updates, but keep working unless the user asked for confirmation before mutation.

Hard stops

Stop and ask before continuing if:

  • The working tree is dirty in a way not caused by this release work.
  • A release branch or tag would be pushed without explicit approval.
  • A force-push or tag replacement would be needed.
  • Trivy or required tests fail before tagging or pushing.
  • Cherry-pick conflicts remain unresolved.
  • The target branch for an existing patch train is missing.

Never tag with a dirty working tree, unresolved conflicts, failed validation, or while checked out on the wrong branch.

Validation

Before starting the release work:

  1. Make sure the working tree is clean with git status.
  2. Fetch current refs and tags with git fetch --all --tags --prune.
  3. Run Trivy before creating final release artifacts, and earlier when the release is vulnerability-driven.
    • For this repository, use mise x trivy -- trivy fs --exit-code 1 --severity HIGH,CRITICAL.
    • Use a different documented Trivy command only if the repository adds one.
    • If running from a temporary worktree, mise may require trusting that worktree's mise.toml. Run mise trust -y <worktree>/mise.toml when needed, then remove or untrust temporary state during cleanup.

This repository is commonly used with jj, so git status may report HEAD (no branch). Treat that as normal if the worktree is otherwise clean.

Show full SKILL.md (486 more words)Show less

Execute the release

Use the same workflow for patch, minor, and major releases. The release type mainly changes which commits from the source branch are included.

  1. Inspect refreshed refs/tags and existing release branches.
  2. Infer and state the release plan.
  3. Validate the source and target as required.
  4. Create or check out the target release branch:
    • For a new release line, create the release branch from the source branch.
    • For an existing release line, use the existing release branch.
  5. Apply the release-type commit selection rules; use git cherry-pick -x <sha> for commits ported onto an existing release branch.
  6. Resolve conflicts carefully and keep the release branch limited to selected commits and release-process changes.
  7. Validate every release branch after porting changes.
  8. Before tagging, show the release contents summary and ask Proceed?.
  9. Tag locally on the release branch.
  10. Push the release branch and tag only when requested or required by the release process and approved by the user.

Use this pre-tag summary format:

md
### Included in <release>
- <one-line summary> - PR #<number>

### Excluded
- <one-line summary> - PR #<number> (reason: <reason>)

Proceed?

Commit selection by release type

For patch releases, infer the selection from the purpose of a patch release: include only low-risk fixes needed for the release line, and exclude features, broad refactors, cleanup-only work, and unrelated dependency churn unless the user explicitly asks otherwise.

For vulnerability-driven patch releases, include the full remediation closure, not just commits whose messages mention a CVE, scanner, or vulnerability. Toolchain, runtime, base-image, dependency-manifest, lockfile, scanner-configuration, and build/release-definition changes may be required prerequisites even when their commit messages are generic.

For minor and major releases, include the normal release-train contents from the source branch, respecting any user-requested exclusions or intentionally breaking-change boundaries.

When the user asks you to inspect history and decide what to port, compare the target release branch to the source branch and inspect likely candidates:

  • git log --oneline --reverse origin/release/7.2.x..origin/main
  • git show --stat --patch <candidate>
  • git cherry -v origin/release/7.2.x <candidate> to notice already-applied equivalent changes

Do not rely on commit messages alone. Inspect nearby commits, parent/child relationships, and file-level dependencies so prerequisite fixes are not missed. Before finalizing candidate selection, summarize any excluded adjacent prerequisite commits and why they are excluded.

Tagging rules

  • Always tag on the release branch.
  • State the inferred tag before creating it; ask only if the format cannot be inferred or the operation will push.
  • Prefer the repository's existing tag format. Inspect existing tags if unsure.
  • Verify the checked-out branch before tagging with git branch --show-current.
  • After tagging, show the created tag and the commit it points to.
  • Summarize every mutation: branch creation, cherry-picks, version changes, commits, pushes, and tags.

Local-only release summary

When local release artifacts are ready, report:

  • Versions created and target branches.
  • Cherry-picked source commits and resulting branch-tip commits.
  • Tag names, tag targets, and whether tags are annotated/signed.
  • Validation commands and outcomes.
  • Ahead counts versus origin, for example git rev-list --left-right --count origin/release/7.2.x...release/7.2.x.
  • That no pushes were performed, unless pushes were explicitly requested.

© sourcegraph, 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

Just SKILL.md in .agents/skills/release of sourcegraph/src-cli.

Open the folder on GitHubat commit 2fc111e

Compare with similar skills

Release 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skillsourcegraph/src-cli359—~1.9kAutomated safety check: PassApache-2.0
Flow Next Resolve PRgmickel/flow-next706—~1.1kAutomated safety check: PassMIT
Dev Rulesrust-dd/tako162—~810Automated safety check: PassMIT
Release WorkflowGoldziher/spikard123—~909Automated safety check: PassMIT
Review PR Commentslatitude-dev/latitude-llm4.7k—~2.6kAutomated safety check: PassMIT
Buffer APIproflead/codex-skills-library154—~1.7kAutomated safety check: PassNone

Similar skills

  • Flow Next Resolve PR

    gmickel/flow-next

    Resolve PR review feedback. An agent skill from gmickel/flow-next.

    706 GitHub stars~1.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Dev Rules

    rust-dd/tako

    General coding-style rules to apply to every project. An agent skill from rust-dd/tako.

    162 GitHub stars~810 tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • Release Workflow

    Goldziher/spikard

    Release/publish the spikard Rust core crate and CLI end-to-end.

    123 GitHub stars~909 tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Review PR Comments

    latitude-dev/latitude-llm

    Triages a PR with GitHub CLI: loads issue-level and inline review feedback (gh pr view, gh api REST, gh api graphql as appropriate), walks items in order, replies in the correct thread, optional…

    4.7k GitHub stars~2.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Buffer API

    proflead/codex-skills-library

    Manage Buffer content via the GraphQL API. An agent skill from proflead/codex-skills-library.

    154 GitHub stars~1.7k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Moai Ref API Patterns

    modu-ai/moai-adk

    REST/GraphQL API design patterns, error handling conventions, and input validation reference for backend development.

    1.2k GitHub stars~1.9k tokensUpdated today
    Backend & APIsAuto-check passed

More from sourcegraph/src-cli

  • Writing PRs And Commits

    sourcegraph/src-cli

    Official

    Writes and revises Sourcegraph pull request titles, descriptions, and single-PR commit messages.

    359 GitHub stars~991 tokensUpdated 9 days ago
    Auto-check passed

Works with

Questions about Release

What does Release do?

Guides Sourcegraph CLI patch, minor, and major releases. An agent skill from sourcegraph/src-cli. Release is an agent skill from sourcegraph/src-cli, published by the product's own GitHub organization. Guides Sourcegraph CLI patch, minor, and major releases.

When should I use Release?

Release fits situations like: preparing release branches; selecting patch commits; running Trivy checks; creating release tags.

How do I install Release in Claude Code?

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

How do I install Release in Codex?

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

Can I use Release 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 sourcegraph/src-cli --skill release -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, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git and mise).

Does Release access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release 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 use?

Release 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 use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release?

Skills that share tags, products or a category with Release: Flow Next Resolve PR (gmickel/flow-next, 706 stars), Dev Rules (rust-dd/tako, 162 stars), Release Workflow (Goldziher/spikard, 123 stars) and Review PR Comments (latitude-dev/latitude-llm, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

sourcegraph (a GitHub organization, an official publisher) maintains it in sourcegraph/src-cli, which has 359 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 28, 2026.

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