Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
快手视频发布:把竖版短视频发布到快手创作者中心。当用户说"发快手""上传快手""快手投稿" "发布到快手""快手视频发布"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。
$ npx skills add ZJU-REAL/Easel --skill skill-kuaishou-upload -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZJU-REAL/Easel skill-kuaishou-upload --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/ZJU-REAL/Easel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .claude/skills/skill-kuaishou-upload && 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 "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .claude/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-uploadType 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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZJU-REAL/Easel skill-kuaishou-upload --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .agents/skills/skill-kuaishou-upload && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .agents/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZJU-REAL/Easel skill-kuaishou-upload --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .cursor/skills/skill-kuaishou-upload && 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 "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .cursor/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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/ZJU-REAL/Easel.git --path skills/openclaw/skill-kuaishou-upload--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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZJU-REAL/Easel skill-kuaishou-upload --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .gemini/skills/skill-kuaishou-upload && 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 "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .gemini/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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 ZJU-REAL/Easel skill-kuaishou-uploadInstalls 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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .github/skills/skill-kuaishou-upload && 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 "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .github/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZJU-REAL/Easel skill-kuaishou-upload --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/openclaw/skill-kuaishou-upload .opencode/skills/skill-kuaishou-upload && 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 "skill-kuaishou-upload" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/skill-kuaishou-upload into .opencode/skills/skill-kuaishou-upload/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-kuaishou-upload", 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.
skill-kuaishou-upload快手视频发布:把竖版短视频发布到快手创作者中心。当用户说"发快手""上传快手""快手投稿" "发布到快手""快手视频发布"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。
Skill Kuaishou Upload is an agent skill from ZJU-REAL/Easel. 快手视频发布:把竖版短视频发布到快手创作者中心。当用户说"发快手""上传快手""快手投稿" "发布到快手""快手视频发布"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。
Its SKILL.md is about 800 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `EASEL-META.md`).
It sits in Testing & QA, covering Browser testing. It works with Playwright. The repository describes itself as: An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的… The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 278f420. 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:
pythonpipplaywrightFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, 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.
Skill Kuaishou Upload loads about 799 tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 181 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 ZJU-REAL/Easel at commit 278f420, republished under its Apache-2.0 licence (© ZJU-REAL). 181 words, ~799 tokens.
.claude/skills/skill-kuaishou-upload/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.基于通用浏览器发布框架
../../shared/scripts/web_publisher.py(--platform kuaishou)。 网页自动化发布——需真实浏览器 + 已登录快手创作者中心。
pip install playwright + playwright install chromiumlogin 扫码/登录快手创作者中心,登录态持久化到 ~/.easel-browser-profiles/KuaishouProfile 后复用login-qr --platform kuaishou(抠二维码成图轮询),或走 Web「账号」页扫码plan 预览 +
--headed 目视校验,失效时更新 web_publisher.py 中 kuaishou 配置。无浏览器环境可用 platforms / plan / check。
发布成功输出形如 ✅ 快手发布成功(读回核验:作品 <id>,<状态>;账号:<昵称>)——
该判定来自平台作品列表对账(不是「点完就算」);未核实的档位会在输出里明确写出原因与「先别重发」提示。
脚本:../../shared/scripts/web_publisher.py(各子命令 -h)。
python <ROOT>/skills/shared/scripts/web_publisher.py check
python <ROOT>/skills/shared/scripts/web_publisher.py login --platform kuaishou
python <ROOT>/skills/shared/scripts/web_publisher.py plan --platform kuaishou \
--media out.mp4 --title "标题" --tags "#恐怖故事 #都市怪谈 #灵异事件"
# 有头执行,便于首次核对选择器:
python <ROOT>/skills/shared/scripts/web_publisher.py publish --platform kuaishou \
--media out.mp4 --title "标题" --tags "#话题1 #话题2 #话题3 #话题4" --exec --headed快手创作者中心的「外壳」登录态比发布/上传子系统的授权活得久——外壳显示已登录、昵称头像都在,却可能已经发不出去(上传 token 过期)。为此 whoami 已内置发布子系统鉴权探针(login_probe),真校验能否发布而不只看页面外壳,账号页据此自愈假阳性。
~/.easel-browser-profiles/KuaishouProfile 后重跑 login-qr。style.md 与快手生态(生活化、接地气);竖版 9:16。--tags 控制在 4 个以内。plan 预览、--headed 目视确认;确认无误再无头批量。js_click):底部提交按钮 class 带哈希后缀(如
_button-primary_xxx)、每次改版都变,纯 CSS :has-text('发布') 在 headless 下命中不稳;
脚本改为定位「可见 + innerText=='发布' + class 含 button-primary」的元素派发点击。
注意别误点右上角下拉菜单里的「发布作品」(那不是提交按钮)。publish/video)只作旁证——
脚本随后回到作品管理页读本人作品列表对账(标题前缀 + 时间窗,发前快照排除旧作品),
输出 ✅ 快手发布成功(读回核验:作品 <id>…) 才算真成功。另外三档绝不冒报成功,也不许盲目重发:
unverified(多轮未见新作品,可能索引延迟——先人工确认再决定)、
login_required(读回时登录态失效——重登后核对,先别重发)、
readback_error(读回通道失败——人工核对,先别重发)。
读回未核实 ≠ 没发出去;视频初始「审核中」,稍后过审公开。① 先看报错档位与读回证据(发布输出/outputs/_publish.log):unverified/login_required/readback_error
先到创作者中心人工核对是否已发出(先别重发)→ ② 看 outputs/_login/kuaishou-publish-fail.png
截图确认停在哪一步 → ③ whoami + 实际打开发布页看 input[type=file] 在不在(不在=没真正登录、
停在营销介绍页)→ ④ 截图核对标题/话题填写、有无标签超限提示 → ⑤ dump innerText=='发布' 的元素
确认 class 仍含 button-primary → ⑥ 确认 JS 点击后 URL 跳转离开 publish/video。据此更新
web_publisher.py 配置。
网页发布思路同 social-auto-upload 的快手模块;本 SKILL 复用统一 Playwright 框架,配置驱动、 登录态持久化。选择器需按平台现状维护;2026-08-19 真机调试校准(登录态发布子系统探针、JS 派发 发布按钮、话题上限 4);2026-09 起成功判定升级为读回对账(作品列表比对,界面 URL 信号仅作旁证)。
© ZJU-REAL, 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 1 other file in skills/openclaw/skill-kuaishou-upload of ZJU-REAL/Easel.
Open the folder on GitHubat commit 278f420
Skill Kuaishou Upload 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 |
|---|---|---|---|---|---|---|
| Skill Kuaishou Upload this skillZJU-REAL/Easel | 3.4k | — | ~799 | 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.
ZJU-REAL/Easel
微信公众号文章排版引擎:把 Markdown / Word(.docx) / PDF / 纯文本转成可直接粘贴进公众号编辑器的 HTML,自动章节编号、关键词标记、引言卡、目录、代码块、图片/GIF、作者签名;主题从 references/theme-index.md…
ZJU-REAL/Easel
微信公众号文章自动创作与发布工具。给定参考文章、文字或文档,自动搜索整理全网相关信息、生成图文并茂的公众号文章,并发布到微信公众号草稿箱。特别强调反 AI 检测写作。
ZJU-REAL/Easel
社媒卡片视觉设计系统:提供配色、中文字体层级、满画幅布局、品类骨架和死空白/密度质检,避免模板化 PPT 与廉价 AI 感。
ZJU-REAL/Easel
生成电商商品视觉方案:主图概念、场景图、详情页视觉方向和 AI 生图 Prompt. An agent skill from ZJU-REAL/Easel.
ZJU-REAL/Easel
将数据或文字内容转化为可视化信息图,支持静态(AntV)和动画 GIF 两种模式。当用户需要制作信息图、数据可视化、流程图、对比图、动画图表、GIF 图表、思维导图、SWOT 分析图时调用。本地渲染信息图/GIF 动画;要单张静态图片 URL 用 chart-visualization,要 CSV/JSON→整页报告用 data-report
ZJU-REAL/Easel
长篇小说/网文连载创作:从世界观、人设和三级大纲写到逐章正文,并用文件化状态维护伏笔、前情和跨章一致性. An agent skill from ZJU-REAL/Easel.
Works with
Categories
快手视频发布:把竖版短视频发布到快手创作者中心。当用户说"发快手""上传快手""快手投稿" "发布到快手""快手视频发布"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。. Skill Kuaishou Upload is an agent skill from ZJU-REAL/Easel.
Skill Kuaishou Upload fits situations like: tasks that involve Browser testing.
Run `npx skills add ZJU-REAL/Easel --skill skill-kuaishou-upload -a claude-code`. Or copy the skill folder (skills/openclaw/skill-kuaishou-upload in ZJU-REAL/Easel) into .claude/skills/skill-kuaishou-upload in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZJU-REAL/Easel --skill skill-kuaishou-upload -a codex`. Or copy the skill folder (skills/openclaw/skill-kuaishou-upload in ZJU-REAL/Easel) into .agents/skills/skill-kuaishou-upload 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 ZJU-REAL/Easel --skill skill-kuaishou-upload -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-kuaishou-upload, .gemini/skills/skill-kuaishou-upload, .github/skills/skill-kuaishou-upload and .opencode/skills/skill-kuaishou-upload in your project.
Going by SKILL.md and its folder, Skill Kuaishou Upload needs the command-line tools its instructions call (python, pip and playwright). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, 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.
Skill Kuaishou Upload 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 799 tokens (SKILL.md is roughly 3.2k 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 Skill Kuaishou Upload: 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.
ZJU-REAL (a GitHub organization) maintains it in ZJU-REAL/Easel, which has 3,376 GitHub stars. The repository holds 114 skills in this directory. The repository was last updated on October 9, 2026.
Source: ZJU-REAL/Easel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.