flowing-abyss/obsidian-local-fonts/releasing-an-obsidian-plugin
Claude Code and agent skill by flowing-abyss/obsidian-local-fonts
- community
Checking that the SKILL.md file is still in the repository.
Cuts a release for this Obsidian plugin — bumps the version, verifies it end-to-end against real Obsidian, tags, pushes, and confirms the release actually came out clean on GitHub. Use when the user asks to release, publish, ship, or cut a new version of the plugin.
Install
npx vskill@latest install flowing-abyss/obsidian-local-fonts/releasing-an-obsidian-pluginSKILL.md
Releasing an Obsidian Plugin
The one command
Confirm with the user before running this. It pushes a commit and a tag to the remote and (via .github/workflows/release.yml) creates a public draft GitHub release — a one-way action, not a local dry run.
What it does, in order
- `preversion` — runs
pnpm run verify(format, lint, types, arch, dead code, coverage, build, artifact checks including README/LICENSE presence) and thenpnpm run test:e2eagainst real Obsidian, on whatever OS this machine is. Aborts here, untouched, if anything fails — no partial release state. - `version` — bumps
manifest.json'sversion, syncsversions.json(viaversion-bump.mjs), stages both. - pnpm's own version step commits (
"<new-version>") and tags without a leading `v` (--tag-version-prefix '') — the tag must equalmanifest.json'sversionexactly; this is whatrelease.ymland Obsidian's community-plugin submission process both expect. - `postversion` —
git push --follow-tags, which triggers three separate GitHub Actions workflows on the same push:ci.yml(fast gate, redundant with whatpreversionalready ran),e2e.yml(the cross-platform proof — desktop on Ubuntu/Windows/macOS and real Android — thatpreversion's localtest:e2ealone can't give you, since that only covers this one machine's OS), andrelease.yml(build, re-verify, generate a changelog from commit messages, open a draft GitHub release withmain.js/manifest.json/styles.cssattached).
The command finishing is not the release finishing — verify on GitHub
pnpm run release returning success only means the local steps and the push worked. The actual release isn't real until the CI it triggered has finished and produced a correct result. Do not tell the user the release shipped until you've checked this. Using the gh CLI:
If either workflow's conclusion isn't success, or the release body is empty/missing, stop and report the specific failure — don't retry pnpm run release blindly (the tag already exists; a second run will fail on --allow-same-version or collide with the existing tag). Diagnose from the failed run's logs (gh run view <id> --log-failed) and fix forward.
What's still manual
- Open the draft release on GitHub, skim the changelog you just confirmed is real, publish it.
- Obsidian now runs an automated review on every submitted version (security + code-quality scan, results in minutes) — see https://obsidian.md/blog/future-of-plugins/. Before a first submission, or if you want a pre-check beyond what this repo's own
eslint-plugin-obsidianmdrules already catch, use the developer dashboard's own preview-scan feature on the pushed tag (https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins) — it's the same scanner that gates review, and nothing local can fully replicate it. - First release only: submit the plugin to the community catalog per https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin.
If preversion fails
Nothing was tagged or pushed — fix the failure, rerun pnpm run release <bump>. Don't hand-bump manifest.json/versions.json to route around a failure; that's exactly the drift release-check.mjs and this whole chain exist to catch.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.ai/skills/releasing-an-obsidian-plugin/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/flowing-abyss/obsidian-local-fonts/releasing-an-obsidian-plugin)