Use when the user wants to know if their Prism Launcher Fabric modset is still optimal, when mods may have been superseded by better alternatives, when the user suspects redundant mods, or when gaps in coverage are suspected for a given MC version and player profile.
REQUIRED SUB-SKILL: superpowers:dispatching-parallel-agents REQUIRED SUB-SKILL: compat-check
Audit a Prism Launcher Fabric instance to determine whether each mod is still best-in-class, find better alternatives using live Modrinth data, record approved decisions to a shared decision doc, then chain to version-refresh.
Ask for any of these not already provided:
{PRISM_INSTANCES}1.21.11Fabricdbs-minecraft-refined) and PLUS () on Modrinthdbs-minecraft-plusminecraft. If provided, check server plugins via ssh <host> "ls {SERVER_PLUGINS_DIR}" to determine which server-side companions are active (DHSupport enables DH LOD sync; Lithium and Krypton are primarily server-side — client-only installs have partial benefit)../minecraft-audits/prism-<instance-name>-YYYY-MM-DD.md (create if not exists)No files are written in this section.
If a server host was provided, fetch active plugins:
ssh <host> "ls {SERVER_PLUGINS_DIR}"
Note server-side companions — affects verdicts for client mods with server-side counterparts (e.g. DHSupport enables DH LOD sync, Lithium/Krypton have server-side performance components).
Read <instance>/.minecraft/mods/ (include .disabled files). Assign each mod to exactly one category:
| Category | Example mods |
|---|---|
performance | sodium, ferritecore, entityculling, dynamic-fps, noisium |
rendering | iris, continuity, entity_texture_features, entity_model_features |
audio | sound-physics-remastered, sounds |
hud-ui | appleskin, BetterF3, durabilitytooltip, modmenu, lighty |
qol | MouseTweaks, smoothscroll, AutoWalk, camerautils, PickUpNotifier |
shaders | shader packs, EuphoriaPatcher |
library | fabric-api, cloth-config, yet-another-config-lib, etc. |
disabled | any .disabled mod — track separately, note why disabled if inferable |
Output: category → [mod list] map.
REQUIRED SUB-SKILL: superpowers:dispatching-parallel-agents — use it to dispatch and manage all category agents.
Run one general-purpose agent per non-library, non-disabled category. Dispatch all with run_in_background: true.
Read ./category-agent-prompt.md (in this skill's directory) for the full agent prompt template. Inject per-agent values (category name, user mods, MC version, modloader, server-side companions) from Phase 1.
When constructing sub-agent prompts, resolve all relative paths (like ../compat-check/SKILL.md) to absolute paths using this skill's base directory before injecting.
Wait for all agents to complete before Phase 3.
Build the numbered upgrade plan from all category reports. Read ./upgrade-plan-format.md (in this skill's directory) for the exact output format and table rules.
After presenting the plan, tell the user:
Reply with:
- "approve all" — apply every proposed change
- "approve 1,3" — apply only items #1 and #3
- "skip 2" — approve all except #2
- "cancel" — abort, no changes made
No files are written until the user explicitly responds.
Files are written only after the user responds to the upgrade plan.
Decision doc path: ./minecraft-audits/prism-<instance-name>-YYYY-MM-DD.md
Create ./minecraft-audits/ if it doesn't exist. Create the file if it doesn't exist. If it already exists (created by audit), append to it.
Header (write at top if creating):
# Minecraft Audit — YYYY-MM-DD
Instance: <name>
MC Version: <version>
Modloader: <loader>
Meta decisions section (always append):
## Meta decisions
| # | Action | Mod | Alternative | Decision |
|---|--------|-----|-------------|----------|
| 1 | ADD | Lithium | — | approved |
| 2 | REPLACE | flow | Smooth Gui | skipped |
| 3 | REMOVE | noisium | — | approved |
Use approved, skipped, or cancelled in the Decision column.
After writing the decision doc, say:
Meta audit complete. Decision doc saved to
./minecraft-audits/prism-<instance-name>-YYYY-MM-DD.md.
- Proceed — continue to version-refresh
- Cancel — stop here
version-refresh." and invoke it, passing the decision doc path and instance name.If any phase produces unexpected results — malformed agent output, Modrinth API errors, agents returning empty or garbled Category Reports — invoke superpowers:systematic-debugging before retrying or escalating to the user.
versions:X facet uses minor-series matching, not exact matching. Always call the /version endpoint to confirm.date_modified for target MC version — primary signal