feat: add obsidian-plugin-release skill#2
Open
Railly wants to merge 1 commit into
Open
Conversation
Atomic release flow for Obsidian community plugins. Bumps manifest.json + package.json + versions.json in a single transaction, builds, lints, signs an annotated tag, and triggers a GitHub Actions workflow that publishes the release with build-provenance attestation (SLSA in-toto). Battle-tested against the new Obsidian Community automated review (launched 2026-05-12). Ships with: - scripts/release.ts — full ship, --dry, --check, scaffold-workflow - templates/release.yml — workflow with attestations/v2 - templates/eslint.config.mjs — scanner-friendly config with correct ignores - references/scanner-warnings.md — cheat sheet for common findings + fixes - references/changelog-style.md — commit + release notes conventions Use when releasing any Obsidian plugin or scaffolding a release workflow into an existing one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Atomic release flow for Obsidian community plugins. Bumps version across
manifest.json+package.json+versions.json, builds, lints, signs an annotated tag, and triggers a GitHub Actions workflow that publishes the release with build-provenance attestation (SLSA in-toto).Battle-tested against the new Obsidian Community automated review launched 2026-05-12. Used to ship agentfiles 0.7.4 with zero scanner warnings on source/build/attestation tracks.
What's in the skill
SKILL.md— full playbook + edge casesscripts/release.ts—release <version>/--dry/--check/scaffold-workflowtemplates/release.yml— Actions workflow withactions/attest-build-provenance@v2templates/eslint.config.mjs— scanner-friendly config with correct ignores (web/**,assets/**,scripts/**hoisted above the recommended spread)references/scanner-warnings.md— cheat sheet of every common scanner warning + canonical fix (window.setTimeout,createSvg, typedJSON.parse, electron shell helper, CSS!important→ specificity, etc.)references/changelog-style.md— commit + release-notes conventionsWhy
Releasing an Obsidian plugin is 12 manual steps and they all silently bite (forgetting
versions.json, lightweight tag rejected bytag.gpgSign=true, missing attestation = scanner warning). This skill collapses the whole thing intorelease 0.7.4and a 13s workflow run.Test plan
release --checkshows current state of an Obsidian pluginrelease 0.7.5 --drylists every file mutation + command without writesversions.jsonentryrelease scaffold-workflowdrops.github/workflows/release.yml(idempotent)