Official agent skill

GitHub Release

by github in github/awesome-copilot

Guides IA through releasing a new version of a GitHub library end-to-end.

OfficialMITAuto-check passedDevelopment

Install GitHub Release

skills CLI
$ npx skills add github/awesome-copilot --skill github-release -a claude-code

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

GitHub CLI
$ gh skill install github/awesome-copilot github-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/github/awesome-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/github-release .claude/skills/github-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
github-release
GitHub stars
40k
Used in
1 other repo
Token cost
~3.6k tokens
SKILL.md length
1,554 words
Files
3 (incl. references)
Skills in repo
417
Repo updated
First seen
Licence
MIT

At a glance

Guides IA through releasing a new version of a GitHub library end-to-end.

  • Works in 9 steps: Ensure main is up to date → Grab the latest version tag → Analyse what changed since the last… → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers When to Use This Skill, Prerequisites, The 9-Step Release Workflow and Error handling, plus 3 more sections
  • Calls git and gh; reaches github.com

What it does

GitHub Release is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Guides IA through releasing a new version of a GitHub library end-to-end. Handles SemVer versioning and Keep a Changelog formatting automatically.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/commit-classification.md` and `references/semver-rules.md`). Compatibility notes: requires: gh CLI and git

It sits in Development, covering Changelog and release notes. It works with GitHub and Git. The repository describes itself as: Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “Use the github-release skill to guide IA through releasing a new version of a GitHub library end-to-end”
  • “/github-release”

Requirements

  • Compatibility (from SKILL.md): requires: gh CLI and git

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Ensure main is up to date
  2. Grab the latest version tag
  3. Analyse what changed since the last release
  4. Determine the next SemVer version
  5. Create the release branch
  6. Update CHANGELOG.md
  7. Commit and push
  8. Open a Pull Request
  9. Hand off to the user

What it can do on your machine

Read from SKILL.md and the folder at commit 727ff2e. 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
    • gh

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    Also links to:

    • keepachangelog.com

    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.

  • Compatibility

    requires: gh CLI and git

    From compatibility in the SKILL.md frontmatter.

Context cost

GitHub Release loads about 3.6k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 40 tokens; SKILL.md has 1,554 words of instructions outside code blocks.

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

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 github/awesome-copilot at commit 727ff2e, republished under its MIT licence (© github). 1,554 words, ~3,575 tokens.

Download SKILL.mdSave it as .claude/skills/github-release/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
github-release
description
Guides IA through releasing a new version of a GitHub library end-to-end. Handles SemVer versioning and Keep a Changelog formatting automatically.
compatibility
requires: gh CLI and git

GitHub Release Skill

This skill automates the full release workflow for a single-package GitHub repository, from analysis through changelog authoring and PR creation. It relies exclusively on gh (GitHub CLI) and git no other tools needed.

Steps 1 - 4 are read-only reconnaissance nothing is written to the repo until Step 5, once the version number is confirmed.

When to Use This Skill

Use this skill whenever the user wants to cut a new release, publish a new version, bump a version, create a release branch, generate a changelog, or open a release PR on a GitHub repository. Trigger even if the user says something casual like "let's ship a new version" or "time to release".


Prerequisites

Examples below include both Bash and PowerShell variants; Windows users should prefer the PowerShell blocks.

Before starting, verify the environment:

bash
gh auth status                        # must be authenticated
gh repo view --json nameWithOwner     # must be inside a GitHub repo
git status                            # working tree should be clean

If any check fails, stop and tell the user what to fix before continuing.

Then ask the user one question:

"Which directory contains your library's public-facing source code? (e.g. src/, lib/, pkg/ - used to focus the diff on what consumers actually see. Press Enter to scan the whole repo.)"

Store the answer as PUBLIC_PATH. If empty, PUBLIC_PATH is . (repo root). Exclude these paths from all diffs regardless: tests/, test/, spec/, __tests__/, docs/, *.lock, *-lock.json, *.sum, generated files (files with a "do not edit" header comment), and build artefacts.


The 9-Step Release Workflow

Work through every step in order. Show the user what command you're about to run and its output. Pause and ask for confirmation only when explicitly noted.


Step 1 - Ensure main is up to date
bash
git checkout main
git pull origin main

Stay on main for now. The release branch is created in Step 5, after the version is confirmed.


Step 2 - Grab the latest version tag

Why not gh release list? GitHub Releases are an optional layer on top of Git tags. Many repos tag releases with git tag without ever creating a GitHub Release, so gh release list can return empty even when version tags exist. Reading tags directly from git is the reliable source of truth.

bash
# Fetch all tags from remote to ensure local view is current
git fetch --tags

# Find the latest version tag, sorted semantically
# --sort=-version:refname handles 1.10.0 > 1.9.0 correctly (unlike alphabetical)
PREV_TAG=$(git tag --sort=-version:refname | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+' | head -1)
echo "Latest tag: $PREV_TAG"
PowerShell
# Fetch all tags from remote to ensure local view is current
git fetch --tags

# Find the latest version tag, sorted semantically
# --sort=-version:refname handles 1.10.0 > 1.9.0 correctly (unlike alphabetical)
$prevTag = git tag --sort='-version:refname' | `
  Select-String '^[vV]?\d+\.\d+\.\d+' | `
  Select-Object -First 1 -ExpandProperty Line

if ($prevTag) {
  $prevSha = git rev-list -n 1 $prevTag
} else {
  $prevSha = git rev-list --max-parents=0 HEAD
}

Write-Output "Latest tag: $prevTag"

Then verify the tag exists on the remote (not just locally):

bash
git ls-remote --tags origin | grep "refs/tags/$PREV_TAG$"

If the remote check returns nothing, warn the user that the tag appears to be local-only and hasn't been pushed - they may want to push it before continuing.

  • PREV_TAG is the tag name exactly as found (e.g. v1.4.2). Strip any leading v when doing arithmetic; preserve it when naming things.
  • If no tags exist at all, treat PREV_TAG as (none), set PREV_SHA to the first commit, and default the new version to 1.0.0 (skip Step 4 versioning logic; go straight to Step 5).
  • If the tag does not point to a real commit (orphaned tag), fall back to git rev-list --max-parents=0 HEAD and warn the user.
bash
PREV_SHA=$(git rev-list -n 1 "$PREV_TAG" 2>/dev/null || git rev-list --max-parents=0 HEAD)

Step 3 - Analyse what changed since the last release

This step uses two complementary signals. The code diff is the primary source of truth; commit messages provide supporting context about intent.

3a - Code diff (primary signal)
bash
# Focused diff on the public source path, excluding noise
git diff "$PREV_SHA"..HEAD -- "$PUBLIC_PATH" \
  ':(exclude)tests/' ':(exclude)test/' ':(exclude)spec/' \
  ':(exclude)__tests__/' ':(exclude)docs/' \
  ':(exclude)*.lock' ':(exclude)*-lock.json' ':(exclude)*.sum'
PowerShell
# Focused diff on the public source path, excluding noise
git diff "$($prevSha)..HEAD" -- $publicPath `
  ':(exclude)tests/' ':(exclude)test/' ':(exclude)spec/' `
  ':(exclude)__tests__/' ':(exclude)docs/' `
  ':(exclude)*.lock' ':(exclude)*-lock.json' ':(exclude)*.sum'

Read the full diff output. For each changed file, identify:

  1. Removed symbols - functions, classes, methods, constants, exported names that existed before and are now gone. ? Strong signal for MAJOR.
  2. Changed signatures - functions that exist in both versions but with different parameters, return types, or thrown errors. ? Strong signal for MAJOR.
  3. New exported symbols - public functions, classes, constants that didn't exist before. ? Signal for MINOR.
  4. Internal-only changes - modifications that don't touch any public interface (private helpers, unexported functions, algorithm internals). ? PATCH.
  5. Bug fixes - corrections to logic that was provably wrong (e.g. off-by-one, null check, wrong condition), without changing the public API. ? PATCH.

If the diff is very large (thousands of lines), first run the stat summary to prioritise which files to read in full:

bash
git diff "$PREV_SHA"..HEAD --stat -- "$PUBLIC_PATH"

Focus your detailed reading on files with the most changes and files whose names suggest they define public interfaces (e.g. index.*, api.*, exports.*, public.*, mod.*, __init__.*).

3b - Commit log (secondary signal)
bash
git log "$PREV_SHA"..HEAD --oneline --no-merges

Use this to:

  • Understand the intent behind code changes that aren't self-explanatory from the diff alone (e.g. a one-line security fix labelled as such).
  • Catch changes that may be in paths outside PUBLIC_PATH but are still user-visible (e.g. a CLI flag change in a cmd/ directory).
  • Fill in context for changelog entries where the code alone doesn't tell the whole story.

See references/commit-classification.md for mapping message patterns to change types.

3c - Reconcile the two signals

When signals agree ? use that classification with confidence.

When signals conflict ? prefer the code diff. Examples:

  • Commit says fix: typo but the diff shows a removed public method ? treat as MAJOR.
  • Commit says feat: new API but the diff only touches private internals ? treat as PATCH.
  • Commit says chore: refactor but the diff adds new exported symbols ? treat as MINOR.

Document any conflicts you notice - flag them to the user during the changelog review in Step 6.


Step 4 - Determine the next SemVer version

Apply these rules to your analysis from Step 3 (full rules in references/semver-rules.md):

ConditionBump
Any breaking change to public API (removal, signature change, behaviour change)MAJOR
New exported symbol or feature, no breaking changesMINOR
Bug fix, perf improvement, security fix, docs, chore onlyPATCH

When a release contains a mix, the highest precedence wins: MAJOR > MINOR > PATCH.

Compute NEXT_VERSION:

  • Split PREV_TAG into MAJOR.MINOR.PATCH integers.
  • Apply the appropriate bump.
  • Format as vMAJOR.MINOR.PATCH.

Present the proposed version to the user with a brief rationale that cites specific code findings, not just commit messages. Example:

"I'm proposing v2.1.0. The diff shows two new exported functions (NewClient and WithTimeout) in src/client.go, and no existing public symbols were removed or changed. Commit messages corroborate this as feature additions."

Ask: "Does this version look right, or would you like to adjust it?" Wait for confirmation before proceeding.


Show full SKILL.md (603 more words)Show less
Step 5 - Create the release branch

Now that the version is confirmed, create the branch with the correct name from the start:

bash
git checkout -b release/vX.Y.Z
git push -u origin release/vX.Y.Z

Step 6 - Update CHANGELOG.md

Read the existing CHANGELOG.md (or create it if absent). Follow the Keep a Changelog format strictly.

