Agent skill

Release

by straubt1 in straubt1/tfx

Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile).

MITAuto-check passedDevelopment

Install Release

skills CLI
$ npx skills add straubt1/tfx --skill release -a claude-code

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

GitHub CLI
$ gh skill install straubt1/tfx 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/straubt1/tfx.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/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
110
Token cost
~1.2k tokens
SKILL.md length
415 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile).

  • Works in 2 steps: Prepare (branch + PR) → Cut the release (after PR merge)
  • The user asks to prepare a release
  • SKILL.md covers Phase 1 — Prepare (branch + PR), Phase 2 — Cut the release…, Common post-merge failures and Quick reference
  • Calls git, go and gh; needs HOMEBREW_TAP_TOKEN

What it does

Release is an agent skill from straubt1/tfx. Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile). Use when the user asks to prepare a release, update CHANGELOG for a new version, cut vX.Y.Z, run release:patch/minor/major, or avoid post-merge release failures.

Its SKILL.md is about 1.2k 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 Development, covering Changelog and release notes. The repository describes itself as: TFx is a standalone CLI for HCP Terraform and Terraform Enterprise. The licence is MIT.

When your agent uses it

  • The user asks to prepare a release
  • Update CHANGELOG for a new version
  • Run release:patch/minor/major
  • Avoid post-merge release failures

Example prompts

  • “/release”

Requirements

  • Docker
  • A credential in HOMEBREW_TAP_TOKEN

Workflow steps

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

  1. Prepare (branch + PR)
  2. Cut the release (after PR merge)

What it can do on your machine

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

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

  • Network

    Links to these hosts (documentation or services it may open):

    • keepachangelog.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • HOMEBREW_TAP_TOKEN

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

Context cost

Release loads about 1.2k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 415 words of instructions outside code blocks.

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

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 straubt1/tfx at commit f7494e5, republished under its MIT licence (© straubt1). 415 words, ~1,246 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile). Use when the user asks to prepare a release, update CHANGELOG for a new version, cut vX.Y.Z, run release:patch/minor/major, or avoid post-merge release failures.
disable-model-invocation
true

TFx Release

Two-phase workflow: prepare on a branch (PR) → tag on main after merge. Never tag before the CHANGELOG PR is merged.

Phase 1 — Prepare (branch + PR)

1. Choose the version bump
BumpTaskExample
Patch — bugfixes onlytask release:patchv0.4.0 → v0.4.1
Minor — new featurestask release:minorv0.3.3 → v0.4.0
Major — breaking changestask release:majorv0.4.0 → v1.0.0

Confirm the target version with the user when ambiguous.

2. Create a release branch
bash
git checkout main && git pull
git checkout -b release/vX.Y.Z
3. Update CHANGELOG.md

This repo uses Keep a Changelog with versioned unreleased sections:

markdown
## [vX.Y.Z] - Unreleased

If an unreleased section already exists (e.g. [v0.3.4] - Unreleased but releasing v0.4.0): rename the heading to the target version and review bullets.

If no unreleased section exists, create one after the intro block. Gather changes since the latest tag:

bash
git log $(git describe --tags --abbrev=0 --match "v[0-9]*.[0-9]*.[0-9]*")..HEAD --oneline

Group bullets under Added, Changed, Fixed, Removed. Include PR numbers where available.

Fix compare links at the bottom of CHANGELOG.md:

markdown
[Unreleased]: https://github.com/straubt1/tfx/compare/vX.Y.Z...HEAD
[vX.Y.Z]: https://github.com/straubt1/tfx/compare/vPREVIOUS...vX.Y.Z

Replace vPREVIOUS with the tag before this release.

Leave the date as Unreleased in the prep PR.

4. Validate before opening the PR

Run all checks — do not skip:

bash
# CHANGELOG must contain the exact version string the release task will look for
grep "\[vX.Y.Z\]" CHANGELOG.md

go build ./...
go test ./...

# Simulates goreleaser build (no tag required); cask written to dist/
task release:dry-run

Goreleaser v2 may emit 2 informational dockers_v2 warnings; these are harmless.

Do not edit version/version.go — goreleaser injects the version from the git tag at build time.

5. Open the PR

Stage only release-prep files (typically CHANGELOG.md; include the skill if updated):

bash
git add CHANGELOG.md
git push -u origin HEAD
gh pr create --title "Prepare release vX.Y.Z" --body "$(cat <<'EOF'
## Summary
- Finalize CHANGELOG for vX.Y.Z

## Test plan
- [ ] `grep "\[vX.Y.Z\]" CHANGELOG.md` passes
- [ ] `go build ./...` and `go test ./...` pass
- [ ] `task release:dry-run` succeeds

## After merge
On `main`, run the matching release task: `task release:<patch|minor|major>`.
EOF
)"

Do not commit or push unless the user asks.

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

Phase 2 — Cut the release (after PR merge)

Use the Taskfile release tasks only. Do not tag, push tags, or cut the release manually.

On up-to-date main:

bash
git checkout main && git pull
task release:minor   # pick the task that matches the bump chosen in Phase 1
BumpTask
Patchtask release:patch
Minortask release:minor
Majortask release:major

Each task delegates to _release-bump, which:

  • Computes the next semver from the latest v*.*.* git tag
  • Warns if CHANGELOG.md lacks a [vNEXT_VERSION] entry
  • Prompts for confirmation, then tags and pushes

After the task completes, monitor GitHub Actions — the release workflow runs on tag push and publishes binaries, Docker (GHCR), Linux packages, and the Homebrew tap.

Requires HOMEBREW_TAP_TOKEN in repo secrets (classic PAT with repo scope on straubt1/homebrew-tap).

To test the pipeline locally before tagging: task release:dry-run.

Common post-merge failures

SymptomCauseFix
_release-bump warns about missing CHANGELOGHeading uses wrong version (e.g. v0.3.4 but tagging v0.4.0)Rename section to exact target: ## [v0.4.0]
Goreleaser fails in CIBuild/test issue on mainFix on main, delete bad tag if created, re-tag
Homebrew tap not updatedMissing/expired HOMEBREW_TAP_TOKENCheck repo secrets; re-run release workflow
Wrong version publishedUsed wrong bump taskDelete remote tag (with user approval), fix CHANGELOG, re-cut

Quick reference

bash
git describe --tags --abbrev=0 --match "v[0-9]*.[0-9]*.[0-9]*"   # current tag
task release:dry-run                                               # local pipeline test
task release:patch | release:minor | release:major                   # cut release

See also: DEVELOPMENT.md § Releasing, CLAUDE.md § Release Process.

© straubt1, MIT. 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 .cursor/skills/release of straubt1/tfx.

Open the folder on GitHubat commit f7494e5

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 skillstraubt1/tfx110—~1.2kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
Mole CLI Release Flowtw93/Mole70k—~2.5kAutomated safety check: PassGPL-3.0

Similar skills

  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • 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
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed

More from straubt1/tfx

  • Go Upgrade

    straubt1/tfx

    Upgrade macOS Go and all module dependencies in TFx via task go:upgrade, then verify build and tests.

    110 GitHub stars~914 tokensUpdated 1 mo ago
    Auto-check: notes
  • Reflection

    straubt1/tfx

    This skill should be used when the user says "reflection", "reflect on the changes", "reflect on this session", or asks to capture lessons learned from the current conversation.

    110 GitHub stars~793 tokensUpdated 1 mo ago
    Auto-check passed
  • Vhs Tape

    straubt1/tfx

    Create a VHS .tape file for recording terminal GIF/MP4/WebM demos.

    110 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • New Data Function

    straubt1/tfx

    Create a new function in the data/ package following project conventions

    110 GitHub stars~976 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Release

What does Release do?

Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile). Release is an agent skill from straubt1/tfx. Prepare and cut TFx semver releases (CHANGELOG, validation, tagging via Taskfile).

When should I use Release?

Release fits situations like: the user asks to prepare a release; update CHANGELOG for a new version; run release:patch/minor/major; avoid post-merge release failures.

How do I install Release in Claude Code?

Run `npx skills add straubt1/tfx --skill release -a claude-code`. Or copy the skill folder (.cursor/skills/release in straubt1/tfx) 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 straubt1/tfx --skill release -a codex`. Or copy the skill folder (.cursor/skills/release in straubt1/tfx) 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 straubt1/tfx --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, go and gh) and credentials named HOMEBREW_TAP_TOKEN. Our summary lists: Docker; A credential in HOMEBREW_TAP_TOKEN.

Does Release access the network?

SKILL.md names 1 domain. As links in the text: keepachangelog.com. 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 MIT 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.2k tokens (SKILL.md is roughly 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: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and React Router Release Notes Prep (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

straubt1 (a GitHub user) maintains it in straubt1/tfx, which has 110 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 28, 2026.

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