pa-brat-beta-release
Manage Personal Assistant BRAT beta prerelease workflow.
Skill by edonyzpc
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/edonyzpc-pa-brat-beta-release
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pa-brat-beta-release
What's inside
- Skill name
pa-brat-beta-release- Description
- Manage Personal Assistant BRAT beta prerelease workflow. Use when the user asks to prepare, explain, validate, publish, or follow up a BRAT beta/prerelease build; asks about beta branch management; wants to move master-integrated work into BRAT testing; or needs the work branch to master to beta packaging or stable release process.
- License
- AGPL-3.0
- Instructions
- 226 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/release.mjs, scripts/publish-release.mjs
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# PA BRAT Beta Release
Use this skill for Personal Assistant prerelease builds intended for BRAT beta
testers. The detailed repo SOP is `docs/operations/brat-beta-testing.md`; read it before
changing the workflow or executing a beta release.
## Branch Model
Keep these roles distinct:
- `master`: the sole integration and release-source branch. All accepted runtime
code, tests, research/design docs, governance and release-tooling changes land
here through a PR merge or an explicitly authorized direct commit.
- Work branch: optional isolation/review transport. It has no beta or stable
release authority; accepted commits must enter `master` first.
- Beta packaging branch: temporary branch named exactly `beta/<target-version>`,
created from the exact verified `master` HEAD.
A beta branch may contain only the generated `[release] vX.Y.Z-beta.N` packaging
commit and tag above `master`. Do not add feature/fix/docs commits there, and do
not merge or rebase the beta release commit back to `master`.
## Safety Boundaries
- Treat `make release`, `make publish`, tag creation, branch pushes, GitHub
Releases, and sending BRAT tester instructions to others as release-side effects.
- Do not publish, push branches, push tags, create GitHub Releases, or hand off
BRAT tester instructions/URLs to others unless the user clearly asks for that
action in the current turn. Reporting a verified published URL to the user in
this conversation is read-only and does not require separate authorization.
- If the target version, `master` baseline, or baseline tag is ambiguous, stop and
ask before creating release state.
- Prefer `make release-dry-run VERSION=x.y.z-beta.N` before any local release
commit/tag.
## Preparation Workflow
Choose the lane from the user's request:
- **Explain/status/inspect:** read local state, the runbook, and remote status
when needed. Do not fetch, switch, pull, create branches, or write release state.
- **Dry run only:** inspect `scripts/release.mjs` and run the existing dry-run
command when its prerequisites already hold. It writes no release files, but
currently requires a clean matching `beta/<version>` branch at `master` HEAD
and a tagged baseline. Report unmet prerequisites; a dry-run request alone
does not authorize creating branches or changing the checkout to satisfy them.
- **Prepare:** perform the workflow below within the requested scope. Preparing
the baseline/packaging branch does not authorize a release commit, tag, or push.
When asked to prepare a beta:
1. Inspect current state:
- `git status --short --branch`
- `git branch --show-current`
- `node -p "require('./package.json').version"`
- `git tag --sort=-v:refname | sed -n '1,20p'`
If `git status --short --branch` shows any uncommitted changes, stop before
switching or creating beta branches. Ask the user to commit, stash, clean, or
explicitly confirm the intended dirty-worktree scope.
2. Confirm all accepted work is already in `master`. A work branch with commits
not reachable from `master` must be merged by PR or authorized direct commit
before beta preparation continues.
3. Refresh and verify the local integration baseline:
- `git fetch origin master`
- `git switch master`
- `git pull --ff-only`
- `git rev-list --left-right --count master...origin/master`
Require both counts to be zero before creating the packaging branch. This
one preparation check is necessary: `make release` treats a live master
mismatch as unavailable CI evidence and falls back to local checks; only
`make publish` rejects it. A successful `git pull --ff-only` alone does not
exclude local commits ahead of origin.
- do not run another full gate here: `make release` obtains exact-master CI
evidence or runs the full local fallback after the packaging branch is ready
If local `master` is ahead, beta preparation must stop until the user
explicitly authorizes pushing `master` and the two refs match.
Rely on release/publish scripts for their remaining source/ref/version
checks instead of repeating them manually.
4. Choose the next prerelease version, usually `<next-stable>-beta.N`.
5. Create the packaging branch from the exact current `master` HEAD:
- `git switch -c beta/<target-version>`
6. Run or recommend:
- `make release-dry-run VERSION=<target-version>`
- `make release VERSION=<target-version>` only when the user asked to create
local release state.
- `make publish VERSION=<target-version>` only when the user asked to publish
and the publish preflight below passes.
The release command uses the release-critical documentation gate. Full
`docs:check` lifecycle/status findings remain a separate CI and maintenance
signal and must not block beta or stable publication.
## Validation Reuse And Cost
Use ordinary `make release VERSION=<beta>` once. It automatically tries to
reuse the latest same-repository master push CI for the exact clean,
synchronized source SHA. The current attempt must have passed the full
`validate` job, including dependencies, Lint, Build, Test and Audit bundle;
docs-only success, skipped steps, old SHA/run/attempt or incomplete API data
cannot substitute. The script prints the accepted run URL/SHA or fallback reason.
Reuse retains local diff, third-party notice and release-doc checks. Missing
evidence, unsupported origin, missing `gh` or a bounded API timeout falls back
to the existing local full gate. `RELEASE_LOCAL_CHECKS=1 make release VERSION=...`
forces full local checks for diagnosis. Stable uses the same evidence rules;
dry-run does not query CI or execute checks. Do not use `SKIP_CHECKS` as a
substitute for this evidence check.
Beta publication follows completed functionality acceptance on master. For
normal generated packaging, tag CI independently reuses successful full master
push CI for the exact release parent, with the same repository/current attempt
and required full steps above. Normal master advances are allowed while that
parent remains in master history. It installs dependencies, builds versioned
assets, runs artifact tests, and retains metadata, notice, release-doc, bundle
audit and asset checks; it does not repeat source lint/full Jest/coverage.
Missing, invalid, failed, docs-only, incomplete or unavailable evidence falls
back to the full gate; invalid source/packaging identity rejects publication.
Stable also uses exact parent CI reuse under the release runbook. This replaces
the earlier always-full beta tag rule.From edonyzpc/personal-assistant, AGPL-3.0.
More from edonyzpc/personal-assistant
- 0.789score
obsidian-test-vault-smoke
edonyzpc
Validate Personal Assistant runtime and UI changes in the repo-local Obsidian test vault.
SkillAFreshness: A★ 149Claude Code +9 - 0.785score
obsidian-dataview
edonyzpc
Dataview plugin query syntax, inline expressions, DataviewJS API, and common vault analysis patterns.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
personal-assistant-review
edonyzpc
Review uncommitted or PR diffs in the personal-assistant Obsidian plugin with project-specific risk lanes, second-layer future-risk checks, severity…
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
sdd-lifecycle
edonyzpc
Deliver non-trivial Personal Assistant work with explicit plan-only, sdd-only, implement-approved-spec, and full-lifecycle modes.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
personal-assistant-review-followup
edonyzpc
Triage, confirm, fix, and validate code review findings in the personal-assistant repository after an agent team or human review.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
stable-release
edonyzpc
Execute the stable release workflow for the Personal Assistant Obsidian plugin.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
ui-ux-design-audit
edonyzpc
Audit multi-surface UI/UX in the personal-assistant Obsidian plugin with the current PA framework, real interface evidence, structured scoring, adversarial…
SkillAFreshness: A★ 149Claude Code +9 - 0.780score
pa-docs-lifecycle-manager
edonyzpc
Maintain PA task records and documentation lifecycle.
SkillAFreshness: A★ 149Claude Code +9 - 0.780score
obsidian-community-check
edonyzpc
Trigger and inspect Obsidian Community checks for personal-assistant.
SkillAFreshness: A★ 149Claude Code +9 - 0.780score
obsidian-ios-real-device-smoke
edonyzpc
Validate Personal Assistant on an iPhone using the iCloud test vault and Safari Web Inspector.
SkillAFreshness: A★ 149Claude Code +9 - 0.779score
obsidian-templater
edonyzpc
Templater plugin syntax, template commands, dynamic commands, user scripts, and startup templates.
SkillAFreshness: A★ 149Claude Code +9 - 0.777score
pm-needs-analysis
edonyzpc
分析 PA 功能请求、用户需求与产品匹配度,依据已有信息给出有证据的判断和建议;用户选择访谈时逐层引导,未定产品决策交由用户。
SkillAFreshness: A★ 149Claude Code +9
Signals
- Stars
- 149
- Forks
- 8
- Open issues
- 10
- Last commit (this folder)
- Oct 6, 2026 (22 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/edonyzpc/personal-assistant
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from edonyzpc
- 0.789score
obsidian-test-vault-smoke
edonyzpc
Validate Personal Assistant runtime and UI changes in the repo-local Obsidian test vault.
SkillAFreshness: A★ 149Claude Code +9 - 0.785score
obsidian-dataview
edonyzpc
Dataview plugin query syntax, inline expressions, DataviewJS API, and common vault analysis patterns.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
personal-assistant-review
edonyzpc
Review uncommitted or PR diffs in the personal-assistant Obsidian plugin with project-specific risk lanes, second-layer future-risk checks, severity…
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
personal-assistant-review-followup
edonyzpc
Triage, confirm, fix, and validate code review findings in the personal-assistant repository after an agent team or human review.
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
ui-ux-design-audit
edonyzpc
Audit multi-surface UI/UX in the personal-assistant Obsidian plugin with the current PA framework, real interface evidence, structured scoring, adversarial…
SkillAFreshness: A★ 149Claude Code +9 - 0.783score
sdd-lifecycle
edonyzpc
Deliver non-trivial Personal Assistant work with explicit plan-only, sdd-only, implement-approved-spec, and full-lifecycle modes.
SkillAFreshness: A★ 149Claude Code +9
Cite this page
pa-brat-beta-release skill. Agent Mart. https://agentmart.dev/skills/edonyzpc-pa-brat-beta-release (last updated 2026-10-24)