Vm Lab
Parallels macOS VM lab: GUI automation, Peekaboo, TCC, Ghostty.
Install
npx skills add steipete/agent-scripts --skill vm-lab -g -a claude-code -y- Repository
- steipete/agent-scripts7.4k
- Category
- Engineering
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 1,803 tokens
- Runs scripts
- Yes, review before use
What it does
Parallels macOS VM lab: GUI automation, Peekaboo, TCC, Ghostty.
VM Lab
Use this when the task needs a clean macOS VM to test GUI automation, TCC prompts, screenshot capture, clicking, typing, performance, or "two-way validation" of Peekaboo-like tools.
Core idea: run the tool under test inside the guest, but verify it from outside the guest with Parallels screenshots and host-side observations. Do not close apps you do not own.
Safety Rules
- Only task-owned clones are disposable. Preserve source/golden snapshots, recovery VMs, and other tasks' VMs; never reset, revert, or delete their snapshots.
- Never access inherited guest credentials or bypass login/startup security to bootstrap a clone.
- Never print secrets. If
opis needed, follow the 1Password skill and run it only insidetmux. - Prefer fresh app windows you create yourself: TextEdit, a local HTML test page, or a small test app.
- Limit host writes to task-owned temporary diagnostics and explicitly authorized clone recovery. Never change global Bash/Codex settings for a lab workaround.
- For git repos inside the VM, use HTTPS remotes and normal branch discipline.
Bootstrap Preflight
Before guest automation, confirm the exact task-owned VM UUID and snapshot provenance; the names below are examples, not permission to operate an existing VM.
- Apple-VZ clone fails to boot: verify the active raw disk's contents, not just clone success or logical size. A sparse linked child alone does not prove a broken chain;
clone --unlinkcreates another clone, not an in-place repair. - Packaging hangs before its first output: inspect the task-owned shell process and heredoc redirection before changing product code or build guards. A system-Bash retry must also pin PATH-resolved child shells, for that invocation only.
Use Bootstrap diagnostics for read-only checks, evidence limits, and narrowly scoped recovery boundaries.
VM Discovery
List VMs:
prlctl list --all
Get VM status/IP:
