Borrowing it
Nothing to install: this file belongs to pwrdrvr/PwrSnap. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/pwrdrvr/PwrSnap/main/.agents/skills/macos-vm-e2e-lab/SKILL.mdgit clone --depth 1 https://github.com/pwrdrvr/PwrSnapWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pwrdrvr/pwrsnap/macos-vm-e2e-lab)<a href="https://agentmods.dev/skills/pwrdrvr/pwrsnap/macos-vm-e2e-lab"><img src="https://agentmods.dev/badge/skills/pwrdrvr/pwrsnap/macos-vm-e2e-lab/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pwrdrvr/pwrsnap/macos-vm-e2e-lab"><img src="https://agentmods.dev/badge/skills/pwrdrvr/pwrsnap/macos-vm-e2e-lab.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.02707 |
| Opus 5.5 | $0.00040 | $0.01083 |
| Sonnet 5.5 | $0.00020 | $0.00541 |
| Haiku 4.5 | $0.00010 | $0.00271 |
Grade A, and why
macos-vm-e2e-lab scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 28d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PwrSnap macOS VM E2E lab
PwrSnap does not own the Tart lab, runner VMs, or guest OS baseline — PwrSuiteLab does. Product tests and CI contracts belong here; lab inventory, configuration, transport, diagnosis, and recovery belong only there. Do not provision a product-local Tart lab, clone a base image, or register a runner from this repository, and never copy private lab details into PwrSnap (see AGENTS.md for what that covers).
Why this exists
Headed desktop E2E takes over the screen: it opens windows, steals focus, and drives the region selector and global hotkeys. Run on the operator's own desktop it interrupts whatever they are doing and can pull their real windows into a capture under test.
Prefer Control MCP
Discover the available PwrSuiteLab Control MCP tools and read their live input
schemas and served skill://manage-pwrlab-e2e/SKILL.md before operating. Use
that skill for the current job, ownership, transport, and recovery contract;
do not assume this product guide replaces it. If a tool discovery client is
available, search its live MCP connections even if no lab tools were initially
registered. Discover skills with skills/list and skills/get (or
resources/list for older clients), then read the served skill with
resources/read.
An Operate grant authorizes the exposed MCP actions for the requested work without per-operation native confirmation. A Read only grant does not. Keep the requested target and test scope; a grant does not authorize unrelated work or bypass controller safety checks. Do not ask again for an already authorized run. Running on the operator's own desktop still requires explicit approval.
- Use
lab_statusand the exact dedicated E2E target it returns. Never use a GitHub Actions runner or the physical desktop for this workflow. Check status before preparing and again before submitting a run; idle shutdown can stop the VM between jobs, andlab_e2e_runstarts it when needed. - Both
lab_e2e_runandlab_e2e_acquirerequire top-levelagent_name,project_name, andthread_name, including when consuming a reservation. Use actual display attribution (PwrSnapfor the project); use a descriptive task title if the thread title is unavailable. Includepr_numberas a decimal string only when applicable and known; omit it otherwise. These labels are not authentication. Never include secrets or local paths in them. job.repositoryis the absolute path to this thread's exact clean, committed worktree. Check untracked files too; never discard changes to make it clean. Only committed HEAD and locally available submodule/LFS content travel. Obtain needed LFS objects before submission. No push or named-workload enrollment is required; the repository must be local to Control's host.job.setupis an ordered array of argv arrays;job.commandis an argv array. Explicit["bash", "-c", "..."]is allowed for shell setup. All commands run in the guest. Select runtime versions, dependency installation, native rebuild/build, and narrow tests from PwrSnap's current package scripts and CI. The concrete example lives in CONTRIBUTING.md. Never install tools on the host as a workaround or copy credentials.- Bound the timeout and artifact paths to this task. Artifacts are relative checkout paths, with no traversal or symlinks; do not collect a whole home directory or dependency tree. The live schema sets the current limits.
- Save both the returned request ID and
run_id. Polllab_request_statuswith the request ID for operation status; a completed launch withjob_state: runningis not a passing test. Uselab_e2e_collectwith the exact target and savedrun_idfor job progress and artifacts, polling its request ID if necessary. Inspect the returned artifact directory,e2e.log, exit code, and artifact completeness. Distinguish setup and test failures. - On
Invalid tool or arguments, inspect the current schema and missing or mistyped fields first, especially attribution and argv arrays. This is a schema/tool mismatch, not evidence that an Operate grant was lost. Correct the call; do not request reauthorization or switch to scripts/raw SSH to evade a validation or permission refusal. If launch or transport failed, inspect any returned run ID before retrying: the guest may already be running.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 28d ago Changed · +74 lines · +5 tokens per session e4063a37e3dc
- 1mo ago First seen · 124 lines · 95 tokens per session scan A 7318c1b97110
macos-vm-e2e-lab is a skill published in the GitHub repository pwrdrvr/PwrSnap (6 stars, last pushed yesterday), licensed MIT. It adds 100 tokens to every session and 2,707 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
qa-testing
Verify your work by actually operating the app or website you changed, instead of assuming it works. Strongly recommended whenever you build, modify, or debug a web app, website, or desktop GUI app. Drive real browsers with the agent-browser CLI and native desktop apps with the cua-driver CLI. These are installed on…
browser-qa-delivery
Validate a Design Studio HTML artifact in the sandbox browser, fix rendering and runtime defects, then deliver exactly the tested file.
visual-regression
Detect unintended UI changes with reproducible rendered screenshots and reviewed baselines. Use when adding screenshot checks or investigating layout/theme regressions; do not approve a changed image merely to make the test green.
agent-e2e-test-specialist
Specialist subagent: Playwright, Cypress, and visual regression testing specialist. Use only when the user explicitly asks for E2E tests, browser test automation, or visual regression testing. Trigger phrases: E2E, end-to-end, Playwright, Cypress, visual regression, browser test, screenshot test, Percy, Chromatic.
testing
TDD/BDD testing principles. Use when writing tests, reviewing test coverage, setting up testing, or discussing test strategy and test architecture.
cypress-ops
Cypress end-to-end and component testing operations - selector/retry-ability strategy, cy.intercept network stubbing, cy.session auth, component vs e2e, flake diagnosis, CI, Test Replay. Use for: cypress, e2e test, component test, cy.get, cy.intercept, cy.session, data-cy, data-test, retry-ability, flake, flaky test…