Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Capture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory.
$ npx skills add tsingyuai/growth-lab --skill screenshot-assets -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tsingyuai/growth-lab screenshot-assets --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/tsingyuai/growth-lab.git skills-src && mkdir -p .claude/skills && cp -r skills-src/executors/screenshot-assets .claude/skills/screenshot-assets && 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 "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .claude/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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/tsingyuai/growth-lab/tree/main/executors/screenshot-assetsType 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 tsingyuai/growth-lab --skill screenshot-assets -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tsingyuai/growth-lab screenshot-assets --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .agents/skills && cp -r skills-src/executors/screenshot-assets .agents/skills/screenshot-assets && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .agents/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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 tsingyuai/growth-lab --skill screenshot-assets -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tsingyuai/growth-lab screenshot-assets --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/executors/screenshot-assets .cursor/skills/screenshot-assets && 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 "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .cursor/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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/tsingyuai/growth-lab.git --path executors/screenshot-assets--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 tsingyuai/growth-lab --skill screenshot-assets -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tsingyuai/growth-lab screenshot-assets --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/executors/screenshot-assets .gemini/skills/screenshot-assets && 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 "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .gemini/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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 tsingyuai/growth-lab screenshot-assetsInstalls 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 tsingyuai/growth-lab --skill screenshot-assets -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .github/skills && cp -r skills-src/executors/screenshot-assets .github/skills/screenshot-assets && 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 "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .github/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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 tsingyuai/growth-lab --skill screenshot-assets -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tsingyuai/growth-lab screenshot-assets --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tsingyuai/growth-lab.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/executors/screenshot-assets .opencode/skills/screenshot-assets && 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 "screenshot-assets" agent skill from https://github.com/tsingyuai/growth-lab/tree/main/executors/screenshot-assets into .opencode/skills/screenshot-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "screenshot-assets", 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.
screenshot-assetsCapture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory.
Screenshot Assets is an agent skill from tsingyuai/growth-lab. Capture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory. Use when content needs truthful UI evidence, reusable product screenshots, a selected component, or a full-page browser capture. Requires only user-installed uv and Chrome configured by onboarding; never depends on MCP tools, external Skills, private repositories, or external scripts.
Its SKILL.md is about 580 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml` and `scripts/capture.py`).
It sits in Testing & QA, covering Browser testing. It works with Playwright. The repository describes itself as: An end-to-end growth tool that understands the product, fetch the data it needs, researches the market, executes campaigns, and reviews results to improve the next round of… The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 2d0807c. 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 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, 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.
Screenshot Assets loads about 583 tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 218 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); the scripts in this folder are not scanned.
The full file from tsingyuai/growth-lab at commit 2d0807c, republished under its Apache-2.0 licence (© tsingyuai). 218 words, ~583 tokens.
.claude/skills/screenshot-assets/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use scripts/capture.py. It connects to the user's already-running Chrome through CDP, so the user completes login in their own browser and retains control of authentication.
If uv, Chrome, CDP, or the target login is unavailable, invoke onboard-growth-lab. Do not look for credentials in another repository and do not inject copied tokens or cookies.
Ask for the target URL, what UI fact the screenshot must prove, output path under the invoking Model's Memory, viewport, and optional CSS selector. Never infer a staging URL or test account.
Start Chrome with remote debugging as directed by onboarding, let the user log in, then run:
uv run --with playwright python executors/screenshot-assets/scripts/capture.py \
--cdp http://127.0.0.1:9222 \
--url "https://product.example/workspace/..." \
--out memory/<loop>/assets/screenshots/<descriptive-name>.png \
--width 1440 --height 900For one stable component, add --selector '<css-selector>'. Add --wait-selector for a loading boundary and --delay-ms only when the application needs a short settling interval.
© tsingyuai, Apache-2.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 2 other files (scripts) in executors/screenshot-assets of tsingyuai/growth-lab.
Open the folder on GitHubat commit 2d0807c
Screenshot Assets 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 |
|---|---|---|---|---|---|---|
| Screenshot Assets this skilltsingyuai/growth-lab | 2k | — | ~583 | Automated safety check: Pass | Apache-2.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 | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| playwright-cli Browser Automationgithub/gh-aw | 5.4k | 25 repos | ~2.8k | Automated safety check: Pass | MIT | |
| 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.
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.
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.
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.
tsingyuai/growth-lab
Install, authenticate, configure, operate, and troubleshoot the external MediaCrawler client shared by Douyin, Kuaishou, Bilibili, Weibo, Tieba, and Zhihu collectors.
tsingyuai/growth-lab
Run an SEO page observation-action-review loop with persistent Memory by coordinating demand research, page creation, adversarial review, image generation, IndexNow submission, and performance review.
tsingyuai/growth-lab
把一个已确认的选题写成微信公众号长文。锁定复刻锚与用户价值、写出 article.md / wechat.yml / review.md,并通过公众号通用合规检查和人工预览前自检。准备、改写或核验公众号文章时使用;不负责发布,也不产出小红书卡片。
tsingyuai/growth-lab
通过微信公众号官方 API 把公众号文章生产单元渲染为微信排版 HTML、生成阅读页预览、上传封面与正文图片并创建草稿;在三重确认下提交发布并查询状态。支持本机直连与固定 IP 远程发布服务两种模式。用户要求预览公众号、同步微信草稿、发布公众号或查询发布状态时使用。
tsingyuai/growth-lab
把已批准的小红书草稿、单一分析参考和真实产品素材变成可审查卡片:先完成 DAI 与 image plan,再按确定性、完整效果或可分离图层模式制作,机械验证 PNG 与清单并运行合规检查。精确文字和真实 UI 不交给模型猜测;AI 生图需要单独配置和授权。
tsingyuai/growth-lab
使用本机 browser-first xiaohongshu-mcp 只读搜索小红书、下载候选首图、补全用户选择的笔记详情,并把脱敏证据写入调用方 Memory。用于 xhs-replicate 的选题和视觉参考研究,取代小红书 MediaCrawler 路径。
Works with
Categories
Capture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory. Screenshot Assets is an agent skill from tsingyuai/growth-lab. Capture authenticated product screenshots through the repository-owned Playwright CDP script and archive them in the invoking loop's Memory.
Screenshot Assets fits situations like: content needs truthful UI evidence; reusable product screenshots; A selected component; A full-page browser capture.
Run `npx skills add tsingyuai/growth-lab --skill screenshot-assets -a claude-code`. Or copy the skill folder (executors/screenshot-assets in tsingyuai/growth-lab) into .claude/skills/screenshot-assets in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tsingyuai/growth-lab --skill screenshot-assets -a codex`. Or copy the skill folder (executors/screenshot-assets in tsingyuai/growth-lab) into .agents/skills/screenshot-assets 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 tsingyuai/growth-lab --skill screenshot-assets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/screenshot-assets, .gemini/skills/screenshot-assets, .github/skills/screenshot-assets and .opencode/skills/screenshot-assets in your project.
Going by SKILL.md and its folder, Screenshot Assets needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Screenshot Assets is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 583 tokens (SKILL.md is roughly 2.3k 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 Screenshot Assets: Web Application Testing (anthropics/skills, 180k stars), Playwright CLI (sanity-io/sanity, 6.4k stars), Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars) and playwright-cli Browser Automation (github/gh-aw, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tsingyuai (a GitHub organization) maintains it in tsingyuai/growth-lab, which has 2,000 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on September 28, 2026.
Source: tsingyuai/growth-lab on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.