Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
隐式等待为主、显式等待仅慢路径。触发:等待策略、timeout、wait、隐式等待、显式等待. An agent skill from DanielSuo117/velocitai.
$ npx skills add DanielSuo117/velocitai --skill wait-strategy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DanielSuo117/velocitai wait-strategy --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/wait-strategy .claude/skills/wait-strategy && 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 "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .claude/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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/wait-strategyType 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 wait-strategy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DanielSuo117/velocitai wait-strategy --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/wait-strategy .agents/skills/wait-strategy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .agents/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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 wait-strategy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DanielSuo117/velocitai wait-strategy --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/wait-strategy .cursor/skills/wait-strategy && 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 "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .cursor/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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/wait-strategy--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 wait-strategy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DanielSuo117/velocitai wait-strategy --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/wait-strategy .gemini/skills/wait-strategy && 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 "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .gemini/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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 wait-strategyInstalls 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 wait-strategy -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/wait-strategy .github/skills/wait-strategy && 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 "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .github/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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 wait-strategy -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 wait-strategy --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/wait-strategy .opencode/skills/wait-strategy && 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 "wait-strategy" agent skill from https://github.com/DanielSuo117/velocitai/tree/main/skills/wait-strategy into .opencode/skills/wait-strategy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wait-strategy", 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.
wait-strategy隐式等待为主、显式等待仅慢路径。触发:等待策略、timeout、wait、隐式等待、显式等待. An agent skill from DanielSuo117/velocitai.
Wait Strategy is an agent skill from DanielSuo117/velocitai. 隐式等待为主、显式等待仅慢路径。触发:等待策略、timeout、wait、隐式等待、显式等待。
Its SKILL.md is about 630 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.
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.
Wait Strategy loads about 634 tokens when it runs. Until then it costs about 15 tokens; SKILL.md has 133 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). 133 words, ~634 tokens.
.claude/skills/wait-strategy/SKILL.md (or your agent's skills folder).隐式等待覆盖 99% 场景,显式等待仅用于已知的慢路径。
通过 page.set_default_timeout(ms) 在 page 创建后立即设置。此后该 page 上所有 Playwright 操作(click、fill、locator.wait_for、is_visible 等)自动等待元素就绪,超时前持续重试,无需逐个调用指定 timeout。
隐式等待的超时时长统一声明在配置文件中(如 DEFAULT_TIMEOUT 常量),在 fixture 层注入到每个 page 实例:
# 配置文件
DEFAULT_TIMEOUT = 15000 # 15 秒,兼顾网络波动
# fixture 层(function 级 / class 级均需设置)
page = context.new_page()
page.set_default_timeout(DEFAULT_TIMEOUT)| 环境 | 推荐值 | 说明 |
|---|---|---|
| 内网 / CI | 10000 (10s) | 网络稳定,无需长等 |
| 外网 / 生产 | 15000 (15s) | 兼顾偶发网络波动 |
| 弱网测试 | 20000~30000 | 专项弱网场景 |
| 场景 | 原因 | 做法 |
|---|---|---|
| 大文件上传 / 导入 | 服务器处理耗时远超常规页面操作 | self.is_visible(LOCATOR, timeout=60000) |
| 长轮询 / 异步任务回调 | 后端处理完才刷新前端状态 | page.locator(...).wait_for(state="visible", timeout=30000) |
| 第三方服务跳转 | OAuth / 支付等外部页面响应不可控 | page.wait_for_url("**/callback**", timeout=30000) |
| 首次冷启动 | 服务刚部署、首次请求慢 | 对首个导航操作单独加大 timeout |
在调用处传入显式 timeout,覆盖隐式默认值:
# BasePage 封装方法支持 timeout 参数
def is_visible(self, locator, timeout=DEFAULT_TIMEOUT) -> bool:
...
# 用例中:仅对已知慢操作显式指定
def test_upload_large_file(self):
self.page_obj.click_upload()
assert self.page_obj.is_visible(
self.page_obj.UPLOAD_SUCCESS_INDICATOR,
timeout=60000 # 显式等待 60 秒,仅此一处
), "大文件上传超时"time.sleep() 硬等待 — Playwright 的自动等待机制已覆盖,硬等待浪费时间且不可靠wait_for_load_state 与隐式等待的关系page.wait_for_load_state("networkidle") 是导航级等待,与元素级隐式等待互补,不冲突:
| 等待类型 | 作用层级 | 触发时机 | 受 set_default_timeout 控制 |
|---|---|---|---|
wait_for_load_state | 导航 / 网络 | 页面跳转、AJAX 批量请求后 | 受 set_default_navigation_timeout 控制 |
| 隐式等待 | 元素 | 每次元素操作前 | 是 |
推荐模式:
def click_navigate_to_target(self):
self.click(self.TARGET_LINK)
self.page.wait_for_load_state("networkidle") # 等网络请求完成
# 之后的 is_visible / click 等操作由隐式等待兜底DEFAULT_TIMEOUT 已在配置文件统一声明page.set_default_timeout()time.sleep()is_visible() 等方法保留 timeout 参数供调用方覆盖© 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/wait-strategy of DanielSuo117/velocitai.
Open the folder on GitHubat commit dfcca7e
Wait Strategy 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 |
|---|---|---|---|---|---|---|
| Wait Strategy this skillDanielSuo117/velocitai | 158 | — | ~634 | 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
隐式等待为主、显式等待仅慢路径。触发:等待策略、timeout、wait、隐式等待、显式等待. An agent skill from DanielSuo117/velocitai. Wait Strategy is an agent skill from DanielSuo117/velocitai.
Wait Strategy fits situations like: testing & QA work in your project.
Run `npx skills add DanielSuo117/velocitai --skill wait-strategy -a claude-code`. Or copy the skill folder (skills/wait-strategy in DanielSuo117/velocitai) into .claude/skills/wait-strategy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DanielSuo117/velocitai --skill wait-strategy -a codex`. Or copy the skill folder (skills/wait-strategy in DanielSuo117/velocitai) into .agents/skills/wait-strategy 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 wait-strategy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wait-strategy, .gemini/skills/wait-strategy, .github/skills/wait-strategy and .opencode/skills/wait-strategy in your project.
SKILL.md names no scripts, command-line tools or credentials: Wait Strategy 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.
Wait Strategy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 634 tokens (SKILL.md is roughly 2.5k 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 Wait Strategy: 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.