Get the FREE Ultimate OpenClaw Setup Guide →

release

npx machina-cli add skill guillempuche/ai-standards/release --openclaw
Files (1)
SKILL.md
2.6 KB

Release Workflow

Detect changes, bump versions, and deploy individual plugin repos.

Step 1: Generate dist-repos

./scripts/generate-individual-repos.sh

Step 2: Detect changes

Compare each generated repo against the last deployed state in .repo-cache/:

for repo_dir in dist-repos/*/; do
  repo_name=$(basename "$repo_dir")
  cache_dir=".repo-cache/$repo_name"
  if [ -d "$cache_dir" ]; then
    changes=$(diff -rq --exclude='.git' "$cache_dir" "$repo_dir" 2>/dev/null)
    if [ -n "$changes" ]; then
      echo "CHANGED: $repo_name"
      echo "$changes"
    fi
  else
    echo "NEW: $repo_name"
  fi
done

If no repos have changes, tell the user "Nothing to release" and stop.

Step 3: Show change summary

For each changed repo, show a brief summary of what changed (files added/modified/removed).

Step 4: Ask about version bumps

For each changed repo, use AskUserQuestion to ask the user what kind of version bump to apply:

  • patch (1.0.0 -> 1.0.1): Bug fixes, minor content updates
  • minor (1.0.0 -> 1.1.0): New content, features, or significant updates
  • major (1.0.0 -> 2.0.0): Breaking changes or complete rewrites

Step 5: Update source frontmatter

For each repo that needs a bump, update the version field in the source file:

  • Skills: skills/<name>/SKILL.md
  • Agents: agents/<name>.md

Use the Edit tool to change the version: line in the YAML frontmatter.

Compute the new version by parsing the current version: X.Y.Z and incrementing the appropriate part:

  • patch: increment Z
  • minor: increment Y, reset Z to 0
  • major: increment X, reset Y and Z to 0

Step 6: Bump main plugin.json

Ask the user if they want to bump the main .claude-plugin/plugin.json version too (patch/minor/major/skip). Update the "version" field if they choose to bump.

Step 7: Regenerate dist-repos

Run the generate script again so dist-repos picks up the new versions:

./scripts/generate-individual-repos.sh

Step 8: Commit version bumps

Stage and commit all version changes in the main repo:

git add skills/ agents/ .claude-plugin/plugin.json
git commit -m "Bump versions for release

Co-Authored-By: Claude <noreply@anthropic.com>"

Step 9: Deploy

Run the deploy script to push individual repos to GitHub:

./scripts/deploy-individual-repos.sh

Step 10: Push main repo

git push origin main

Show the user a summary of what was released with the new version numbers.

Source

git clone https://github.com/guillempuche/ai-standards/blob/main/.claude/skills/release/SKILL.mdView on GitHub

Overview

Release automates the end-to-end process of identifying changes in skills and agents, prompting for version bumps, and updating frontmatter versions. It then deploys individual plugin repositories to GitHub, keeping every repo in sync with release history.

How This Skill Works

It generates dist-repos, compares them to the last deployed state, and lists changes. For each changed repo, it prompts for a semantic version bump (patch, minor, or major), updates the corresponding frontmatter version in skills/<name>/SKILL.md or agents/<name>.md, optionally bumps the main plugin.json, regenerates dist-repos, commits the changes, deploys to GitHub, and finally pushes the main repository.

When to Use It

  • After updating a skill or agent and needing a formal release
  • When multiple repos have changed since the last deployment
  • When you want a consistent, automated version bump process (patch/minor/major)
  • When you need to deploy individual repos to GitHub without touching the main repo
  • When preparing a production release that includes frontmatter and plugin.json updates

Quick Start

  1. Step 1: ./scripts/generate-individual-repos.sh
  2. Step 2: Review diffs against .repo-cache and decide on version bumps
  3. Step 3: Update frontmatter, regenerate dist-repos, commit, deploy, and push

Best Practices

  • Review change diffs before choosing a version bump
  • Follow semantic versioning: patch for fixes, minor for features, major for breaking changes
  • Keep frontmatter versions in the skills/agents areas in sync with exports
  • Include Co-Authored-By in commit messages for traceability
  • Test in a staging branch or dry-run when possible before pushing to main

Example Use Cases

  • Changed files in skills/quiz/SKILL.md; patched to 1.0.1 and deployed the quiz skill repo
  • Agent improvements added; minor bump to 1.2.0 and per-repo deployment
  • Breaking API changes in a skill require a major bump to 2.0.0 and full re-deploy
  • New skill repository added and released as a new GitHub repo after generation
  • Release cycle detects no changes and outputs 'Nothing to release'

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers