wallpaper-issue
GitHub用于排查和修复壁纸渲染差异问题。通过下载壁纸、捕获参考帧、定位解析代码、编写测试并修复机制,最终验证对比结果,确保渲染效果与 Wallpaper Engine 一致。
Trigger Scenarios
Install
npx skills add MMFoundation/WallpaperMachine --skill wallpaper-issue -g -y
SKILL.md
Frontmatter
{
"name": "wallpaper-issue",
"description": "Triage and fix a WallpaperMachine report that a wallpaper looks or behaves differently from Wallpaper Engine (wrong colours, missing or misplaced layers, effects, particles, text, timing), usually a GitHub issue with a Workshop id. Downloads the wallpaper with the app's saved Steam sign-in, captures Wallpaper Engine's own frames in the Parallels Windows VM, decides whether the report is a real rendering bug or a misleading preview, then fixes the general mechanism with a test first and a before\/after comparison."
}
Wallpaper issue: triage, fix, verify
The guide is docs/testing/wallpaper-fixes.md; read it first and follow its order. The rules in AGENTS.md outrank this skill. This skill grants nothing beyond them; the standing permissions it relies on are written there.
Without asking the user, a wallpaper fix may:
- download the reported item:
python3 scripts/we_reference.py fetch <id> --into artifacts/issue-<n>(the app's saved Steam sign-in, never a new one; if it reports the sign-in is no longer accepted, stop and ask the user to sign in again in the app); - wake the Parallels Windows VM (
open -a "Parallels Desktop"), capture Wallpaper Engine's frames withcapture(muted, started by the VM's background poller), and suspend the VM again through the Parallels menu (how).
Steps, each detailed in the guide:
- Triage: get the wallpaper and Wallpaper Engine's frames (reuse shared shots), copy
metal_scene_draw_smoketoartifacts/issue-<n>/smoke-beforebefore any renderer edit, renderbefore, compare. Ours matching Wallpaper Engine means it is not a renderer bug: report that with the numbers and stop. - Localize:
we_reference.py unpack, readscene.json, find the parser code for the keys involved. When Wallpaper Engine's rule is unclear, capture a generated probe scene and read the pixels instead of guessing. - Fix the general mechanism with a failing test first; no per-frame cost; a
ThirdParty/change updatesThirdParty/provenance.jsonand the owning docs. - Verify: render
after, comparebefore,after, run the gates once, suspend the VM. - Deliver: commit with
Fixes #<n>in the body (push only when asked), Release build only per AGENTS.md or local opt-in, delete this task'sartifacts/output, keep the Workshop items' shared shots.
Report the verdict (real bug or preview mismatch), the evidence, the comparison numbers, what was not compared, and the cleanup in one line.
Version History
- 8c438e9 Current 2026-11-02 09:02


