Agent skill

New

by umputun in umputun/cc-thingz

A skill your agent uses when user asks to create a release, cut a release, or publish a version.

MITAuto-check: notesDevelopment

Install New

skills CLI
$ npx skills add umputun/cc-thingz --skill new -a claude-code

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

GitHub CLI
$ gh skill install umputun/cc-thingz new --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/umputun/cc-thingz.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/release-tools/skills/new .claude/skills/new && 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
new
GitHub stars
484
Token cost
~1.9k tokens
SKILL.md length
656 words
Files
4 (incl. scripts)
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when user asks to create a release, cut a release, or publish a version.

  • Works in 10 steps: Ask Release Type → Detect Platform → Validate Prerequisites → …
  • User asks to create a release
  • SKILL.md covers Activation Triggers, Scripts, Workflow and Edge Cases, plus 1 more section
  • Runs Shell scripts from its folder; calls git, bash and gh

What it does

New is an agent skill from umputun/cc-thingz. Use when user asks to create a release, cut a release, or publish a version. Auto-detects GitHub vs GitLab vs Gitea, calculates semantic version, generates release notes from PRs/MRs or commits, shows preview for confirmation before publishing.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/calc-version.sh`, `scripts/detect-platform.sh` and `scripts/get-notes.sh`).

It sits in Development, covering Changelog and release notes. It works with GitHub and GitLab. The repository describes itself as: various things for claude code. The licence is MIT.

When your agent uses it

  • User asks to create a release
  • Publish a version

Example prompts

  • “/new”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash, AskUserQuestion

Workflow steps

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

  1. Ask Release Type
  2. Detect Platform
  3. Validate Prerequisites
  4. Get Current Version
  5. Calculate New Version
  6. Generate Release Notes
  7. Check and Update CHANGELOG
  8. Preview and Confirm
  9. Create Release
  10. Report Result

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • bash
    • gh
    • glab

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

  • Network

    No URLs in SKILL.md. Its commands use git, gh and glab, 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

New loads about 1.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 656 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, AskUserQuestion

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); the scripts in this folder are not scanned.

SKILL.md

The full file from umputun/cc-thingz at commit 99e1c8d, republished under its MIT licence (© umputun). 656 words, ~1,939 tokens.

Download SKILL.mdSave it as .claude/skills/new/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
new
description
Use when user asks to create a release, cut a release, or publish a version. Auto-detects GitHub vs GitLab vs Gitea, calculates semantic version, generates release notes from PRs/MRs or commits, shows preview for confirmation before publishing.
allowed-tools
Bash, AskUserQuestion

Release Workflow

Creates GitHub, GitLab, or Gitea releases with auto-versioning and release notes generation.

Activation Triggers

  • "create release", "cut release", "new release"
  • "publish version", "bump version", "new version"
  • "tag and release"

Scripts

Helper scripts in skill's scripts/ directory (use ${CLAUDE_PLUGIN_ROOT} for path resolution):

  • detect-platform.sh - outputs github, gitlab, or gitea
  • calc-version.sh <type> - outputs new version (e.g., v1.2.3)
  • get-notes.sh <platform> - outputs release notes (PRs/MRs or commits)

Every helper exits non-zero and prints the reason on stderr. If any of Steps 2, 5 or 6 fails, report that text to the user and abort the workflow - do not continue with an empty value. get-notes.sh in particular fails when the forge CLI is missing, unauthenticated or rate-limited; continuing there publishes a release whose notes list none of its PRs.

On Gitea, get-notes.sh collects no PRs and returns commit-derived notes with a warning on stderr, because tea pr list exposes neither a merged flag nor a merge timestamp. That warning is not a failure - show it to the user with the preview in Step 8 and carry on.

Workflow

Step 1: Ask Release Type

Use AskUserQuestion tool to get release type:

json
{
  "questions": [{
    "question": "What type of release is this?",
    "header": "Version",
    "options": [
      {"label": "Hotfix", "description": "Bug fixes (1.2.3 → 1.2.4)"},
      {"label": "Minor", "description": "New features (1.2.3 → 1.3.0)"},
      {"label": "Major", "description": "Breaking changes (1.2.3 → 2.0.0)"}
    ],
    "multiSelect": false
  }]
}
Step 2: Detect Platform
bash
platform=$(bash ${CLAUDE_PLUGIN_ROOT}/skills/new/scripts/detect-platform.sh)
Step 3: Validate Prerequisites
bash
# working tree must be clean
if [ -n "$(git status --porcelain)" ]; then
    echo "error: uncommitted changes - commit or stash first"
fi

# sync with remote (--tags ensures all remote tags are fetched)
git fetch origin --tags
Step 4: Get Current Version
bash
last_tag=$(git describe --tags --abbrev=0 --match "v*" 2>/dev/null || echo "none")
Step 5: Calculate New Version
bash
new_version=$(bash ${CLAUDE_PLUGIN_ROOT}/skills/new/scripts/calc-version.sh <release_type>)

Verify tag doesn't already exist:

bash
if git rev-parse "$new_version" &>/dev/null; then
    echo "error: tag $new_version already exists"
fi
Step 6: Generate Release Notes
bash
notes=$(bash ${CLAUDE_PLUGIN_ROOT}/skills/new/scripts/get-notes.sh "$platform")

Script logic:

  1. Collects PRs/MRs merged after last tag (with author)
  2. Collects commits since last tag (with hash)
  3. Categorizes by conventional commit prefix (feat/fix/refactor/etc.)
  4. Groups into: New Features, Improvements, Bug Fixes, Other
  5. Strips prefix from description for cleaner output

Post-processing (Claude must do this before presenting):

  • Deduplicate entries with same description (PRs and their commits often duplicate)
  • Prefer PR entries over commit entries when duplicated (PR has #number and @author)
  • Compare descriptions after stripping conventional prefix

Output format:

**New Features**
- add user authentication #45 @username
- implement caching d41d3ad

**Improvements**
- refactor auth module abc1234
- update dependencies #47 @contributor

**Bug Fixes**
- resolve login timeout #46 @username
- handle nil pointer def5678
Step 7: Check and Update CHANGELOG
bash
# detect actual changelog filename (case-sensitive filesystem!)
changelog=""
for f in CHANGELOG.md changelog.md CHANGELOG; do
    [ -f "$f" ] && changelog="$f" && break
done

If changelog exists:

  1. CRITICAL: Use the exact detected filename ($changelog) for all operations - do not hardcode "CHANGELOG.md"
  2. Read the file to understand its format (Keep a Changelog, simple list, etc.)
  3. Add new version section at the top (after any header/intro)
  4. Use the generated release notes
  5. Match the existing format and style
  6. Commit the changelog update using the detected filename:
bash
git add "$changelog"
git commit -m "docs: update changelog for $new_version"

Common formats to detect:

  • Keep a Changelog: Has ## [Unreleased] section, versions as ## [X.Y.Z] - YYYY-MM-DD
  • Simple list: Just version headers like ## X.Y.Z or # X.Y.Z
  • Date-based: Versions with dates in various formats
Show full SKILL.md (259 more words)Show less
Step 8: Preview and Confirm

Show the release preview to user:

=== Release Preview ===
Platform: GitHub/GitLab
Current version: v1.2.3
New version: v1.3.0
Title: Version 1.3.0
CHANGELOG: <detected filename> will be updated (or "none found")

Release Notes:
--------------
**New Features**
- add user authentication #45 @username

**Improvements**
- refactor auth module abc1234

**Bug Fixes**
- resolve login timeout #46 @contributor
--------------

Use AskUserQuestion tool to confirm:

json
{
  "questions": [{
    "question": "Proceed with creating this release?",
    "header": "Release",
    "options": [
      {"label": "Yes, publish", "description": "Create tag and publish release"},
      {"label": "Cancel", "description": "Abort release"}
    ],
    "multiSelect": false
  }]
}

Wait for user confirmation before creating release.

Step 9: Create Release

Only after user confirms:

Create an annotated tag locally and push it before calling the forge. Forge release commands create lightweight tags when the tag is absent; a lightweight tag has no release time of its own, so the next release would use the target commit's older committer date as its PR cutoff and re-list already released PRs.

bash
git tag -a "$new_version" -m "Version ${new_version#v}"
git push origin "$new_version"

If either command fails, report the error and abort before creating the release. If the forge release command below fails after the push, report that the annotated tag already exists remotely and retry only that release command after the problem is resolved. Do not recreate or delete the tag.

GitHub:

bash
gh release create "$new_version" \
    --title "Version ${new_version#v}" \
    --notes "$notes"

GitLab:

bash
glab release create "$new_version" \
    --name "Version ${new_version#v}" \
    --notes "$notes"

Gitea:

bash
tea release create \
    --tag "$new_version" \
    --title "Version ${new_version#v}" \
    --note "$notes"
Step 10: Report Result

After successful creation:

  • Show new version
  • Show release URL
  • Confirm release was published

Edge Cases

CaseHandling
No previous tagsDefault version based on type
Pre-release tag (v1.2.3-rc1)Strip suffix, use base version
No PRs/MRs foundShow commits only (still with hashes)
Tag already existsError and abort
No CHANGELOG fileSkip changelog update
Unknown CHANGELOG formatAsk user or use simple ## vX.Y.Z format

Notes

  • Tag format: vX.Y.Z
  • Title format: Version X.Y.Z
  • Entry format: - description #123 @author (PRs) or - description abc1234 (commits)
  • PRs use #123 (GitHub/Gitea) or !123 (GitLab)
  • Grouped by type: New Features (feat), Improvements (refactor/perf/chore/docs), Bug Fixes (fix), Other
  • Conventional commit prefix stripped from description for cleaner output
  • Always show preview and get confirmation before publishing

© umputun, 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 3 other files (scripts) in plugins/release-tools/skills/new of umputun/cc-thingz.

  • SKILL.md
  • scripts/calc-version.sh
  • scripts/detect-platform.sh
  • scripts/get-notes.sh

Open the folder on GitHubat commit 99e1c8d

Compare with similar skills

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

New compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
New this skillumputun/cc-thingz484—~1.9kAutomated safety check: NotesMIT
Changelog Automationwshobson/agents40k9 repos~836Automated safety check: PassMIT
Changelog Generatorpeterfei/ai-agent-team441—~2kAutomated safety check: PassMIT
Release Workflowcat-xierluo/legal-skills713—~3.5kAutomated safety check: PassMIT
Greplooponyx-dot-app/onyx32k4 repos~3.3kAutomated safety check: PassMIT
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Changelog Automation

    wshobson/agents

    Automates changelogs and release notes from commits, PRs and releases using the Keep a Changelog format, Conventional Commits and semantic versioning.

    40k GitHub starsUsed in 9 repos~836 tokens
    DevelopmentAuto-check passed
  • Changelog Generator

    peterfei/ai-agent-team

    智能变更日志生成器 - 自动分析Git提交历史,生成符合规范的CHANGELOG.md。支持语义化版本管理、多种输出格式、增量更新和GitHub/GitLab集成。

    441 GitHub stars~2k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Release Workflow

    cat-xierluo/legal-skills

    本技能应在 GitHub 项目发布新版本时使用,覆盖版本号管理、CHANGELOG 同步、Release Notes 撰写、tag 创建、CI 构建监控、发布验证和历史清理全流程。适用于桌面应用、CLI 工具、Web 应用、库/SDK 等任何基于 GitHub 的软件项目。当用户提到"发布"、"release"、"打 tag"、"新版本"、"更新版本号"、"写 release…

    713 GitHub stars~3.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed

More from umputun/cc-thingz

All 16 skills in this repo
  • Exec

    umputun/cc-thingz

    Execute plan tasks sequentially using subagents. An agent skill from umputun/cc-thingz.

    484 GitHub stars~8k tokensUpdated 3 days ago
    Auto-check passed
  • Root Cause Investigator

    umputun/cc-thingz

    Systematic root cause analysis for errors, bugs, and unexpected behaviors using 5-Why methodology.

    484 GitHub stars~879 tokensUpdated 3 days ago
    Auto-check passed
  • Ask Codex

    umputun/cc-thingz

    Consult OpenAI Codex for investigation, debugging, or code review.

    484 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check: notes
  • Backlog

    umputun/cc-thingz

    Read, work, and maintain a Git repo's deferred-work items in docs/backlog/, one file per item.

    484 GitHub stars~3.4k tokensUpdated 3 days ago
    Auto-check: notes
  • Brainstorm

    umputun/cc-thingz

    Use before any creative work or significant changes. An agent skill from umputun/cc-thingz.

    484 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check: notes
  • Clarify

    umputun/cc-thingz

    This skill should be used when user appears confused, frustrated, or shows misalignment between expectations and reality.

    484 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about New

What does New do?

A skill your agent uses when user asks to create a release, cut a release, or publish a version. New is an agent skill from umputun/cc-thingz. Use when user asks to create a release, cut a release, or publish a version.

When should I use New?

New fits situations like: user asks to create a release; publish a version.

How do I install New in Claude Code?

Run `npx skills add umputun/cc-thingz --skill new -a claude-code`. Or copy the skill folder (plugins/release-tools/skills/new in umputun/cc-thingz) into .claude/skills/new in your project. Claude Code loads it when a task matches its description.

How do I install New in Codex?

Run `npx skills add umputun/cc-thingz --skill new -a codex`. Or copy the skill folder (plugins/release-tools/skills/new in umputun/cc-thingz) into .agents/skills/new in your project. Codex loads it when a task matches its description.

Can I use New 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 umputun/cc-thingz --skill new -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/new, .gemini/skills/new, .github/skills/new and .opencode/skills/new in your project.

What does New need to run?

Going by SKILL.md and its folder, New needs a shell for the scripts in its folder and the command-line tools its instructions call (git, bash, gh and glab). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, AskUserQuestion.

Does New access the network?

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

Is New safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does New use?

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

About 1.9k tokens (SKILL.md is roughly 7.8k 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 New?

Skills that share tags, products or a category with New: Changelog Automation (wshobson/agents, 40k stars), Changelog Generator (peterfei/ai-agent-team, 441 stars), Release Workflow (cat-xierluo/legal-skills, 713 stars) and Greploop (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains New?

umputun (a GitHub user) maintains it in umputun/cc-thingz, which has 484 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.

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