Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
一键生成 PageObject + 配套测试。触发:新增页面、生成页面、gen page、create page、添加页面对象。
$ npx skills add DanielSuo117/velocitai --skill gen-page-test -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DanielSuo117/velocitai gen-page-test --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/DanielSuo117/velocitai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gen-page-test .claude/skills/gen-page-test && 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 "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .claude/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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/DanielSuo117/velocitai/tree/main/skills/gen-page-testType 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 DanielSuo117/velocitai --skill gen-page-test -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DanielSuo117/velocitai gen-page-test --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DanielSuo117/velocitai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gen-page-test .agents/skills/gen-page-test && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .agents/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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 DanielSuo117/velocitai --skill gen-page-test -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DanielSuo117/velocitai gen-page-test --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DanielSuo117/velocitai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gen-page-test .cursor/skills/gen-page-test && 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 "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .cursor/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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/DanielSuo117/velocitai.git --path skills/gen-page-test--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 DanielSuo117/velocitai --skill gen-page-test -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DanielSuo117/velocitai gen-page-test --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DanielSuo117/velocitai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gen-page-test .gemini/skills/gen-page-test && 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 "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .gemini/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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 DanielSuo117/velocitai gen-page-testInstalls 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 DanielSuo117/velocitai --skill gen-page-test -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DanielSuo117/velocitai.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gen-page-test .github/skills/gen-page-test && 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 "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .github/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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 DanielSuo117/velocitai --skill gen-page-test -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DanielSuo117/velocitai gen-page-test --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DanielSuo117/velocitai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gen-page-test .opencode/skills/gen-page-test && 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 "gen-page-test" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/gen-page-test into .opencode/skills/gen-page-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-page-test", 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.
gen-page-test一键生成 PageObject + 配套测试。触发:新增页面、生成页面、gen page、create page、添加页面对象。
Gen Page Test is an agent skill from DanielSuo117/velocitai. 一键生成 PageObject + 配套测试。触发:新增页面、生成页面、gen page、create page、添加页面对象。
Its SKILL.md is about 840 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA. The repository describes itself as: Next-generation UI automation harness powered by Python & Playwright. Chat with AI Agents to seamlessly generate, architect, and execute enterprise-grade UI test code. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dfcca7e. 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:
pytestpythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Gen Page Test loads about 842 tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 134 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 DanielSuo117/velocitai at commit dfcca7e, republished under its MIT licence (© DanielSuo117). 134 words, ~842 tokens.
.claude/skills/gen-page-test/SKILL.md (or your agent's skills folder).用户输入:为 <中文页面名>(URL: https://...)生成页面对象和测试,测试点:点击A、填写B、查看C| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
| 页面名称 | 是 | 中文业务名称 | 课程管理页 |
| 页面 URL | 是 | 真实可访问的页面 URL(已认证态) | https://example.com/xxx |
| 角色 | 是 | 项目中已有的角色(如 <role>) | 对应角色 |
| 类名 | 否(自动推导) | PascalCase | <Role><Page>Page |
| 回归测试点 | 是 | 需要覆盖的交互元素 | 点击新建、搜索、删除 |
类名推导规则:
Page 后缀(如 <Feature>Page)<Role> + 英文翻译 → PascalCase + Page 后缀(如 <Role><Feature>Page)<role>_(如 <role>_<feature>_page.py)项目中已有的具体类名清单见 docs/pages-catalog.md。
browser_navigate(必要时先 /entry?token=xxx)→ browser_snapshot → browser_evaluate 提取元素。按 locator-replacer 六级优先级(P0 → P5)选出稳定定位符。
创建 pages/<snake_name>_page.py:
# 页面名称:<中文名>
from core.base.base_page import BasePage
class <ClassName>(BasePage):
# 定位符 — 来自真实页面(<日期>,URL: <页面URL>)
<LOCATOR_1> = "<真实定位符>" # P<0-5>: 说明
<LOCATOR_2> = "<真实定位符>" # P<0-5>: 说明
PAGE_IDENTIFIER = "<页面标识定位符>" # P<0-5>: 说明
def click_<method_1>(self):
self.click(self.<LOCATOR_1>)
def click_<method_2>(self):
self.click(self.<LOCATOR_2>)
def is_page_loaded(self) -> bool:
return self.is_visible(self.PAGE_IDENTIFIER)pages/__init__.pyfrom pages.<snake_name>_page import <ClassName>
# 在 __all__ 列表中追加 "<ClassName>"目标文件:对应角色 tests/<role>/test_<role>_flow.py(继承 <Role>BaseTest)中的 Test<Role>Flow 类。
角色目录还不存在时,先 python scripts/scaffold_role.py <role> --label <中文名> 生成基类与流程文件,再往类末尾追加;不要手搓目录。
对应角色示例:
@allure.story("<页面中文名>")
def test_<snake_name>(self):
page_obj = <ClassName>(self.<role>_page)
self.<role>_page.goto("<页面URL>")
assert page_obj.is_page_loaded(), "<页面中文名>加载失败"
page_obj.click_<method_1>()
...对应角色使用 self.<role>_page,且若脱离门户布局须往返闭合(见 case-round-trip):
@allure.story("<页面中文名>")
def test_<snake_name>(self):
self.<role>_home.click_<navigation>()
page_obj = <ClassName>(self.<role>_page)
assert page_obj.is_page_loaded(), "<页面中文名>加载失败"
page_obj.click_<method_1>()
page_obj.click_back_to_<landing>()
assert self.<role>_home.is_page_loaded(), "返回起点失败"pytest framework/tests/<role>/test_<role>_flow.py --env=<pre|prod> -v -k "test_<snake_name>"⚠️ 运行前向用户确认 --env(见 agent-behavior.md P0.2)。
失败时 → locator-replacer 重新抽取定位符,或 test-runner 分析失败类型。
docs/docs/pages-catalog.md:追加新页面类 + 方法表docs/regression-points.md:追加回归点表 + 关键定位符段通用检查(命名/导入/is_page_loaded/allure)→ coding-conventions.md "新增测试检查清单"
pytest framework/tests/<role>/test_<role>_flow.py --env=<pre|prod> -v -k "test_<name>" 通过docs/pages-catalog.md 已追加docs/regression-points.md 已追加© DanielSuo117, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/gen-page-test of DanielSuo117/velocitai.
Open the folder on GitHubat commit dfcca7e
Gen Page Test 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 |
|---|---|---|---|---|---|---|
| Gen Page Test this skillDanielSuo117/velocitai | 158 | — | ~842 | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Bugsfossasia/eventyay-interpretation | 1.6k | 32 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| TDDpietheinstrengholt/rssmonster | 564 | 30 repos | ~906 | Automated safety check: Pass | MIT | |
| TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph | 112 | 11 repos | ~2.4k | Automated safety check: Pass | None | |
| TDDsanity-io/sanity | 6.4k | 20 repos | ~1k | Automated safety check: Pass | MIT |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
fossasia/eventyay-interpretation
Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.
pietheinstrengholt/rssmonster
Test-driven development. An agent skill from pietheinstrengholt/rssmonster.
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
sanity-io/sanity
Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.
Ibrahim-3d/orchestrator-supaconductor
A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…
DanielSuo117/velocitai
POM 分层与 context 共享决策树。触发:架构、分层、POM、Page Object、基类设计、新增角色. An agent skill from DanielSuo117/velocitai.
DanielSuo117/velocitai
替换占位定位符为真实选择器(六级优先级)。触发:替换定位符、locator、selector、定位失败、元素找不到、DOM 分析。
DanielSuo117/velocitai
ispageloaded() 四种验证模式与调用层级。触发:页面断言、ispageloaded、page loaded、页面加载验证。
DanielSuo117/velocitai
测试失败时免登跳转原地排查修复。触发:排查、纠错、debug、定位符失败、超时、元素找不到、断言失败. An agent skill from DanielSuo117/velocitai.
DanielSuo117/velocitai
表单保存后验证(Toast / 重定向 / 数据对比 / 富文本清空)。触发:保存验证、toast、重定向检测、Meta+A、保存成功判断。
DanielSuo117/velocitai
运行 pytest + 结构化分析失败原因。触发:运行测试、跑测试、run test、pytest、失败分析、allure。
Categories
一键生成 PageObject + 配套测试。触发:新增页面、生成页面、gen page、create page、添加页面对象。. Gen Page Test is an agent skill from DanielSuo117/velocitai.
Gen Page Test fits situations like: testing & QA work in your project.
Run `npx skills add DanielSuo117/velocitai --skill gen-page-test -a claude-code`. Or copy the skill folder (skills/gen-page-test in DanielSuo117/velocitai) into .claude/skills/gen-page-test in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DanielSuo117/velocitai --skill gen-page-test -a codex`. Or copy the skill folder (skills/gen-page-test in DanielSuo117/velocitai) into .agents/skills/gen-page-test 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 DanielSuo117/velocitai --skill gen-page-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gen-page-test, .gemini/skills/gen-page-test, .github/skills/gen-page-test and .opencode/skills/gen-page-test in your project.
Going by SKILL.md and its folder, Gen Page Test needs the command-line tools its instructions call (pytest and python). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Gen Page Test is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 842 tokens (SKILL.md is roughly 3.4k 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 Gen Page Test: Web Application Testing (anthropics/skills, 180k stars), Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DanielSuo117 (a GitHub user) maintains it in DanielSuo117/velocitai, which has 158 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 27, 2026.
Source: DanielSuo117/velocitai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.