Borrowing it
Nothing to install: this file belongs to glide-the/im-dream. 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/glide-the/im-dream/develop/.agents/skills/ink-dream-playwright-qa/SKILL.mdgit clone --depth 1 https://github.com/glide-the/im-dreamWrote 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/glide-the/im-dream/ink-dream-playwright-qa)<a href="https://agentmods.dev/skills/glide-the/im-dream/ink-dream-playwright-qa"><img src="https://agentmods.dev/badge/skills/glide-the/im-dream/ink-dream-playwright-qa/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/glide-the/im-dream/ink-dream-playwright-qa"><img src="https://agentmods.dev/badge/skills/glide-the/im-dream/ink-dream-playwright-qa.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.00110 | $0.03749 |
| Opus 5.5 | $0.00044 | $0.01500 |
| Sonnet 5.5 | $0.00022 | $0.00750 |
| Haiku 4.5 | $0.00011 | $0.00375 |
Grade A, and why
ink-dream-playwright-qa 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 2d 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 — 283 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ink-Dream Playwright QA
Use the repository-local @playwright/test runtime. Select the real-business or
technical-isolation lane explicitly. Produce assertions and evidence, not
screenshot-only approval.
Read references/project-workflow.md before starting a browser run. Read its SubAgent fixture section only when testing SubAgent projections or timelines.
For authenticated real-business QA, read references/auth-checkpoints.md before login or session recovery. Find the prior successful entry, identity and credential source first; record a new secret-free checkpoint immediately after success. A rejected product password does not invalidate a separately saved Admin credential or an existing management session.
Test execution agent
Delegate bounded provider-free, isolated, mocked-browser, source/unit, and
visual-regression execution to the luna_test_runner custom agent. It is
configured for gpt-5.6-luna, high reasoning, and Fast mode. Give it the exact
spec/command, worktree, expected evidence, owned ports/data, and cleanup scope;
wait for its command receipts before accepting results.
Keep real-user or real-model business acceptance, production mutation,
migration/destructive work, approvals, diagnosis, and implementation in the
primary agent. If the runner cannot access the required browser or runtime,
report a harness blocker; do not silently replace the requested lane. Apply the
full routing contract from $luna-test-stage when available.
Non-negotiable rules
- Run technical Playwright stages from
frontend/with the installed@playwright/test. For primary real-business operations, honor an explicitly selected browser plugin and its controller; do not replace its profile or saved-session state with a standalone browser. - Inspect
git status --shortfirst. Preserve unrelated changes and remove only artifacts created by the current QA run. - Use an isolated database and absolute workspace root only for explicitly technical, provider-free, destructive, migration, or fault-injection tests. For user-requested real business or real-model QA, use the named existing local account/Run and normal Dream/Admin/Gateway/PostgreSQL path. Never clone real data or substitute a shadow account, Deck, ledger, or Admin instance.
- Treat ports
5173and8765as owned only after resolving their listener PIDs. Never kill an unidentified process. - Register API, console, page-error, and request-failure listeners before navigation.
- Before starting any Dream browser, model, or mutation step, write a Dream
business concept and impact brief. Define Project, Episode, canonical
Artifact, Run-private
.dreampublication, after-turn Hook, PostgreSQL/API projection, and final UI consumer for the scenario. Then mark every affected fact as changes, must remain unchanged, or not in scope. A test without this brief has no trustworthy expected result and must not start. - Write business E2E scenarios as normal human journeys through visible UI. API calls may stage isolated prerequisites or verify persisted facts, but must not replace the meaningful user interaction under test.
- Real Agent dialogue must use only language a user can derive from the page
and conversation. Do not put internal IDs, absolute paths, filenames,
.dreamcontracts, Hook instructions, canonical terminology, or exact tool commands in the user's message. Test code may discover stable IDs and paths after the turn for assertions and confirmation safety, but must never teach them to the model through the composer. - A business mutation is complete only when the whole consumer chain is proven:
visible request → shared Thread/Agent action → canonical file → successful
after-turn Hook → private
.dreampublication when applicable → PostgreSQL projection → public API → final visible consumer page. A file SHA, assistant sentence, HTTP health check, or screenshot alone is not acceptance. - Treat visible Agent/Thread termination as the business terminal. Once the UI shows that the Agent has stopped, immediately validate required output and fail if it is incomplete; process, port, SSE reconnect, or HTTP health alone must never justify continued business polling.
- Handle required tool confirmations through the visible UI as part of the human journey. Approve only case-specific allowlisted operations after the test identifies the displayed tool; fail on unknown, Bash, network, or other unreviewed confirmations instead of silently approving or polling behind them. AskUserQuestion answers must come from explicit scenario input.
- Keep headed browser windows within the current desktop using an explicit bounded outer window and deterministic content viewport. Never use zoom, CSS scaling, maximization, or hidden panels to conceal a responsive defect; require zero document-level horizontal overflow and keep the scenario's heading, primary action, and blocking dialogs inside the visible viewport.
- Prefer roles, labels, titles, and test ids. Do not use forced clicks to make a test pass; use keyboard activation only when intentionally validating or bypassing the known Writing overlay.
- Wait for visible state and known transitions. Do not replace readiness checks with arbitrary long sleeps.
- Verify behavior with assertions before taking screenshots.
- Stop only services started by the QA run. Remove its temporary technical data, but preserve real business Run/Thread/Gateway/Admin records unless the user explicitly requests cleanup.
What ships with it
6 files 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.
- 2d ago Changed · +7 lines a30aa67a1c3e
- 12d ago First seen · 276 lines · 110 tokens per session scan A f1303e7cbba7
ink-dream-playwright-qa is a skill published in the GitHub repository glide-the/im-dream (0 stars, last pushed yesterday), licensed MIT. It adds 110 tokens to every session and 3,749 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-10-02.
Other skills, from other repositories
browse
Drive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack).
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
create-verification-skill
Create a repo-local verification skill and exhaustive feature map for driving a real app through its UI, CLI, or API. Use for "create a verification skill", "make a verify skill for this repo", or "document how agents can verify this app".
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
browser-qa
A browser-based quality check for deployed web pages and user flows. It uses browser automation to test rendering, navigation, forms, interactions, responsive behaviour, and accessibility-related issues.
test-electron-app
Drive the real running PostHog Electron app (live tRPC, workspace-server, real data) over CDP with agent-browser. Connect to the running app on port 9222, test desktop changes against a local Django stack, snapshot the accessibility tree, inspect network requests, and screenshot only when explicitly asked. Use when…