Skip to content

feat: add obsidian-plugin-release skill#2

Open
Railly wants to merge 1 commit into
mainfrom
feat/obsidian-plugin-release
Open

feat: add obsidian-plugin-release skill#2
Railly wants to merge 1 commit into
mainfrom
feat/obsidian-plugin-release

Conversation

@Railly

@Railly Railly commented May 12, 2026

Copy link
Copy Markdown
Member

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 cases
  • scripts/release.tsrelease <version> / --dry / --check / scaffold-workflow
  • templates/release.yml — Actions workflow with actions/attest-build-provenance@v2
  • templates/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, typed JSON.parse, electron shell helper, CSS !important → specificity, etc.)
  • references/changelog-style.md — commit + release-notes conventions

Why

Releasing an Obsidian plugin is 12 manual steps and they all silently bite (forgetting versions.json, lightweight tag rejected by tag.gpgSign=true, missing attestation = scanner warning). This skill collapses the whole thing into release 0.7.4 and a 13s workflow run.

Test plan

  • release --check shows current state of an Obsidian plugin
  • release 0.7.5 --dry lists every file mutation + command without writes
  • Guard rejects re-release of an existing versions.json entry
  • release scaffold-workflow drops .github/workflows/release.yml (idempotent)
  • Live release through this skill on agentfiles 0.7.4 — passed scanner with green build verification + signed assets

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant