Release Notes
RAIT-09/obsidian-agent-client
Generate a GitHub release note draft for this Obsidian plugin repository.
Execute the stable release workflow for the Personal Assistant Obsidian plugin.
$ npx skills add edonyzpc/personal-assistant --skill stable-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install edonyzpc/personal-assistant stable-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/edonyzpc/personal-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/stable-release .claude/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .claude/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-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 edonyzpc/personal-assistant --skill stable-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install edonyzpc/personal-assistant stable-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/stable-release .agents/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .agents/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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 edonyzpc/personal-assistant --skill stable-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install edonyzpc/personal-assistant stable-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/stable-release .cursor/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .cursor/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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/edonyzpc/personal-assistant.git --path .agents/skills/stable-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 edonyzpc/personal-assistant --skill stable-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install edonyzpc/personal-assistant stable-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/stable-release .gemini/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .gemini/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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 edonyzpc/personal-assistant stable-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 edonyzpc/personal-assistant --skill stable-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/stable-release .github/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .github/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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 edonyzpc/personal-assistant --skill stable-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 edonyzpc/personal-assistant stable-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/stable-release .opencode/skills/stable-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 "stable-release" agent skill from https://github.com/edonyzpc/personal-assistant/tree/master/.agents/skills/stable-release into .opencode/skills/stable-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stable-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.
stable-releaseExecute the stable release workflow for the Personal Assistant Obsidian plugin.
Stable Release is an agent skill from edonyzpc/personal-assistant. Execute the stable release workflow for the Personal Assistant Obsidian plugin. Use when the user asks to prepare, validate, cut, or publish a stable release; asks for a stable release dry run or follow-up verification; or says "release", "发版", "publish stable", "cut release", "stable release", "发布正式版", or "正式发版". For BRAT beta prerelease builds, use pa-brat-beta-release instead.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It works with Obsidian and GitHub. The repository describes itself as: A plugin that harnesses AI agents and streamlining techniques to help you automatically manage Obsidian. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit 4e57a31. 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.
Shell commands in SKILL.md call:
gitmakenodeghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From 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.
Stable Release loads about 2.2k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 1,098 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); files beside SKILL.md are not scanned.
The full file from edonyzpc/personal-assistant at commit 4e57a31, republished under its AGPL-3.0 licence (© edonyzpc). 1,098 words, ~2,239 tokens.
.claude/skills/stable-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Read docs/operations/release-process.md before every stable-release execution
or workflow change. Treat that runbook and the current release scripts as the
canonical command and asset contract. If this skill disagrees with them, stop
and report the drift instead of improvising.
Run commands from the repository root. For prerelease versions, use
pa-brat-beta-release instead.
Classify the current request before changing state:
prepare: inspect state and show the dry run. Do not create a release commit
or tag, push anything, create a GitHub Release, or submit a hosted community
review.local-release: prepare, then let release automation validate and create the
local release commit and annotated tag. Do not push.publish: complete the local release when needed, push master and the tag,
wait for the workflow, verify the GitHub Release, then verify official
recognition through Check for new releases when needed.verify: inspect an already-published target and complete only the
requested follow-up verification. Do not recreate its release commit or tag
or push again. For official recognition, proceed to the section below after
verifying the existing GitHub Release.Treat an explicit current-turn request that names the target version and asks to
publish as authorization for the complete publish flow. Do not ask again only
because the dry run finished. Ask before mutation only when:
master with a clean worktree.Error, or workflow
failure. Report the evidence; do not bypass the gate.Run:
git status --short --branch
git branch --show-current
node -p "require('./package.json').version"
git tag --sort=-v:refname | sed -n '1,20p'
git fetch origin master
git rev-parse HEAD
git rev-parse origin/masterStop if the worktree is dirty or the branch is not master.
Resolve one of these states:
package.json, its tag does
not exist, and HEAD equals origin/master.package.json equals the target, the target tag
points to HEAD, and HEAD^ equals origin/master. Do not recreate the
release commit.Stop on any other local/remote or version/tag relationship and ask the user how to reconcile it. If no version was supplied, use the read-only changelog preview to propose one, then obtain approval before changing release state:
node scripts/changelog.mjs --target-version <candidate>For a fresh source state, always run:
make release-dry-run VERSION=<target-version>Report the current and target versions, changelog range, commit subjects, and
generated section. Continue directly when they match an already-authorized
local-release or publish request. A previously created local-release state
cannot be dry-run again with the same version; validate its release commit and
tag instead.
Stable preparation and publication do not run a hosted source Preview,
including an optional preview. Release automation retains source validation,
eligible CI reuse and final tag/asset checks. Use obsidian-community-check
only in release mode after GitHub publication, as described below.
Hosted-only defects may therefore be discovered after GitHub publication.
Diagnose them and follow the recovery section; do not claim official recognition
while an Error remains unresolved.
For a fresh local-release or publish flow, run the release automation:
make release VERSION=<target-version>Do not pass SKIP_CHECKS=1 or --skip-checks. Do not use make deploy as a
substitute: make release owns its whitespace, notices and release-critical
docs checks. It reuses complete successful CI for the exact synchronized master
source when eligible; otherwise it runs local lint, build, coverage and bundle
audit. RELEASE_LOCAL_CHECKS=1 forces the full local gate for diagnosis.
The final tag always builds versioned assets and runs artifact tests with valid
parent CI, or full coverage without it, plus legal/docs/version/bundle/asset checks.
Do not prepend another full gate to the automated evidence lookup. Full lifecycle
docs:check findings are reported separately and do not block publication.
Trust the successful release command's version, commit/tag and worktree checks. Recheck state only after a concurrent change, an ambiguous command result or a concrete failure.
Stop here for local-release.
For an authorized publish, run the command and rely on its current clean-tree,
branch, version and tag preflight rather than duplicating those checks:
make publish VERSION=<target-version>First verify that the GitHub Actions release workflow succeeds and the Release object is non-draft, non-prerelease, and contains the canonical assets:
gh release view <target-version> \
--json url,tagName,name,isPrerelease,isDraft,assets \
--jq '{url,tagName,name,isPrerelease,isDraft,assets:[.assets[].name]}'Use the canonical runbook for the exact asset set and recovery procedure. If the workflow or Release verification is unavailable, report the push separately and leave publication unverified.
After GitHub publication is verified, use obsidian-community-check in
release mode for the same target version and published tag commit. An
authorized stable publish includes this step; continue without asking again.
For a verification-only request, inspect first and submit only when the request
includes checking/refreshing official recognition.
Reuse a matching completed or pending release review. Otherwise click
Check for new releases on the authenticated Personal Assistant account page.
Stop and diagnose a matching Failed review or Error before resubmission.
Require a release row with Version: <target-version>, the published tag's
commit, Completed, and no Error; also require Current release to show the
target version and the missing-release banner to be absent.
Report GitHub publication and official recognition separately. Do not claim
the stable release flow complete after the button click or while recognition
is Pending/BLOCKED. Keep a blocked account page available for handoff and
resume recognition for the existing release; do not recreate, repush or retag.
Do not claim client installation or update delivery from hosted recognition.
Before GitHub publication, diagnose a failed gate, fix its cause and resume the affected step using the runbook's recovery procedure. Revalidate changed inputs through release automation; reuse still-valid evidence.
After publication, a confirmed Community code defect requires a fix on master
and a new higher patch release through this flow. Preserve the published release,
assets and tag; do not overwrite, delete or retag them. Keep the new version and
publication within the user's authorized scope; a different target outside that
scope requires approval.
For Pending, discovery delays or unavailable login/network access, resume
recognition for the existing release. For suspected scanner/environment failures
or false positives, diagnose first; rerun only with new evidence or changed inputs.
Do not add a source Preview to recovery or repeatedly resubmit unchanged reviews.
pa-brat-beta-release for BRAT prereleases.personal-assistant-review for code-level release readiness.obsidian-community-check for post-publication official release recognition.obsidian-test-vault-smoke for app smoke evidence.obsidian-ios-real-device-smoke for real-device iOS evidence.© edonyzpc, AGPL-3.0. 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 1 other file in .agents/skills/stable-release of edonyzpc/personal-assistant.
Open the folder on GitHubat commit 4e57a31
Stable 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 |
|---|---|---|---|---|---|---|
| Stable Release this skilledonyzpc/personal-assistant | 148 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Release NotesRAIT-09/obsidian-agent-client | 2.4k | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Store Submitzhitongblog/solomd | 1.2k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Lov Any2pdflovstudio/any2pdf | 211 | — | ~2.4k | Automated safety check: Notes | MIT | |
| Triageflowershow/flowershow | 1.1k | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Swarmvaultswarmclawai/swarmvault | 708 | — | ~6.1k | Automated safety check: Pass | MIT |
RAIT-09/obsidian-agent-client
Generate a GitHub release note draft for this Obsidian plugin repository.
zhitongblog/solomd
Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.
lovstudio/any2pdf
Convert Markdown documents to professionally typeset PDF files with reportlab.
flowershow/flowershow
Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.
swarmclawai/swarmvault
Use SwarmVault when the user needs a local-first knowledge vault that writes durable markdown, graph, search, dashboard, review, chat-session, context-pack, task-ledger, static AI export, retrieval…
zhitongblog/solomd
Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap.
edonyzpc/personal-assistant
Dataview plugin query syntax, inline expressions, DataviewJS API, and common vault analysis patterns.
edonyzpc/personal-assistant
Validate Personal Assistant runtime and UI changes in the repo-local Obsidian test vault.
edonyzpc/personal-assistant
Trigger and inspect Obsidian Community checks for personal-assistant.
edonyzpc/personal-assistant
Manage Personal Assistant BRAT beta prerelease workflow. An agent skill from edonyzpc/personal-assistant.
edonyzpc/personal-assistant
Maintain PA task records and documentation lifecycle. An agent skill from edonyzpc/personal-assistant.
edonyzpc/personal-assistant
Review uncommitted or PR diffs in the personal-assistant Obsidian plugin with project-specific risk lanes, second-layer future-risk checks, severity discipline, subagent review routing, and…
Execute the stable release workflow for the Personal Assistant Obsidian plugin. Stable Release is an agent skill from edonyzpc/personal-assistant. Execute the stable release workflow for the Personal Assistant Obsidian plugin.
Stable Release fits situations like: the user asks to prepare; publish a stable release; asks for a stable release dry run; follow-up verification.
Run `npx skills add edonyzpc/personal-assistant --skill stable-release -a claude-code`. Or copy the skill folder (.agents/skills/stable-release in edonyzpc/personal-assistant) into .claude/skills/stable-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add edonyzpc/personal-assistant --skill stable-release -a codex`. Or copy the skill folder (.agents/skills/stable-release in edonyzpc/personal-assistant) into .agents/skills/stable-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 edonyzpc/personal-assistant --skill stable-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/stable-release, .gemini/skills/stable-release, .github/skills/stable-release and .opencode/skills/stable-release in your project.
Going by SKILL.md and its folder, Stable Release needs the command-line tools its instructions call (git, make, node and gh).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. 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. Review the folder before installing.
Stable Release is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Stable Release: Release Notes (RAIT-09/obsidian-agent-client, 2.4k stars), Store Submit (zhitongblog/solomd, 1.2k stars), Lov Any2pdf (lovstudio/any2pdf, 211 stars) and Triage (flowershow/flowershow, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
edonyzpc (a GitHub user) maintains it in edonyzpc/personal-assistant, which has 148 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 2026.
Source: edonyzpc/personal-assistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.