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.
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-releasepassed 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:
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:
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):
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:
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:
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:
gh release edit <version> --notes "$(cat <<'EOF'
<extracted changelog content>
EOF
)"
Phase 5: Verify
Confirm the release is live and report:
gh release view <version> --json tagName,name,body,assets
Output
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
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.
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.
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.
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.
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.
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.
Didn't find tool you were looking for?