Agent skill

Pa Brat Beta Release

by edonyzpc in edonyzpc/personal-assistant

Manage Personal Assistant BRAT beta prerelease workflow. An agent skill from edonyzpc/personal-assistant.

AGPL-3.0Auto-check passedDevOps & Cloud

Install Pa Brat Beta Release

skills CLI
$ npx skills add edonyzpc/personal-assistant --skill pa-brat-beta-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install edonyzpc/personal-assistant pa-brat-beta-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/edonyzpc/personal-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pa-brat-beta-release .claude/skills/pa-brat-beta-release && rm -rf skills-src

Use ~/.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/

Facts

Skill name
pa-brat-beta-release
GitHub stars
147
Token cost
~2.9k tokens
SKILL.md length
1,498 words
Files
2
Skills in repo
19
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Manage Personal Assistant BRAT beta prerelease workflow. An agent skill from edonyzpc/personal-assistant.

  • Works in 6 steps: Inspect current state → Confirm all accepted work is already in… → Refresh and verify the local integration… → …
  • The user asks to prepare
  • SKILL.md covers Branch Model, Safety Boundaries, Preparation Workflow and Validation Reuse And Cost, plus 5 more sections
  • Calls make, git and gh

What it does

Pa Brat Beta Release is an agent skill from edonyzpc/personal-assistant. 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.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in DevOps & Cloud, covering Deployment. 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.

When your agent uses it

  • The user asks to prepare
  • Follow up a BRAT beta/prerelease build
  • Asks about beta branch management
  • Wants to move master-integrated work into BRAT testing

Example prompts

  • “/pa-brat-beta-release”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Inspect current state
  2. Confirm all accepted work is already in master. A work branch with commits
  3. Refresh and verify the local integration baseline
  4. Choose the next prerelease version, usually -beta.N.
  5. Create the packaging branch from the exact current master HEAD
  6. Run or recommend

What it can do on your machine

Read from SKILL.md and the folder at commit 5c22410. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • git
    • gh
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pa Brat Beta Release loads about 2.9k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,498 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from edonyzpc/personal-assistant at commit 5c22410, republished under its AGPL-3.0 licence (© edonyzpc). 1,498 words, ~2,907 tokens.

Download SKILL.mdSave it as .claude/skills/pa-brat-beta-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
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.

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.

Reused CI does not prove this machine's node_modules or old dist is valid for deployment. Do not add another test/build before or after make release, or while waiting on tag CI, without changed inputs or a concrete failure. Normal beta packaging does not require redeployment or repeated functionality smoke.

scripts/release.mjs enforces both the matching beta/<target-version> name and the pre-release HEAD == master source invariant.

Show full SKILL.md (537 more words)Show less

Publish Preflight

Use make publish VERSION=<target-version> after accepted scope and validation. Trust its clean-worktree, branch, tag/HEAD, source-parent, version and packaging checks instead of manually repeating each SHA/ref/version query. scripts/publish-release.mjs queries live origin/master, then pushes the beta branch + tag atomically. If master advances normally after the live preflight, the workflow accepts the verified source parent as an ancestor; divergent/rewritten master history is rejected.

Reuse a normal successful push receipt. Recheck remote refs only for an ambiguous result, concurrent change, or a next action that needs current remote state. Script/workflow live preflight remains required.

Publish Verification

After publish, verify the GitHub prerelease before claiming BRAT readiness:

bash
gh release view <target-version> \
  --json tagName,name,isDraft,isPrerelease,assets \
  --jq '{tagName,name,isDraft,isPrerelease,assets:[.assets[].name]}'

Expected:

  • tagName and name equal <target-version>.
  • isPrerelease is true.
  • isDraft is false and the tag workflow completed successfully.
  • Assets include main.js, manifest.json, styles.css, LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.
  • The released manifest.json asset has version equal to <target-version>.

Download only manifest.json for the default completion check. Download all assets for local hashes/JS syntax checks only when explicitly requested or a specific artifact/download failure needs diagnosis. Wait for download completion before inspecting the file. Asset verification is not BRAT/app/device smoke.

Use workflow-step changes and blockers for progress updates. If the host requires periodic updates during an unchanged step, keep them short; do not launch redundant checks to fill the wait. Separate local preparation, remote tag gate and post-publish timing; polling/sleep overlaps the running gate and must not be added to its elapsed time.

For release workflow failures, inspect GitHub Actions before giving testers the BRAT URL.

BRAT Smoke

Do not claim BRAT validation unless the plugin was installed or updated through BRAT from the published GitHub Release.

Normal packaging beta reuses completed master functionality acceptance and verifies the Release/assets. Do not automatically deploy or repeat Obsidian, BRAT Chat/Memory/Pagelet, or mobile smoke.

Trigger targeted install/app/device smoke only for installation or asset layout, plugin ID or platform changes; a concrete download/load/upgrade failure; or an explicit request. Choose BRAT install/update and enable/reload/Settings for installation changes, the affected action for a load/runtime issue, and mobile only for the affected platform or request. New runtime fixes return to master functionality acceptance before packaging.

For app smoke, use obsidian-test-vault-smoke; for iOS, use obsidian-ios-real-device-smoke.

Stable Graduation

When beta blockers are closed:

  1. Confirm every accepted beta fix is already on master; fixes may enter by PR or authorized direct commit, never only on a beta branch.
  2. Verify master again. Do not merge beta release commits or prerelease metadata into it.
  3. Cut the stable release directly from master:
    • git switch master
    • git pull --ff-only
    • git branch --show-current
    • git status --short
    • make release-dry-run VERSION=<stable-version>
    • make release VERSION=<stable-version>
    • make publish VERSION=<stable-version> only after explicit publish intent.

