Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
面向 SurveyController 仓库 v3 分支的 Playwright 作答执行层技能。仅在修改或排查 Playwright 作答链路、异步浏览器 owner/context 池、BrowserDriver 封装、页面加载、运行时答题、翻页、提交、取消、超时、资源释放和并发调度时使用。只能用于 v3 分支;只允许系统自带 Microsoft Edge,不允许安装或引入…
$ npx skills add SurveyController/SurveyController --skill playwright-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SurveyController/SurveyController playwright-pipeline --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/SurveyController/SurveyController.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/playwright-pipeline .claude/skills/playwright-pipeline && 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 "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .claude/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipelineType 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 SurveyController/SurveyController --skill playwright-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SurveyController/SurveyController playwright-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SurveyController/SurveyController.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/playwright-pipeline .agents/skills/playwright-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .agents/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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 SurveyController/SurveyController --skill playwright-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SurveyController/SurveyController playwright-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SurveyController/SurveyController.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/playwright-pipeline .cursor/skills/playwright-pipeline && 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 "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .cursor/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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/SurveyController/SurveyController.git --path .codex/skills/playwright-pipeline--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 SurveyController/SurveyController --skill playwright-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SurveyController/SurveyController playwright-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SurveyController/SurveyController.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/playwright-pipeline .gemini/skills/playwright-pipeline && 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 "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .gemini/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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 SurveyController/SurveyController playwright-pipelineInstalls 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 SurveyController/SurveyController --skill playwright-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SurveyController/SurveyController.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/playwright-pipeline .github/skills/playwright-pipeline && 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 "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .github/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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 SurveyController/SurveyController --skill playwright-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SurveyController/SurveyController playwright-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SurveyController/SurveyController.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/playwright-pipeline .opencode/skills/playwright-pipeline && 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 "playwright-pipeline" agent skill from https://github.com/SurveyController/SurveyController/tree/main/.codex/skills/playwright-pipeline into .opencode/skills/playwright-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playwright-pipeline", 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.
playwright-pipeline面向 SurveyController 仓库 v3 分支的 Playwright 作答执行层技能。仅在修改或排查 Playwright 作答链路、异步浏览器 owner/context 池、BrowserDriver 封装、页面加载、运行时答题、翻页、提交、取消、超时、资源释放和并发调度时使用。只能用于 v3 分支;只允许系统自带 Microsoft Edge,不允许安装或引入…
Playwright Pipeline is an agent skill from SurveyController/SurveyController. 面向 SurveyController 仓库 v3 分支的 Playwright 作答执行层技能。仅在修改或排查 Playwright 作答链路、异步浏览器 owner/context 池、BrowserDriver 封装、页面加载、运行时答题、翻页、提交、取消、超时、资源释放和并发调度时使用。只能用于 v3 分支;只允许系统自带 Microsoft Edge,不允许安装或引入 Chromium;要求全量异步,不使用 Playwright syncapi。
Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Testing & QA, covering Browser testing. It works with Playwright. The repository describes itself as: 适用于问卷星、腾讯问卷、Credamo见数平台的纯HTTP高并发提交程序. The licence is GPL-3.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1a22ba3. 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.
Shell commands in SKILL.md call:
uvplaywrightgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.
From 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.
Playwright Pipeline loads about 945 tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 200 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 SurveyController/SurveyController at commit 1a22ba3, republished under its GPL-3.0 licence (© SurveyController). 200 words, ~945 tokens.
.claude/skills/playwright-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.这个 skill 处理 v3 的 Playwright 作答执行层。 重点是浏览器生命周期、上下文池、页面加载、题目交互、翻页、提交、停止、异常和资源释放。
先确认当前分支:
git branch --show-current不是 v3 时不要直接改 Playwright 作答链路。
除非用户明确要求把 v3 方案迁到当前分支。
改动前先读相关文件。 不要凭记忆猜。
software/network/browser/startup.pysoftware/network/browser/options.pysoftware/network/browser/runtime_async.pysoftware/network/browser/async_owner_pool.pysoftware/network/browser/pool_config.pysoftware/core/engine/async_engine.pysoftware/core/engine/async_runtime_loop.pysoftware/core/engine/page_loader.pysoftware/core/engine/submission_service.pywjx/provider/runtime*.py、wjx/provider/answering*.py、wjx/provider/navigation.py、wjx/provider/submission*.pytencent/provider/runtime*.py、tencent/provider/answering*.py、tencent/provider/navigation.py、tencent/provider/submission*.pycredamo/provider/runtime*.py、credamo/provider/submission.pychromium.launch(channel="msedge")。
项目现有入口是 software/network/browser/options.py::_build_launch_args()。playwright install chromium。
不要新增 Chromium 下载、捆绑、兜底或自动安装逻辑。playwright.async_api。
不准引入 playwright.sync_api。time.sleep()、同步网络请求、长时间同步文件 IO、同步等待子进程。
必须做阻塞系统调用时,用现有封装或 asyncio.to_thread() 隔离。software/network/browser/ 只放浏览器能力。
平台 DOM 规则留在各自 provider。startup.py
负责延迟导入 async_playwright、启动重试、环境错误分类。options.py
负责 selector、proxy、launch/context 参数。
Edge-only 规则放这里。async_owner_pool.py
负责少量浏览器、多 context、并发槽位、断线恢复和 shutdown。runtime_async.py
负责把 Playwright async page/element 包成项目内部 BrowserDriver 协议。software/core/engine/
负责任务调度、停止信号、页面加载、提交检测、状态回传。wjx/、tencent/、credamo/
负责 DOM 定位、题型交互、翻页和提交按钮。startup.py 和 options.py。
并发卡死看 async_owner_pool.py 和 async_runtime_loop.py。
页面加载失败看 page_loader.py。
某题型填错看平台 runtime_interactions.py、runtime_answerers.py 或 answering_direct.py。
提交后判断错看 submission_service.py 和平台 submission*.py。async def。
调用 Playwright API 必须 await。
清理资源必须能被取消路径触发。AsyncBrowserSession.close()、PlaywrightAsyncDriver.aclose()、release_callback 不能漏。优先补 mock 单测。 不要在普通单测访问真实问卷、真实账号或真实代理。
常用检查:
uv run pytest CI/unit_tests/test_browser_helpers.py
uv run pytest CI/unit_tests/test_browser_runtime_async.py
uv run pytest CI/unit_tests/engine/test_async_owner_pool_large.py
uv run pytest CI/unit_tests/engine/test_async_runtime_loop_large.py
uv run pytest CI/unit_tests/engine
uv run pytest CI/unit_tests/providers
uv run python CI/python_ci.py涉及真实启动、UI、打包或提交链路时,再跑:
uv run python CI/python_ci.py --fullv3。playwright.sync_api。playwright install chromium 或 Chromium 兜底。© SurveyController, GPL-3.0. 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 1 other file in .codex/skills/playwright-pipeline of SurveyController/SurveyController.
Open the folder on GitHubat commit 1a22ba3
Playwright Pipeline 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 |
|---|---|---|---|---|---|---|
| Playwright Pipeline this skillSurveyController/SurveyController | 142 | — | ~945 | Automated safety check: Pass | GPL-3.0 | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Playwright CLIsanity-io/sanity | 6.4k | 18 repos | ~1.9k | Automated safety check: Pass | MIT | |
| playwright-cli Browser Automationgithub/gh-aw | 5.3k | 23 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| Cucumber and Playwright E2E Testslanggenius/dify | 158k | — | ~682 | Automated safety check: Pass | Custom licence |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
sanity-io/sanity
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
github/gh-aw
Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
langgenius/dify
Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.
langflow-ai/langflow
Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.
SurveyController/SurveyController
面向 SurveyController 仓库的设置、路径与配置迁移技能。用于修改 software/app/、software/io/config/、software/core/config/ 里的 QSettings 键、用户目录、配置文件路径、schema 版本、序列化字段、默认值和兼容策略,避免升级后读错配置、写错目录或把旧配置直接干爆。适合做预防性演进,不适合只修表面报错。
SurveyController/SurveyController
面向 SurveyController 仓库的全异步 HTTP 解析与执行链路技能。用于修改或排查 software/network/http/、software/core/engine/、software/providers/、software/network/proxy/ 以及各平台 provider 的异步请求、响应解析、任务调度、并发控制、超时、重试、取消和资源释放问题。适合处理纯…
SurveyController/SurveyController
面向 SurveyController 桌面端的 GUI 开发与界面修复技能。用于修改 software/ui/ 下的 PySide6 + QFluentWidgets 页面、弹窗、导航、配置编辑、运行状态展示和日志界面,处理信号槽、线程协作、对象生命周期、布局、主题和窗口缩放问题。适合做桌面界面开发、交互修复和配置同步,不适合把耗时逻辑直接塞进主线程。
SurveyController/SurveyController
面向 SurveyController 的日志、配置与报错排查技能。用于根据用户提供的日志、截图、配置文件、调用栈、运行环境和最近改动定位根因,修复 software/app/、software/io/、software/logging/、software/network/、software/ui/…
SurveyController/SurveyController
面向 SurveyController 仓库的题型解析、字段映射与 parser 规则技能。用于修改 wjx/provider/、tencent/provider/、credamo/provider/、software/core/questions/、software/providers/ 中的题目结构解析、元数据字段、题型识别、逻辑规则标记、答案模型映射和最小兼容适配。适合处理 parser…
SurveyController/SurveyController
面向 SurveyController 仓库的目录结构重构与模块拆分技能。用于整理 software/、wjx/、tencent/、credamo/、CI/unittests/ 等真实目录,处理文件移动、命名调整、导入修复、测试路径更新、资源路径修复、CI 检查联动。适合在需要小步重构、保持行为不变、清理屎山边界时使用,不适合纯样式改名或无关大洗牌。
Works with
Categories
面向 SurveyController 仓库 v3 分支的 Playwright 作答执行层技能。仅在修改或排查 Playwright 作答链路、异步浏览器 owner/context 池、BrowserDriver 封装、页面加载、运行时答题、翻页、提交、取消、超时、资源释放和并发调度时使用。只能用于 v3 分支;只允许系统自带 Microsoft Edge,不允许安装或引入…. Playwright Pipeline is an agent skill from SurveyController/SurveyController.
Playwright Pipeline fits situations like: tasks that involve Browser testing.
Run `npx skills add SurveyController/SurveyController --skill playwright-pipeline -a claude-code`. Or copy the skill folder (.codex/skills/playwright-pipeline in SurveyController/SurveyController) into .claude/skills/playwright-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SurveyController/SurveyController --skill playwright-pipeline -a codex`. Or copy the skill folder (.codex/skills/playwright-pipeline in SurveyController/SurveyController) into .agents/skills/playwright-pipeline 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 SurveyController/SurveyController --skill playwright-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playwright-pipeline, .gemini/skills/playwright-pipeline, .github/skills/playwright-pipeline and .opencode/skills/playwright-pipeline in your project.
Going by SKILL.md and its folder, Playwright Pipeline needs the command-line tools its instructions call (uv, playwright and git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. 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.
Playwright Pipeline is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 945 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Playwright Pipeline: Web Application Testing (anthropics/skills, 180k stars), Playwright CLI (sanity-io/sanity, 6.4k stars), playwright-cli Browser Automation (github/gh-aw, 5.3k stars) and Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SurveyController (a GitHub organization) maintains it in SurveyController/SurveyController, which has 142 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on September 18, 2026.
Source: SurveyController/SurveyController on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.