Agent skill

release

Executes the final release workflow for Obsidian plugins after pre-release checks pass. Use when tagging a release, publishing a version, or shipping an Obsidian plugin. Bumps version via bun run script, creates git tag, pushes to trigger GitHub Actions, and updates GitHub release notes from CHANGELOG.md.

Stars 10
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/philoserf/claude-code-setup/tree/main/skills/release

SKILL.md

Release

Final step in the release pipeline. Assumes pre-release has already passed and the target version has been decided. This skill handles version bumping, tagging, and publishing.

Prerequisites

Before starting, confirm:

  • pre-release passed with no FAIL status
  • Working tree is clean and on main
  • CHANGELOG.md has a section for the target version
  • The target version is not already tagged (git tag -l <version>)

If any prerequisite is unclear, ask rather than proceeding.

Workflow

Phase 1: Version Bump

The target version comes from the user (decided during pre-release). Bump by updating package.json version and running the version script, which propagates to manifest.json and versions.json:

bash
npm version <version> --no-git-tag-version

This sets package.json version, then triggers the version script (bun run version-bump.ts), which reads npm_package_version and updates manifest.json and versions.json.

Verify all three files agree:

bash
jq -r '.version' package.json
jq -r '.version' manifest.json
jq -r 'keys[-1]' versions.json

If they don't match, stop and surface the discrepancy.

Phase 2: Commit and Tag

Stage the version files and commit, then create an annotated tag. Tags use bare version numbers (no v prefix):

bash
git add package.json manifest.json versions.json
git commit -m "release: <version>"
git tag -a <version> -m "Release <version>"

Confirm with the user before pushing.

Phase 3: Push

Push the commit and tag together:

bash
git push origin main
git push origin <version>

The tag push triggers the GitHub Actions release workflow, which builds the plugin and creates a GitHub release with main.js and manifest.json as assets.

Phase 4: Update Release Notes

Wait for the release workflow to complete:

bash
gh run list --branch main --limit 1 --json status,conclusion,name

Check once, wait ~30 seconds if still running, check again. If the workflow fails, report the failure and stop.

Once the release exists, extract the changelog section for this version — everything between ## <version> and the next ## heading — and update the GitHub release:

bash
gh release edit <version> --notes "$(cat <<'EOF'
<extracted changelog content>
EOF
)"

Phase 5: Verify

Confirm the release is live and report:

bash
gh release view <version> --json tagName,name,body,assets

Output

text
Release: <version>
====================
Version bump:  package.json, manifest.json, versions.json
Commit:        <short sha> release: <version>
Tag:           <version>
GitHub release: <url>
Assets:        main.js, manifest.json
Release notes: Updated from CHANGELOG.md

Expand your agent's capabilities with these related and highly-rated skills.

philoserf/claude-code-setup

pre-release

Validates a project is ready to tag and ship. Use when tagging a release, cutting a version, shipping a package, or asking "are we ready to release?" Checks repo hygiene, CI status, docs, version sync, and build verification. Optimized for Obsidian plugins with fallback detection for other project types.

10 0
Explore
philoserf/claude-code-setup

local-issues

Reviews a codebase for bugs, design issues, and code cleanliness problems with specific file paths and line numbers. Use when auditing code quality, finding bugs, doing a code review, finding problems, or reviewing a project for issues. Creates issue files in `.issues/` directory.

10 0
Explore
philoserf/claude-code-setup

skill-improve

Generates prioritized improvement recommendations for Claude Code skills. Use when improving skills, enhancing customizations, or wanting actionable feedback on how to make a skill better. Provides impact/effort prioritization with specific fix suggestions.

10 0
Explore
philoserf/claude-code-setup

skill-quality

Scores Claude Code skills (1-5) across 6 weighted quality dimensions aligned with official Anthropic docs. Use when evaluating skill quality, rating skills, scoring customizations, comparing skill effectiveness, or checking if a skill follows best practices. Produces per-dimension scores with evidence, weighted totals, quality tier classification, and actionable improvement recommendations.

10 0
Explore
philoserf/claude-code-setup

obsidian-cli

Interacts with Obsidian vaults using the Obsidian CLI to read, create, and manage notes, tasks, properties, tags, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, add to daily note, find notes about a topic, check tasks, append to a note, query the vault, list tags, list files, manage bookmarks, check sync status, view file history, use templates, query bases, run QuickAdd, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.

10 0
Explore
philoserf/claude-code-setup

cc-check

Runs systematic tests on Claude Code customizations. Use when testing whether a customization works correctly, running functional and regression tests, smoke testing a skill, or validating that a skill or hook behaves as expected. Executes sample queries and validates responses against expected behavior.

10 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results