skills/release-obsidian-plugin/SKILL.md
Executes the final release workflow for Obsidian plugins after pre-release-obsidian-plugin 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.
npx skillsauth add philoserf/claude-code-setup skills/release-obsidian-pluginInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Final step in the release pipeline. Assumes pre-release-obsidian-plugin has already passed and the target version has been decided. This skill handles version bumping, tagging, and publishing.
Before starting, confirm:
pre-release-obsidian-plugin passed with no FAIL statusmaingit tag -l <version>)If any prerequisite is unclear, ask rather than proceeding.
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.
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.
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.
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
)"
Confirm the release is live and report:
gh release view <version> --json tagName,name,body,assets
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
pre-release-obsidian-plugin firstvc-shiptesting
Audits ~/.claude/skills/ for unused entries, duplicate names, missing descriptions, and the longest descriptions. Use when trimming the user-level skill set, asking which skills are unused, finding duplicates, or auditing skill hygiene.
tools
Publishes and manages Flowershow sites with the `fl` CLI (the Go-based successor to the deprecated `@flowershow/publish` npm package). Use when publishing a note or folder to Flowershow, syncing updates to an existing site, managing auth, listing or deleting sites, or installing/upgrading the CLI.
tools
Copy edits prose while preserving voice and register. Use when asked to edit, copy edit, line edit, proofread, revise, polish, tighten, rewrite, or clean up essays, articles, drafts, or fiction. Flags wordiness, passive voice, clichés, hedging, and nominalizations with bracket markup or clean rewrites.
tools
Improves CLAUDE.md by analyzing conversation patterns. Use when Claude keeps repeating a mistake, when teaching a new preference, or when consolidating guidance from repeated instructions. Captures recurring corrections and style preferences into project instructions.