Add Beat Saber plugin update audit skill

This commit is contained in:
pleb
2026-07-09 15:35:02 -07:00
parent a94a1ed000
commit 1dbe80a36f
7 changed files with 425 additions and 3 deletions
@@ -0,0 +1,78 @@
---
name: beatsaber-plugin-update-auditor
description: Audit Beat Saber plugin-helper locks for available plugin updates and follow-up work. Use when the user asks to check all Beat Saber plugins for updates, compare locked mods against GitHub or BeatMods, review plugin/version compatibility tracking notes, identify PR/local/manual builds that need follow-up, or skip paid/private Patreon and Discord plugin sources during update checks.
---
# Beat Saber Plugin Update Auditor
Use this skill from the `plugin-helper` repo to produce an update audit, not to
blindly update plugins. Keep public, private, and experimental sources distinct.
## Workflow
1. Confirm repo context:
```bash
test -f pyproject.toml && test -d src/plugin_helper && test -d locks && test -d registry/plugins
git status --short
```
2. Choose the instance from the user request. If omitted, prefer `1.44.1` only
when that is clearly the active migration context; otherwise list instances:
```bash
PYTHONPATH=src .venv/bin/python -m plugin_helper instances
```
3. Run the update audit with repo-local state unless the user explicitly targets
another configured profile:
```bash
PYTHONPATH=src .venv/bin/python -m plugin_helper --state-dir .state updates --instance <instance>
PYTHONPATH=src .venv/bin/python -m plugin_helper --state-dir .state updates --instance <instance> --json
```
The command checks ordinary GitHub locks, `beatmods-*` locks via BeatMods
verified metadata, skips `patreon/` and `discord/` sources, and marks local,
PR, manual, failed-trial, or pending-smoke entries as review items.
4. Read the compatibility tracker before proposing updates for review items:
```bash
sed -n '1,380p' docs/notes/install-and-verify-plugins-1.44.1.md
sed -n '1,220p' docs/notes/naluluna-mod-assistant.md
```
Follow up on rows marked failed, omitted, currently failed, smoke blocked,
manual resmoke pending, local build, PR build, or local/private. Do not
reinstall failed or omitted plugins unless the notes identify a newer
compatible source.
5. For each public update candidate, inspect source notes before changing the
lock. Prefer upstream GitHub release artifacts when available; use BeatMods
CDN only for verified fallback cases, BeatMods-only packages, inaccessible
upstream assets, or framework/library dependencies.
6. Do not attempt automated public update checks for:
- `patreon/NalulunaModAssistant` or Naluluna bundles
- `discord/BeatSaberPlus` or BeatSaberPlus/ChatPlexSDK bundles
- other paid or closed-source plugin zips
Report them as skipped/manual follow-up only.
7. If the user asks to apply an update, switch to the `beatsaber-plugin-manager`
workflow for download, lock update, planning, apply, and smoketest.
## Output
Summarize in four groups:
- Public updates found: plugin, current version, candidate version, source.
- Current public locks: count only unless the user asks for every row.
- Review follow-ups: local builds, PR builds, failed trials, blocked smokes,
or notes saying compatibility work is pending.
- Skipped private sources: Patreon/Discord paid or closed-source packages.
Mention BeatMods/GitHub API errors separately from "no update found"; those are
unknowns, not proof that the plugin is current.
@@ -0,0 +1,4 @@
interface:
display_name: "Beat Saber Plugin Update Auditor"
short_description: "Audit plugin locks for GitHub and BeatMods updates."
default_prompt: "Check the locked Beat Saber plugins for updates and review items."