Verify Debbie Codes
debs-obrien/debbie.codes
Drive the live debbie.codes Nuxt site (web UI) the way a user does via Playwright — launch the dev server, doctor health, exercise mapped features, capture screenshots/ARIA evidence, and clean up.
Live browser QA + Playwright-compatible replay. An agent skill from VKirill/claude-lane-stack.
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VKirill/claude-lane-stack browser-qa --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .claude/skills/browser-qa && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .claude/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VKirill/claude-lane-stack browser-qa --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .agents/skills/browser-qa && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .agents/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VKirill/claude-lane-stack browser-qa --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .cursor/skills/browser-qa && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .cursor/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/VKirill/claude-lane-stack.git --path plugins/lane-stack/skills/browser-qa--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VKirill/claude-lane-stack browser-qa --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .gemini/skills/browser-qa && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .gemini/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install VKirill/claude-lane-stack browser-qaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .github/skills/browser-qa && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .github/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VKirill/claude-lane-stack --skill browser-qa -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VKirill/claude-lane-stack browser-qa --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/lane-stack/skills/browser-qa .opencode/skills/browser-qa && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "browser-qa" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/browser-qa into .opencode/skills/browser-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-qa", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
browser-qaLive browser QA + Playwright-compatible replay. An agent skill from VKirill/claude-lane-stack.
Browser QA is an agent skill from VKirill/claude-lane-stack. Live browser QA + Playwright-compatible replay. Disk .agents/qa/. Use when (terminal Lane Stack): проверь в браузере, кликни сценарий, вёрстка 375, screenshot QA. SKIP: Lane Pilot chats (PM calls lanepilotbrowserqa); DESIGN.md taste (design-lead); product Vue/CSS (writer lane); L0/L1 unit/API (lane-contract).
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/REPORT.md`, `references/TC.js` and `references/cases.md`).
It sits in Testing & QA, covering Design tokens and Browser testing. It works with Playwright and Vue.js. The repository describes itself as: Multi-agent AI coding factory for one person — Claude Code PM + Codex/Qwen/Grok/Kimi/AGY writers, durable conveyor, auto-merge to main. The licence is MIT.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 45fa19e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
gitnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Browser QA loads about 2.1k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 997 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from VKirill/claude-lane-stack at commit 45fa19e, republished under its MIT licence (© VKirill). 997 words, ~2,108 tokens.
.claude/skills/browser-qa/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Adapted from lee-to/ai-factory#154
replay rules. Paths and gates are lane-stack. No .ai-factory, no human
«работает или нет».
Inside a Lane Pilot chat (
LANE_PILOT_AGENT_TYPEset / toolslane_pilot_*present) do not run this file's replay and digest procedure. The PM checks an accepted task withlane_pilot_browser_qa; the check runs in a child thread throughbb browser-automation(no MCP browser) and ends with the one fenced JSON verdict its prompt asks for, changing no files..agents/qa/replay,qa-digest,chrome-qa,browser-qa-jevandchrome-devtoolsbelow are the terminal harness. The PM does not click in its own chat.
If $ARGUMENTS is exactly info, print references/info.md verbatim (Russian), then stop.
.agents/qa/context.md # cross-run, non-secret
.agents/qa/<slug>/
cases.md # source of truth for TC-*
REPORT.md # execution only; never overwrite cases
shots/
replay/TC-00N.js
replay/history/Copy structure from references/ next to this skill. English on disk.
Chat may be Russian. Redact tokens, cookies, OTP, password, jwt → [REDACTED].
PM / SPEC acceptance → cases.md. One ## TC-00N heading per case (see
references/cases.md). Fields: Surface, Priority, Viewport, Preconditions,
Steps, Expected.
| Surface | This agent |
|---|---|
browser-ui | Required. Live browser. Replay first. |
cli / backend-test / api | Do not click. Note blocked: use L0/L1. No human array-checking. |
human | Leave pending. The PM asks the operator. |
Default viewports if omitted: 375 768 1280.
qa-digest cases .agents/qa/<slug>/cases.md
qa-digest script .agents/qa/<slug>/replay/TC-001.js
qa-digest target local 'http://127.0.0.1:5173/'
git -C . rev-parse HEADtree is clean if git status --porcelain has nothing except .agents/qa/;
else dirty.
target_fingerprint input is QA TARGET\n<class>\n<normalized_base_url>\n.
Normalize: drop userinfo, query, fragment; keep scheme/host/port/base path;
strip trailing slash except origin /. Class:
local | staging | preview | production | unknown.
Matching replay = embedded case_digest + embedded target_fingerprint +
file script_digest all equal REPORT's last proven values.
Stale (uncheck, keep old evidence, do not count as current):
tree changed → all results stale; scripts stay reusable if matchingcases.md source_digest changed → stale only cases whose case_digest changedOne case → replay/TC-00N.js. Smallest async (page) => { … }. No imports,
no new npm deps. Navigation uses the literal "BASE_URL" placeholder. At run
time substitute normalized_base_url in memory; do not rewrite the file
just to inject the host.
// case_digest: <from qa-digest cases>
// target_fingerprint: <from qa-digest target>
async (page) => { /* goto("BASE_URL"+"/…"); asserts throw */ };unproven. Repeat only after preconditions restored. Stateful (submit, pay, delete, email, permissions) needs a fresh go-ahead that says this is a repeat.script_digest as proven only after that exact file executed. Until then: n/a, proof unproven.cp to replay/history/TC-00N-<old_script_digest>.js. Keep the first error in REPORT. Never run history.script_digest and needs a new proof. Never treat a staging script as matching localhost.tree change: replay every matching script (old pass and fail). Capability and side-effect rules still apply.proven means the script ran, not that the product passed.npx playwright.## TC-00N first, then a script.stages.browser_qa)| provider | Who clicks | Command |
|---|---|---|
jev (default) | CDP snapshot → Jev Choice (click/type/done). backend = chrome-qa | live-chrome | headless | browser-qa-jev --project-cwd . --url … --slug … --case "…" |
codex | Codex gpt-6-astra / low + browser plugins | browser-qa-codex --project-cwd . --url … --slug … --case "…" |
claude | this agent via chrome-devtools MCP | steps below |
browser-qa-jev writes cases.md, REPORT.md, shots/, jev-run.json.
browser-qa-codex writes codex-run.json / codex-result.json. Replay scripts
are not produced in jev/codex mode; receipt + shots are the proof.
.agents/qa/context.md if present (routes, how to start the app, test-user role). No secrets.chrome-devtools MCP (mcp__chrome-devtools__*: list_pages, new_page, navigate_page, take_snapshot, take_screenshot), else MetaMCP chrome-devtools, else existing project Playwright. If the MCP reports no browser, run chrome-qa start (dedicated profile, fixed port, no consent dialog) and retry once. No new dependency. None → every browser-ui case blocked. Do not write pass. WebFetch is not a browser.
Attached to the user's real Chrome (macOS --autoConnect, or --browserUrl): the server exposes every open tab. Create your own page with new_page, act only in pages you created, never snapshot, navigate or close other tabs, close yours when done, and prefer a dedicated QA profile for sensitive sites.production or unknown, or any side-effect case: do not run until the PM wrote authorized in the spawn prompt. Deny → blocked.cd project root. Slug from PM or qa-<YYYYMMDD-HHMM>.cases.md from SPEC/acceptance. Do not invent URLs.qa-digest cases + qa-digest target. If REPORT exists, apply stale rules before changing statuses.references/REPORT.md when missing. All new cases start pending.browser-ui case: matching replay first; else write script, run once, shots shots/TC-00N-<w>.png.DONE .agents/qa/<slug>/REPORT.md plus fail list and 3–5 shots.docs/DESIGN.md are not yours: report the defect in REPORT and leave the file.browser-ui case is pass only after a live browser run of that case; without a live browser it is blocked.cases.md; for anything else add a ## TC-00N first. This is the Playwright-replay harness, so no Human mode, .ai-factory or /aif-qa.BASE_URL placeholder).rm, git reset or shared DB wipe.© VKirill, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in plugins/lane-stack/skills/browser-qa of VKirill/claude-lane-stack.
Open the folder on GitHubat commit 45fa19e
Browser QA next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Browser QA this skillVKirill/claude-lane-stack | 122 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Verify Debbie Codesdebs-obrien/debbie.codes | 142 | — | ~1.9k | Automated safety check: Pass | None | |
| Playwright Component Testingmellowagain/gitarena | 115 | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Site Bugfixdebs-obrien/debbie.codes | 142 | — | ~960 | Automated safety check: Pass | None | |
| Chamilo Feature Test Authorchamilo/chamilo-lms | 1k | — | ~3.6k | Automated safety check: Pass | GPL-3.0 | |
| Writing Playwright TestsComfy-Org/ComfyUI_frontend | 2.1k | — | ~2.3k | Automated safety check: Pass | GPL-3.0 |
debs-obrien/debbie.codes
Drive the live debbie.codes Nuxt site (web UI) the way a user does via Playwright — launch the dev server, doctor health, exercise mapped features, capture screenshots/ARIA evidence, and clean up.
mellowagain/gitarena
Set up component testing with Playwright using a story gallery — scaffold stories and a gallery dev page driven by the built-in mount fixture, no dedicated component-testing runtime.
debs-obrien/debbie.codes
Reproduce and fix a debbie.codes site bug with browser proof and a Playwright regression when useful.
chamilo/chamilo-lms
Turns a plain-language Chamilo feature description into a Playwright and Gherkin test suite confirmed against the live app, not just the source code.
Comfy-Org/ComfyUI_frontend
Writes Playwright e2e tests for ComfyUIfrontend. An agent skill from Comfy-Org/ComfyUI_frontend.
sickn33/agentic-awesome-skills
AI-powered E2E web testing — eyes and hands for AI coding tools.
VKirill/claude-lane-stack
Lane-stack design + brand intelligence (vendored ui-ux-pro-max).
VKirill/claude-lane-stack
Owner-facing architect for a new app or service. An agent skill from VKirill/claude-lane-stack.
VKirill/claude-lane-stack
Карта файлов копирайта в .agents/copy/: шаблоны, статусы, цепочка audience→headlines→ux.
VKirill/claude-lane-stack
Dispatch copy-lead helpers: Tavily, Codex luna/terra, grok/X, OpenCode DeepSeek, Cursor Grok 4.6 medium-fast.
VKirill/claude-lane-stack
Keep living docs/ honest after code changes. An agent skill from VKirill/claude-lane-stack.
VKirill/claude-lane-stack
[RU: gtm, тег менеджер, google tag manager, контейнер, теги, триггеры, переменные, публикация версии, откат] GTM API v2 full read + write — Account/Container/Workspace hierarchy…
Works with
Live browser QA + Playwright-compatible replay. An agent skill from VKirill/claude-lane-stack. Browser QA is an agent skill from VKirill/claude-lane-stack. Live browser QA + Playwright-compatible replay.
Browser QA fits situations like: (terminal Lane Stack): проверь в браузере; Кликни сценарий.
Run `npx skills add VKirill/claude-lane-stack --skill browser-qa -a claude-code`. Or copy the skill folder (plugins/lane-stack/skills/browser-qa in VKirill/claude-lane-stack) into .claude/skills/browser-qa in your project. Claude Code loads it when a task matches its description.
Run `npx skills add VKirill/claude-lane-stack --skill browser-qa -a codex`. Or copy the skill folder (plugins/lane-stack/skills/browser-qa in VKirill/claude-lane-stack) into .agents/skills/browser-qa in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VKirill/claude-lane-stack --skill browser-qa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser-qa, .gemini/skills/browser-qa, .github/skills/browser-qa and .opencode/skills/browser-qa in your project.
Going by SKILL.md and its folder, Browser QA needs JavaScript for the scripts in its folder and the command-line tools its instructions call (git and npx). Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Browser QA is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 709 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Browser QA: Verify Debbie Codes (debs-obrien/debbie.codes, 142 stars), Playwright Component Testing (mellowagain/gitarena, 115 stars), Site Bugfix (debs-obrien/debbie.codes, 142 stars) and Chamilo Feature Test Author (chamilo/chamilo-lms, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
VKirill (a GitHub user) maintains it in VKirill/claude-lane-stack, which has 122 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 9, 2026.
Source: VKirill/claude-lane-stack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.