Stable changelog generation ignores prerelease tags, so the stable release notes should cover the full range from the previous stable tag.

Recovery

  • If a beta is bad, put the fix on master first. If no published tag exists, recreate the packaging branch from that updated master only with explicit authority to replace local release state.
  • If a beta is already published, publish the next beta tag such as 2.9.0-beta.3 from updated master; do not rewrite tags without explicit maintainer approval.
  • If make release-dry-run reports the current package version is untagged, stop and resolve the baseline tag before proceeding.

© 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

Files

SKILL.md and 1 other file in .agents/skills/pa-brat-beta-release of edonyzpc/personal-assistant.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 5c22410

Compare with similar skills

Pa Brat Beta 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.

Pa Brat Beta Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pa Brat Beta Release this skilledonyzpc/personal-assistant147—~2.9kAutomated safety check: PassAGPL-3.0
Kubeshark Installerkubeshark/kubeshark12k—~3.6kAutomated safety check: NotesApache-2.0
GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb6.7k—~4kAutomated safety check: NotesApache-2.0
Mirrord Operatormetalbear-co/mirrord5.4k1 repos~4.6kAutomated safety check: PassMIT
KubeSphere ServiceMesh Managerkubesphere/kubesphere17k—~2.4kAutomated safety check: PassCustom licence
Vercelremotion-dev/remotion63k—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Kubeshark Installer

    kubeshark/kubeshark

    Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.

    12k GitHub stars~3.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Mirrord Operator

    metalbear-co/mirrord

    Help users install and configure the mirrord Operator for team/enterprise environments.

    5.4k GitHub starsUsed in 1 repo~4.6k tokens
    DevOps & CloudAuto-check passed
  • KubeSphere ServiceMesh Manager

    kubesphere/kubesphere

    Installs, checks and troubleshoots the KubeSphere ServiceMesh extension (Istio, Kiali, Jaeger), including grayscale release, sidecar injection, topology and tracing issues.

    17k GitHub stars~2.4k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Vercel

    remotion-dev/remotion

    Official

    Set up a Codex monitor for Vercel deployments and preview URLs.

    63k GitHub stars~1.2k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • AWS Cdk Development

    zxkane/aws-skills

    AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.

    367 GitHub starsUsed in 2 repos~2.5k tokens
    DevOps & CloudAuto-check passed

More from edonyzpc/personal-assistant

All 19 skills in this repo
  • Obsidian Dataview

    edonyzpc/personal-assistant

    Dataview plugin query syntax, inline expressions, DataviewJS API, and common vault analysis patterns.

    147 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Obsidian Test Vault Smoke

    edonyzpc/personal-assistant

    Validate Personal Assistant runtime and UI changes in the repo-local Obsidian test vault.

    147 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Obsidian Community Check

    edonyzpc/personal-assistant

    Trigger and inspect Obsidian Community checks for personal-assistant.

    147 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Pa Docs Lifecycle Manager

    edonyzpc/personal-assistant

    Maintain PA task records and documentation lifecycle. An agent skill from edonyzpc/personal-assistant.

    147 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Personal Assistant Review

    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…

    147 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Personal Assistant Review Followup

    edonyzpc/personal-assistant

    Triage, confirm, fix, and validate code review findings in the personal-assistant repository after an agent team or human review.

    147 GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Pa Brat Beta Release

What does Pa Brat Beta Release do?

Manage Personal Assistant BRAT beta prerelease workflow. An agent skill from edonyzpc/personal-assistant. Pa Brat Beta Release is an agent skill from edonyzpc/personal-assistant. Manage Personal Assistant BRAT beta prerelease workflow.

When should I use Pa Brat Beta Release?

Pa Brat Beta Release fits situations like: the user asks to prepare; follow up a BRAT beta/prerelease build; asks about beta branch management; wants to move master-integrated work into BRAT testing.

How do I install Pa Brat Beta Release in Claude Code?

Run `npx skills add edonyzpc/personal-assistant --skill pa-brat-beta-release -a claude-code`. Or copy the skill folder (.agents/skills/pa-brat-beta-release in edonyzpc/personal-assistant) into .claude/skills/pa-brat-beta-release in your project. Claude Code loads it when a task matches its description.

How do I install Pa Brat Beta Release in Codex?

Run `npx skills add edonyzpc/personal-assistant --skill pa-brat-beta-release -a codex`. Or copy the skill folder (.agents/skills/pa-brat-beta-release in edonyzpc/personal-assistant) into .agents/skills/pa-brat-beta-release in your project. Codex loads it when a task matches its description.

Can I use Pa Brat Beta Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add edonyzpc/personal-assistant --skill pa-brat-beta-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/pa-brat-beta-release, .gemini/skills/pa-brat-beta-release, .github/skills/pa-brat-beta-release and .opencode/skills/pa-brat-beta-release in your project.

What does Pa Brat Beta Release need to run?

Going by SKILL.md and its folder, Pa Brat Beta Release needs the command-line tools its instructions call (make, git, gh and node).

Does Pa Brat Beta Release access the network?

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.

Is Pa Brat Beta Release safe to install?

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.

What licence does Pa Brat Beta Release use?

Pa Brat Beta 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.

How many tokens does Pa Brat Beta Release use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pa Brat Beta Release?

Skills that share tags, products or a category with Pa Brat Beta Release: Kubeshark Installer (kubeshark/kubeshark, 12k stars), GreptimeDB Dev Docker Image (GreptimeTeam/greptimedb, 6.7k stars), Mirrord Operator (metalbear-co/mirrord, 5.4k stars) and KubeSphere ServiceMesh Manager (kubesphere/kubesphere, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pa Brat Beta Release?

edonyzpc (a GitHub user) maintains it in edonyzpc/personal-assistant, which has 147 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 10, 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.