Structure to insert at the top (just below the # Changelog header):

markdown
## [X.Y.Z] - YYYY-MM-DD

### Added
- ...

### Changed
- ...

### Deprecated
- ...

### Removed
- ...

### Fixed
- ...

### Security
- ...

Rules:

  • Use today's date in YYYY-MM-DD format.
  • Omit sections that have no entries - don't leave empty headings.
  • Write entries in plain English from a user's perspective, derived primarily from what the code diff shows, supplemented by commit message context. Good: "Added WithTimeout option to HTTP client constructor." Bad: "feat: add timeout cfg param"
  • Map findings to sections:
    • New exported symbol ? Added
    • Breaking removal ? Removed
    • Breaking change to existing API ? Changed (flag it as breaking)
    • Bug/logic fix, perf ? Fixed
    • Security fix ? Security
    • Internal refactor, docs, chore, test ? omit unless user-visible
  • If a commit message revealed intent that the code diff alone wouldn't convey (e.g. a security fix disguised as a one-line change), include that context in the changelog entry.
  • Also update the diff link at the bottom of the file:
    markdown
    [X.Y.Z]: https://github.com/OWNER/REPO/compare/vPREV...vNEXT

Show the user the proposed changelog section before writing it to disk. If any signal conflicts were found in Step 3c, flag them here so the user can verify. Ask: "Does this changelog look accurate? Any entries to add, remove, or reword?" Incorporate feedback, then write to disk.


Step 7 - Commit and push
bash
git add CHANGELOG.md
git commit -m "chore: release vX.Y.Z"
git push origin release/vX.Y.Z

Confirm the push succeeded before moving on.


Step 8 - Open a Pull Request

?? IMPORTANT: Always use --body-file to pass PR body text, never --body with inline text. Inline escape sequences like \n are not interpreted as newlines by PowerShell and will appear as literal text in the PR. Using a file ensures proper markdown formatting.

bash
gh pr create \
  --base main \
  --head release/vX.Y.Z \
  --title "Release vX.Y.Z" \
  --body "$(cat <<'EOF'
## Release vX.Y.Z

This PR prepares the **vX.Y.Z** release.

### What's included
<!-- paste the changelog section here -->

### Checklist
- [ ] Changelog reviewed
- [ ] Version bump verified
- [ ] CI passing

After merging, create the tag on the merge commit:
\`\`\`
git tag vX.Y.Z <merge-commit-sha>
git push origin vX.Y.Z
\`\`\`
EOF
)"
PowerShell
# Create PR body using here-string (preserves actual newlines, not escape sequences)
$prBody = @"
## Release vX.Y.Z

This PR prepares the **vX.Y.Z** release.

### What's included
<paste changelog here>

### Checklist
- [ ] Changelog reviewed
- [ ] Version bump verified
- [ ] CI passing

After merging, create the tag on the merge commit:
```
git tag vX.Y.Z <merge-commit-sha>
git push origin vX.Y.Z
```
"@

# Write to file and use --body-file (do NOT use inline --body with escape sequences)
$prBody | Out-File -FilePath release_pr_body.md -Encoding utf8 -NoNewline
gh pr create --base main --head release/vX.Y.Z --title "Release vX.Y.Z" --body-file release_pr_body.md

Paste the changelog section into the PR body's "What's included" block (or leave placeholder for manual review).


Step 9 - Hand off to the user

Tell the user:

Release PR is open! ??

New version: vX.Y.Z

Once the PR is reviewed and merged, you'll need to create the tag yourself on the merge commit:

bash
git tag vX.Y.Z <merge-commit-sha>
git push origin vX.Y.Z

Then go to GitHub Releases and publish the release from that tag. You can copy the changelog section directly into the release notes.


Error handling

SituationWhat to do
gh auth status failsStop; tell user to run gh auth login
Not inside a git repoStop; tell user to cd into their repo
Working tree is dirtyWarn; ask if they want to stash or abort
No commits since last tagTell user there's nothing to release
Tag exists but points to no commitUse first commit as diff base; warn user
Latest tag exists locally but not on remoteWarn user; ask if they want to push the tag first or continue anyway
Diff is empty for PUBLIC_PATH but commits existWarn; all changes may be internal; ask if they still want to proceed
git push fails (e.g. protected branch rules)Report the error verbatim; suggest they check branch protection settings

Troubleshooting in PowerShell

  • If a command that works locally prints gh usage or treats a subcommand as separate token, ensure you're invoking the gh.exe on PATH (Get-Command gh) and avoid passing unexpanded nested substitutions; use the PowerShell patterns above.
  • Recommend tests: gh --version; git fetch --tags; run the PowerShell snippet to set $prevTag and run git diff --name-only $prevSha..HEAD -- src/

Limitations

  • Requires the gh CLI to be installed and authenticated.
  • Requires git tags to determine current version.

Reference files

  • references/semver-rules.md - Extended SemVer decision rules and edge cases
  • references/commit-classification.md - Heuristics for classifying commit messages into change types

© github, MIT. 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 2 other files (references) in skills/github-release of github/awesome-copilot.

  • SKILL.md
  • references/commit-classification.md
  • references/semver-rules.md

Open the folder on GitHubat commit 727ff2e

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in github/awesome-copilot, which our catalogue first saw on October 7, 2026.

Compare with similar skills

GitHub 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.

GitHub Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GitHub Release this skillgithub/awesome-copilot40k1 repos~3.6kAutomated safety check: PassMIT
Draft Release Notesjamiepine/voicebox57k—~941Automated safety check: PassMIT
Mole Release Notes Publishertw93/Mole69k—~1.9kAutomated safety check: PassGPL-3.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause

Similar skills

  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated today
    DevelopmentAuto-check passed
  • Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.

    69k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.5k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from github/awesome-copilot

All 417 skills in this repo
  • Acquire Codebase Knowledge

    github/awesome-copilot

    Official

    Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.

    40k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Azure Architecture Autopilot

    github/awesome-copilot

    Official

    Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.

    40k GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Draw.io Diagram Generator

    github/awesome-copilot

    Official

    Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.

    40k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed
  • Credit Risk Data Cleaning

    github/awesome-copilot

    Official

    Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.

    40k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Daily Focus Board

    github/awesome-copilot

    Official

    Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.

    40k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Python Pypi Package Builder

    github/awesome-copilot

    Official

    End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.

    40k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Works with

Categories

Questions about GitHub Release

What does GitHub Release do?

Guides IA through releasing a new version of a GitHub library end-to-end. GitHub Release is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Guides IA through releasing a new version of a GitHub library end-to-end.

When should I use GitHub Release?

GitHub Release fits situations like: tasks that involve Changelog and release notes.

How do I install GitHub Release in Claude Code?

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

How do I install GitHub Release in Codex?

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

Can I use GitHub 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 github/awesome-copilot --skill github-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/github-release, .gemini/skills/github-release, .github/skills/github-release and .opencode/skills/github-release in your project.

What does GitHub Release need to run?

Going by SKILL.md and its folder, GitHub Release needs the command-line tools its instructions call (git and gh). Compatibility (from SKILL.md): requires: gh CLI and git.

Does GitHub Release access the network?

SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.

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

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

How many tokens does GitHub Release use?

About 3.6k tokens (SKILL.md is roughly 14k 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 1.5k tokens, read only when the agent opens those files.

What are the alternatives to GitHub Release?

Skills that share tags, products or a category with GitHub Release: Draft Release Notes (jamiepine/voicebox, 57k stars), Mole Release Notes Publisher (tw93/Mole, 69k stars), Release Bump (jamiepine/voicebox, 57k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GitHub Release?

github (a GitHub organization, an official publisher) maintains it in github/awesome-copilot, which has 39,748 GitHub stars. The repository holds 417 skills in this directory. The repository was last updated on October 7, 2026.

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