releasing-an-obsidian-plugin

Automates versioned releases of an Obsidian plugin with verification, tagging, and GitHub release confirmation.

10|1|Updated Jul 29, 2026
One-click install
npx skills add https://github.com/flowing-abyss/obsidian-local-fonts --skill releasing-an-obsidian-plugin-flowing-abyss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: releasing-an-obsidian-plugin
Source: https://github.com/flowing-abyss/obsidian-local-fonts/tree/main/.ai/skills/releasing-an-obsidian-plugin
Command: npx skills add https://github.com/flowing-abyss/obsidian-local-fonts --skill releasing-an-obsidian-plugin-flowing-abyss

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing an Obsidian plugin involves many error-prone steps: bumping versions in manifest.json and versions.json, running full verification, tagging correctly, pushing, and confirming the GitHub Actions release actually succeeded. This Skill orchestrates that entire chain so nothing is skipped or left in a broken half-released state. ## Core Features & Use Cases - One-command release: Runs pnpm run release patch|minor|major, which chains preversion verification (format, lint, types, tests, build) with end-to-end tests against real Obsidian before anything is tagged. - Correct versioning and tagging: Bumps manifest.json, syncs versions.json, and creates a tag without a leading v so it matches what release.yml and Obsidian's community plugin process expect. - Post-push verification: Watches the e2e and release GitHub Actions workflows via the gh CLI and confirms the draft release exists with a real changelog body before declaring success. - Use Case: After merging a feature, ask the assistant to cut a minor release; it runs the release command, monitors CI across desktop and Android, and reports whether the draft GitHub release came out clean. ## Quick Start Ask the assistant to cut a new patch release of the plugin and confirm it published cleanly on GitHub.

Frequently Asked Questions about releasing-an-obsidian-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a new version of an Obsidian plugin?

Run `pnpm run release patch`, `minor`, or `major`. It verifies the codebase, runs end-to-end tests against real Obsidian, bumps manifest.json and versions.json, commits, tags, and pushes, which triggers GitHub Actions to build a draft release.

How do I publish an Obsidian plugin to the community catalog?

After the GitHub release is published, submit the plugin per the official docs at docs.obsidian.md. Obsidian runs an automated security and code-quality review on each submitted version, and a preview scan is available in the developer dashboard before submission.

Why must the git tag match manifest.json version exactly?

The release workflow and Obsidian's community-plugin submission process both expect the tag to equal the manifest version with no leading `v`. The release command uses `--tag-version-prefix ''` so the tag matches exactly.

What happens if the release verification fails?

If preversion fails, nothing is tagged or pushed, so you can fix the issue and rerun the release command. You should not hand-edit manifest.json or versions.json to bypass a failure, since the release checks exist to catch that drift.

Does a successful release command mean the GitHub release is done?

No. The command only completes the local steps and the push. You must watch the e2e.yml and release.yml workflows with the gh CLI and confirm the draft release exists with a non-empty changelog before considering it shipped.