Update Dependencies
alorence/django-modern-rpc
Routine update of all project dependencies — uv itself, uv.lock (all groups), tool versions pinned in GitHub workflows and .pre-commit-config.yaml (uv, ruff, mypy...), and SHA-pinned GitHub Actions.
Release a new version of an Obsidian community plugin without forgetting steps.
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install crafter-station/skills obsidian-plugin-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/obsidian-plugin-release .claude/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .claude/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install crafter-station/skills obsidian-plugin-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/obsidian-plugin-release .agents/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .agents/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install crafter-station/skills obsidian-plugin-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/obsidian-plugin-release .cursor/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .cursor/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/crafter-station/skills.git --path skills/obsidian-plugin-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install crafter-station/skills obsidian-plugin-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/obsidian-plugin-release .gemini/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .gemini/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install crafter-station/skills obsidian-plugin-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/obsidian-plugin-release .github/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .github/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add crafter-station/skills --skill obsidian-plugin-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install crafter-station/skills obsidian-plugin-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/obsidian-plugin-release .opencode/skills/obsidian-plugin-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "obsidian-plugin-release" agent skill from https://github.com/crafter-station/skills/tree/main/skills/obsidian-plugin-release into .opencode/skills/obsidian-plugin-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-plugin-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
obsidian-plugin-releaseRelease a new version of an Obsidian community plugin without forgetting steps.
Obsidian Plugin Release is an agent skill from crafter-station/skills. Release a new version of an Obsidian community plugin without forgetting steps. Use when: (1) user says "release the plugin", "bump <plugin to X.Y.Z", "ship a new Obsidian release", "tag a new plugin version", "publish to the obsidian directory", (2) the working directory contains manifest.json + main.js + versions.json (Obsidian plugin signature), (3) user wants to scaffold the release workflow into an existing plugin (scaffold-workflow arg). Handles version bump across manifest.json + package.json +…
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/changelog-style.md`, `references/scanner-warnings.md` and `scripts/release.ts`).
It sits in Development, covering Commit messages, Linting and formatting and CI/CD. It works with Obsidian, npm, GitHub Actions and Git. The repository describes itself as: Agent skills extracted from real work. Each one shipped something first. The licence is MIT.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f0fe474. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (TypeScript and JavaScript), which the agent can run.
Shell commands in SKILL.md call:
gitghbunbunxnpmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
community.obsidian.mdFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Obsidian Plugin Release loads about 1.8k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 183 tokens; SKILL.md has 771 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from crafter-station/skills at commit f0fe474, republished under its MIT licence (© crafter-station). 771 words, ~1,797 tokens.
.claude/skills/obsidian-plugin-release/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Releasing an Obsidian plugin has 12 manual steps that are easy to half-do (forget versions.json, push tag before main, sign assets without provenance). This skill collapses the flow into a single intent: pick a version → ship.
The current directory is an Obsidian plugin if all of these exist at the root:
manifest.json with id, version, minAppVersion keysversions.json (the map pluginVersion → minAppVersion)main.js listed in .gitignore is fine — we rebuild itRefuse to run if any of those are missing. Suggest scaffold-workflow if manifest.json exists but .github/workflows/release.yml does not.
release <version> — full shipbun run scripts/release.ts <version> # via package.json script if user added it
# OR direct
~/.claude/skills/obsidian-plugin-release/scripts/release.ts <version>Steps the script does (each one a hard gate — stop on failure):
--allow-dirty).versions.json must not already contain it.<version> to manifest.json, package.json, and append versions.json keyed to current minAppVersion. Use JSON.parse → mutate → write (preserve trailing newline + tab indent that Obsidian expects).bun run build. Abort on non-zero.bunx eslint src/ (skip if user has no src/ — JS-only plugins exist). Abort on errors.git add manifest.json package.json versions.json main.js styles.css. Only those 5 files.chore: release <version>git push origin <current-branch>.git tag -a <version> -m "Release <version>" (annotated because tag.gpgSign=true is common; annotated works either way).git push origin <version>. This triggers the release workflow.gh run watch --exit-status against the latest run on this tag. Abort if it fails.gh release view <version> --json assets must include main.js, manifest.json, styles.css. Attestation is verified via gh attestation verify on main.js.Print the release URL + the community page (https://community.obsidian.md/plugins/<id>) + the deep link (obsidian://show-plugin?id=<id>) at the end.
release <version> --dryPrint every file that would change, the commit message, the tag message, and the workflow that would fire. No writes, no network calls.
release --checkAudit current state. Output:
versions.json)manifest.json version (warn if ahead of versions.json)Use this before running a release if anything feels off.
release scaffold-workflowDrop .github/workflows/release.yml into the current plugin. Idempotent — refuses to overwrite unless --force.
Template lives at templates/release.yml. It:
[0-9]+.[0-9]+.[0-9]+ semver tagsbun run buildmain.js, manifest.json, styles.css using actions/attest-build-provenance@v2contents: write, id-token: write, attestations: writeAlso offer to scaffold templates/eslint.config.mjs if the user is starting from scratch — it ships with the obsidianmd plugin pre-wired and the ignore globs (web/**, assets/**, scripts/**) that match the Obsidian scanner expectations.
tag.gpgSign=true: always use git tag -a -m "..." to avoid the "no tag message" error. Annotated tags work whether signing is enabled or not, so we use them unconditionally.bun available: fall back to npm run build + npx eslint src/. The released workflow uses Bun regardless — local dev tool is incidental.web/ subdir present: the scanner used to lint web/** and flag the Next.js landing site as a million unsafe-returns. Make sure eslint.config.mjs has web/** in ignores and the ignores block sits before obsidianmd.configs.recommended (the obsidianmd config spreads files: ["**/*.ts", "**/*.tsx"] which otherwise picks web/ up). See references/scanner-warnings.md.obsidian://show-plugin?id=<id> only works once Obsidian's directory crawler picks it up (≤24h after submission).--first and skips the "version is new" check. Useful when bumping from 0.0.0 to 0.1.0 for the first submission.gh release create skips the OIDC signing step and the Obsidian scanner will flag missing provenance.versions.json. It's a permanent ledger. Appending only.main.js must match the built main.js from the source. If they diverge, build-provenance won't fail but reproducibility (Build verified: byte-for-byte) will.skill-creator — for authoring new skills (this one was made with it)skillkit — local analytics for skill usage© crafter-station, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/obsidian-plugin-release of crafter-station/skills.
Open the folder on GitHubat commit f0fe474
Obsidian Plugin Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Obsidian Plugin Release this skillcrafter-station/skills | 112 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Update Dependenciesalorence/django-modern-rpc | 111 | — | ~1.3k | Automated safety check: Pass | MIT | |
| npm Package Publisherklaudworks/universal-skills | 181 | — | ~923 | Automated safety check: Pass | MIT | |
| Python Pypi Package Buildergithub/awesome-copilot | 40k | 1 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Git Changes ReporterNo-Trade-No-Life/Yuan | 352 | — | ~1.2k | Automated safety check: Pass | MIT | |
| ReleaseSma1lboy/rove | 160 | — | ~3.1k | Automated safety check: Warn | MIT |
alorence/django-modern-rpc
Routine update of all project dependencies — uv itself, uv.lock (all groups), tool versions pinned in GitHub workflows and .pre-commit-config.yaml (uv, ruff, mypy...), and SHA-pinned GitHub Actions.
klaudworks/universal-skills
Releases an npm package by committing changes, bumping the version with npm version, pushing the tag and checking the GitHub Actions publish.
github/awesome-copilot
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
No-Trade-No-Life/Yuan
生成结构化 git 变更报告(JSON + Markdown)。使用此技能当用户提到"git 变更"、"commit 摘要"、"代码审查"、"release note"、"近期改动"、"每日摘要",或需要分析指定 commit 区间的代码变更。包含三元组结构(设计意图、核心代码、影响范围)的语义化报告,适用于代码审查、发布说明、团队同步、CI/CD 等场景。
Sma1lboy/rove
Autonomously cut a Rove (@sma1lboy/rove) release end-to-end — detect the semver bump from pending changesets (flagging an upstream minor you didn't intend), run the release gates, dispatch the…
andymai/brepjs
This skill should be used when committing, pushing, branching, or merging in the brepjs repository — when a task involves "pre-commit hook failed" (which tier ran, how to bypass), "commit rejected…
crafter-station/skills
Set up hierarchical Intent Layer (AGENTS.md files) for codebases.
crafter-station/skills
Audit an existing CLI against cli-build: how well an agent can operate it and how well a human can read it.
crafter-station/skills
Deprecated. An agent skill from crafter-station/skills.
crafter-station/skills
Generate OG images and favicon based on project branding. An agent skill from crafter-station/skills.
crafter-station/skills
Design and build a CLI that an AI agent can operate safely and a human can supervise.
crafter-station/skills
Compile a mapped surface into working interfaces and keep them alive as the target changes.
Works with
Categories
Release a new version of an Obsidian community plugin without forgetting steps. Obsidian Plugin Release is an agent skill from crafter-station/skills. Release a new version of an Obsidian community plugin without forgetting steps.
Obsidian Plugin Release fits situations like: user says release the plugin; bump <plugin to X.Y.Z; ship a new Obsidian release; tag a new plugin version.
Run `npx skills add crafter-station/skills --skill obsidian-plugin-release -a claude-code`. Or copy the skill folder (skills/obsidian-plugin-release in crafter-station/skills) into .claude/skills/obsidian-plugin-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add crafter-station/skills --skill obsidian-plugin-release -a codex`. Or copy the skill folder (skills/obsidian-plugin-release in crafter-station/skills) into .agents/skills/obsidian-plugin-release in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add crafter-station/skills --skill obsidian-plugin-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/obsidian-plugin-release, .gemini/skills/obsidian-plugin-release, .github/skills/obsidian-plugin-release and .opencode/skills/obsidian-plugin-release in your project.
Going by SKILL.md and its folder, Obsidian Plugin Release needs TypeScript and JavaScript for the scripts in its folder and the command-line tools its instructions call (git, gh, bun, bunx, npm and npx). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: community.obsidian.md; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Obsidian Plugin Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Obsidian Plugin Release: Update Dependencies (alorence/django-modern-rpc, 111 stars), npm Package Publisher (klaudworks/universal-skills, 181 stars), Python Pypi Package Builder (github/awesome-copilot, 40k stars) and Git Changes Reporter (No-Trade-No-Life/Yuan, 352 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
crafter-station (a GitHub organization) maintains it in crafter-station/skills, which has 112 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 7, 2026.
Source: crafter-station/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.