agentleFS
tarikhamiltontarikhamilton/claude-skills/skills/release-helper/SKILL.md

release-helper

Skill0 starsChanged 5 months agoMITView on GitHub

Release preparation assistant. Use when the user wants to cut a release, bump a version, generate a changelog, publish, deploy, or ship. Triggers on "release", "version bump", "changelog", "publish", "deploy", "ship", "cut a release".

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 5 are distinctive, and 8 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check for eas.json, Fastfile, Podfile → mobile-specific tooling

    line 17
  2. Very specific:

    Check for Dockerfile, deploy scripts, CI config → containerized / web deployment

    line 18
  3. Distinctive:

    All project types — verify each item:

    line 22
  4. Distinctive:

    Follow semver: breaking change → major, new feature → minor, bug fix → patch.

    line 33
  5. Very specific:

    If conventional commits are used, derive the version bump from commit prefixes (feat: → minor, fix: → patch, BREAKING CHANGE → major).

    line 34
  6. Very specific:

    Update package.json version field.

    line 35
  7. Very specific:

    Update app.json / app.config.*: version string + ios.buildNumber / android.versionCode.

    line 38
  8. Very specific:

    Ensure native version numbers align with package.json.

    line 39
  9. Distinctive:

    Anti-pattern — do not do this: Do NOT add changelog-writing to the per-commit flow or the commit skill.

    line 77
  10. Distinctive:

    Check that version/build numbers don't collide with existing app store submissions.

    line 82
  11. Very specific:

    Run the build and confirm it succeeds cleanly (npm run build / yarn build).

    line 87
  12. Very specific:

    Create git tag: git tag v<version>

    line 88
  13. Distinctive:

    Commit version bump + changelog changes.

    line 93

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release Helper

You are assisting with a release. Detect the project type first, then follow the relevant checklist.

Project Type Detection

Auto-detect before proceeding:

  • app.json or app.config.* → Expo / React Native
  • next.config.* → Next.js
  • package.json only → Node.js library or generic web
  • Check for eas.json, Fastfile, Podfile → mobile-specific tooling
  • Check for Dockerfile, deploy scripts, CI config → containerized / web deployment

Pre-Release Checklist

All project types — verify each item:

  1. Clean working tree — git status shows no uncommitted changes.
  2. Correct branch — on the release branch or main, per project convention.
  3. Tests pass — run the test suite and confirm green.
  4. No leftover markers — grep for TODO:, FIXME:, HACK: in files changed since the last release.
  5. Dependencies current — npm outdated / yarn outdated to check for stale deps.
  6. No security advisories — npm audit / yarn audit for known vulnerabilities.

Version Bumping

  • Follow semver: breaking change → major, new feature → minor, bug fix → patch.
  • If conventional commits are used, derive the version bump from commit prefixes (feat: → minor, fix: → patch, BREAKING CHANGE → major).
  • Update package.json version field.

Mobile additional

  • Update app.json / app.config.*: version string + ios.buildNumber / android.versionCode.
  • Ensure native version numbers align with package.json.

Changelog (generated, not hand-maintained)

The changelog is a derived view of git history — never authored by hand. Generate it at the release boundary only.

Source of truth. Commit messages are the source of truth; CHANGELOG.md is a rendering of them. The one thing git cannot derive is deploy state — whether a change has actually shipped. The human must confirm that. Example: an Expo app built locally but not yet EAS-submitted stays under [Unreleased] even though its commits are already merged.

Input contract. Generation is only reliable when commits follow the URM convention: <area>: <imperative summary> (URM-###). Match the format of /Users/tiki/Code/urm-mobile/CHANGELOG.md as the concrete template.

Generate / refresh. At release time, rebuild the changelog from git:

  1. Collect commits: git log <last-tag>..HEAD — fall back to full history if no tags exist.
  2. Map each commit's area/type prefix to a Keep-a-Changelog category:
    • feat → Added
    • fix → Fixed
    • refactor / style / docs → Changed (or omit if noise)
    • removals → Removed; security patches → Security
  3. Extract any (URM-###) ticket tag and keep it as a reference on that line.

One accumulating [Unreleased]. Maintain a SINGLE [Unreleased] section that accumulates. When you cut a version, RENAME [Unreleased] to the new version + date and open a fresh, empty [Unreleased] above it. Never append endless per-commit entries; never create a new heading per commit.

Format:

## [Unreleased]

### Added
- Short description (URM-123)

### Fixed
- Short description (URM-124)

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

### Changed
- Short description (URM-120)

Anti-pattern — do not do this. Do NOT add changelog-writing to the per-commit flow or the commit skill. A line written per commit is redundant with the commit message and drifts out of sync with it. Changelog work happens at the release boundary only.

Mobile-Specific Steps

  • Suggest EAS build commands: eas build --platform ios --profile production, eas build --platform android --profile production
  • Check that version/build numbers don't collide with existing app store submissions.
  • Advise on OTA vs native update: JS-only changes can use OTA (eas update), native dependency changes require a full build.

Web-Specific Steps

  • Run the build and confirm it succeeds cleanly (npm run build / yarn build).
  • Create git tag: git tag v<version>
  • Note any post-deploy verification steps (smoke tests, health checks).

Post-Release

  1. Commit version bump + changelog changes.
  2. Create git tag (git tag v<version>).
  3. Summarize for the user:
    • Version number
    • Key changes included
    • Any manual steps remaining (pushing tags, triggering deploys, app store submission)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.