Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
共享 page 下用例离开起点后必须 UI 返回并断言。触发:往返闭合、case round trip、复位超时、scope 共享 page。
$ npx skills add DanielSuo117/velocitai --skill case-round-trip -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DanielSuo117/velocitai case-round-trip --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/case-round-trip .claude/skills/case-round-trip && 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 "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .claude/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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/case-round-tripType 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 case-round-trip -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DanielSuo117/velocitai case-round-trip --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/case-round-trip .agents/skills/case-round-trip && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .agents/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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 case-round-trip -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DanielSuo117/velocitai case-round-trip --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/case-round-trip .cursor/skills/case-round-trip && 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 "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .cursor/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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/case-round-trip--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 case-round-trip -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DanielSuo117/velocitai case-round-trip --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/case-round-trip .gemini/skills/case-round-trip && 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 "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .gemini/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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 case-round-tripInstalls 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 case-round-trip -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/case-round-trip .github/skills/case-round-trip && 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 "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .github/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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 case-round-trip -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 case-round-trip --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/case-round-trip .opencode/skills/case-round-trip && 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 "case-round-trip" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/case-round-trip into .opencode/skills/case-round-trip/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "case-round-trip", 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.
case-round-trip共享 page 下用例离开起点后必须 UI 返回并断言。触发:往返闭合、case round trip、复位超时、scope 共享 page。
Case Round Trip is an agent skill from DanielSuo117/velocitai. 共享 page 下用例离开起点后必须 UI 返回并断言。触发:往返闭合、case round trip、复位超时、scope 共享 page。
Its SKILL.md is about 590 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.
3 steps, taken from the first numbered list 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From 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.
Case Round Trip loads about 588 tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 127 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). 127 words, ~588 tokens.
.claude/skills/case-round-trip/SKILL.md (or your agent's skills folder).仅适用 Playwright + pytest。
共享 page(scope > function 的 fixture)下,用例离开起点页后必须在末尾通过真实 UI 返回并断言;不要在复位 fixture 里做 goto 兜底。
click_back_to_<landing>(),走真实 UI 返回按钮def test_enter_detail(self):
self.home.click_first_item()
detail = DetailPage(self.page)
assert detail.is_page_loaded(), "详情页未加载"
detail.click_back_to_home()
assert self.home.is_page_loaded(), "返回起点页失败"复位 fixture 通常判断 if not start.is_page_loaded(): start.click_back_to_landing()。若 is_page_loaded() 仅校验"页面骨架可见"(title / 容器),切到其他 tab/子路由后骨架仍在 → 返回 True → 复位永不触发 → 下一用例起点错乱。
规则:起点 PageObject 的 is_page_loaded() 必须包含"当前停留在起点状态"判据(起点 tab 激活态 / 起点 URL / 起点独有内容),而不仅是"骨架存在"。
# ❌ 只校验骨架 — 切到其他 tab 后仍返回 True,复位失效
def is_page_loaded(self) -> bool:
return self.is_visible(self.PAGE_TITLE) and self.is_visible(self.TAB_BAR)
# ✅ 加"当前在起点 tab"判据 — tab 切换后返回 False,触发复位
def is_page_loaded(self) -> bool:
return (
self.is_visible(self.PAGE_TITLE)
and self.is_visible(self.TAB_BAR)
and self.is_visible(self.LANDING_TAB_ACTIVE_MARK) # 关键第 3 条
)LANDING_TAB_ACTIVE_MARK 的 selector 必须用 text= 等锁定到具体起点 tab(如 .tab.active >> text=<起点 tab 名>),否则 .active 会匹配任意激活 tab,同样失效(见 locator-strategy.md 状态类 selector 必须配 text 锁定)。
跳转目标是否仍保留起点页的门户导航?
├─ 是 → 依赖复位 fixture 即可
└─ 否 → PageObject 必须提供返回方法 + 用例末尾显式返回 + 断言page.goto(<landing_url>) 绕过返回按钮 → 失去对返回按钮的回归覆盖if not visible: goto(...) 塞进复位 fixture → 掩盖"用例未闭合"真问题click_back_to_<landing>()项目中脱离门户布局的 PageObject(需实现 click_back_to_<landing>)见 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/case-round-trip of DanielSuo117/velocitai.
Open the folder on GitHubat commit dfcca7e
Case Round Trip 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 |
|---|---|---|---|---|---|---|
| Case Round Trip this skillDanielSuo117/velocitai | 158 | — | ~588 | 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
共享 page 下用例离开起点后必须 UI 返回并断言。触发:往返闭合、case round trip、复位超时、scope 共享 page。. Case Round Trip is an agent skill from DanielSuo117/velocitai.
Case Round Trip fits situations like: testing & QA work in your project.
Run `npx skills add DanielSuo117/velocitai --skill case-round-trip -a claude-code`. Or copy the skill folder (skills/case-round-trip in DanielSuo117/velocitai) into .claude/skills/case-round-trip in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DanielSuo117/velocitai --skill case-round-trip -a codex`. Or copy the skill folder (skills/case-round-trip in DanielSuo117/velocitai) into .agents/skills/case-round-trip 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 case-round-trip -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/case-round-trip, .gemini/skills/case-round-trip, .github/skills/case-round-trip and .opencode/skills/case-round-trip in your project.
SKILL.md names no scripts, command-line tools or credentials: Case Round Trip is instructions for the agent only. 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.
Case Round Trip is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 588 tokens (SKILL.md is roughly 2.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 Case Round Trip: 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.