Release logo

Release

CommunityPopular
heyitsnoah
release

Automatically bump version, update changelog, commit, tag, and push a new release based on recent changes. Use when the user wants to cut a release, publish a new version, bump the version, or run the release workflow.

Overview

Publisherheyitsnoah
Repositoryclaudesidian
Skill namerelease
Stars
2.6K
Forks
192
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by heyitsnoah on GitHub. Read the source before you install it.

Installation

Install the Release AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/heyitsnoah/claudesidian/tree/main/.agents/skills/release
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/heyitsnoah/claudesidian.git /tmp/claudesidian
mkdir -p .claude/skills
cp -r /tmp/claudesidian/.agents/skills/release .claude/skills/release
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Release in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Release on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Release is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Release Command

Automates the entire release process: analyzes recent commits to determine version bump type, updates version in package.json, moves unreleased changelog entries to the new version, commits everything, creates a git tag, and pushes to GitHub.

Task

  1. Analyze recent commits since last tag to determine version bump type
  2. Update version in package.json
  3. Move "Unreleased" entries in CHANGELOG.md to the new version section
  4. Commit the changes
  5. Create an annotated git tag
  6. Push commits and tags to GitHub

Process

  1. Check Prerequisites

    • Ensure on main/master branch
    • Check for uncommitted changes
    • Verify CHANGELOG.md and package.json exist
    • Get current version from package.json
  2. Determine Version Bump

    • If argument provided (major/minor/patch), use that
    • Otherwise, analyze commits since last tag:
      • Look for "BREAKING CHANGE" or "!" = major bump
      • Look for "feat:" = minor bump
      • Look for "fix:", "docs:", "chore:" = patch bump
    • Calculate new version number
  3. Update Files

    • Update version in package.json
    • Move "Unreleased" section in CHANGELOG.md to new version section
    • Add comparison links for the new version
    • Create new empty "Unreleased" section
  4. Git Operations

    • Stage changes: git add package.json CHANGELOG.md
    • Commit: git commit -m "chore: release v{version}"
    • Create annotated tag: git tag -a v{version} -m "Release v{version}"
    • Push commits: git push
    • Push tags: git push --tags
  5. Create GitHub Release

    • Use gh release create to publish the release automatically
    • Extract the version section from CHANGELOG.md for release notes
    • Include the "Generated with Claude Code" footer
    • This ensures the release is visible in GitHub's releases page
  6. Provide Confirmation

    • Show the GitHub release URL
    • Confirm successful publication

Version Bump Rules

Semantic Versioning (MAJOR.MINOR.PATCH)

Quick Decision Guide:

  • Can users do something they couldn't do before? → MINOR
  • Did something that worked break? → MAJOR (if breaking) or PATCH (if fixing)
  • Did something that worked get better? → PATCH

MAJOR (1.0.0 → 2.0.0):

  • Breaking changes that require users to change their code/config
  • Removing features or commands
  • Changing command syntax or behavior incompatibly
  • Commits with "BREAKING CHANGE" in body
  • Commits with "!" after type (e.g., "feat!:")

MINOR (1.0.0 → 1.1.0):

  • NEW capabilities added (not enhancements to existing features)
  • Making something possible that wasn't possible before
  • New commands, new tools, new integrations
  • New optional features that don't affect existing functionality
  • Significant architectural changes that enable new functionality
  • Commits starting with "feat:" that add NEW functionality
  • Examples:
    • Adding a new /command
    • Adding a new MCP server
    • Adding vault import capability (first time)
    • Making upgrade work without git connection (was impossible before)
    • Enabling a feature to work offline when it required internet before

PATCH (1.0.0 → 1.0.1):

  • Bug fixes and minor improvements
  • Enhancements to existing features (that already worked)
  • Performance improvements
  • Documentation updates
  • Refactoring without changing behavior
  • Commits with "fix:", "docs:", "style:", "refactor:", "perf:", "test:", "chore:"
  • Examples:
    • Making an existing command smarter (but not enabling new use cases)
    • Improving error messages
    • Fixing bugs in existing features
    • Enhancing existing import to be more intelligent
    • Improving UI/formatting of existing features

Commit Message Best Practices

Use "feat:" only for NEW features:

  • ✅ feat: add vault import capability
  • ❌ feat: enhance vault import (should be fix: or refactor:)

Use "fix:" for improvements and corrections:

  • ✅ fix: improve vault detection accuracy
  • ✅ fix: correct file counting in init-bootstrap

Use "refactor:" for code improvements:

  • ✅ refactor: enhance profile building with URL fetching
  • ✅ refactor: make init-bootstrap questions smarter

Use "perf:" for performance improvements:

  • ✅ perf: optimize vault analysis for large vaults

Example Usage

bash
# Auto-detect version bump from commits
claude run release

# Force specific version bump
claude run release patch
claude run release minor
claude run release major

# Example output:
# 📦 Current version: 0.1.0
# 🔍 Analyzing commits since last release...
#
# Found commits:
# - feat: add video support to Gemini Vision
# - docs: update README with setup instructions
# - fix: correct attachment link handling
#
# ✨ Detected version bump: MINOR (new features added)
# 📝 New version: 0.2.0
#
# ✅ Updated package.json
# ✅ Updated CHANGELOG.md
# ✅ Committed changes
# ✅ Created tag v0.2.0
# ✅ Pushed to GitHub
# ✅ Created GitHub release
#
# 🎉 Release v0.2.0 complete!
#
# GitHub Release: https://github.com/user/repo/releases/tag/v0.2.0

Error Handling

  • If not on main branch: "Please switch to main branch first"
  • If uncommitted changes: "Please commit or stash changes first"
  • If no changes since last release: "No changes to release"
  • If version already exists: "Version X.X.X already exists"

Safety Features

  • Dry run mode: Show what would happen without making changes
  • Confirmation prompt before pushing
  • Validation of version format
  • Check for existing tags before creating

Frequently asked questions

What does the Release AI skill do?

Automatically bump version, update changelog, commit, tag, and push a new release based on recent changes. Use when the user wants to cut a release, publish a new version, bump the version, or run the release workflow.

Why use Release on TypingMind?

Because you install it once and use it with any model. Release is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Release in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/heyitsnoah/claudesidian/tree/main/.agents/skills/release. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Release?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Release?

As many as you like. As long as a model supports skills, you can use Release with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Release AI skill free?

Yes. It is published on GitHub by heyitsnoah under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