Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/sumulige/sumulige-claude/test-workflownpx skills add sumulige/sumulige-claude --skill test-workflowgit clone --depth 1 https://github.com/sumulige/sumulige-claudeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sumulige/sumulige-claude/test-workflow)<a href="https://agentmods.dev/skills/sumulige/sumulige-claude/test-workflow"><img src="https://agentmods.dev/badge/skills/sumulige/sumulige-claude/test-workflow.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01218 |
| Opus 5 | $0.00000 | $0.00609 |
| Sonnet 5 | $0.00000 | $0.00244 |
| Haiku 4.5 | $0.00000 | $0.00122 |
Grade A, and why
test-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Workflow - 自动化测试工作流
完整的测试工作流技能,整合 Playwright 测试、GIF 录制和测试报告生成。
默认行为
当用户说"测试 xxx"时,自动执行完整流程:
用户输入 → 测试执行 → GIF录制 → 截图 → 测试报告
无需用户明确说明 - 只要提到"测试"就默认包含所有能力。
📋 工作流程
阶段 1: 理解测试需求
向用户确认测试范围:
我将对 [目标] 进行自动化测试,包括:
1. Playwright 测试执行
2. 测试过程 GIF 录制 (Slack 优化)
3. 验证点截图
4. Markdown 测试报告
测试范围:[确认测试场景]
阶段 2: 执行测试 (Playwright)
from playwright.sync_api import sync_playwright
from PIL import Image
import io
import json
# 配置
GIF_SIZE = (128, 128) # Slack emoji 尺寸
SCREENSHOT_DIR = "./test_screenshots"
FRAMES = [] # 用于 GIF 的帧
def capture_frame(page):
"""捕获一帧用于 GIF"""
screenshot = page.screenshot()
img = Image.open(io.BytesIO(screenshot))
img_resized = img.resize(GIF_SIZE)
return img_resized
# 测试执行
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# 执行测试步骤,每步捕获
# ... 测试逻辑 ...
browser.close()
阶段 3: 生成 GIF (Slack 优化)
# GIF 规格 (Slack 要求)
- 尺寸: 128x128 (emoji) 或 480x480 (message)
- FPS: 10-20
- 颜色: 48-64 种
- 时长: < 3 秒
FRAMES[0].save(
"test_process.gif",
save_all=True,
append_images=FRAMES[1:],
duration=100, # 10fps
optimize=True,
colors=48
)
阶段 4: 生成测试报告 (Markdown)
# 测试报告 - [功能名称]
## 测试概述
- 测试时间: 2026-01-15 14:30
- 测试人员: AI Automation
- 测试环境: Chrome / localhost:3000
## 测试过程

## 测试用例
### 用例 1: 用户登录
**预期**: 用户成功登录
**实际**: ✅ 通过
**截图**:

### 用例 2: 数据验证
**预期**: 显示用户数据
**实际**: ✅ 通过
**截图**:

## 测试结果
| 用例 | 状态 | 说明 |
|------|------|------|
| 用户登录 | ✅ | 正常跳转 |
| 数据验证 | ✅ | 数据正确 |
## 总结
- 通过: 2/2
- 失败: 0
- 测试结论: PASS
🎯 触发条件
自动触发场景 (无需用户详细说明):
| 用户说 | 解释 |
|---|---|
| "测试登录功能" | 完整流程 |
| "用 Playwright 测试" | 完整流程 |
| "test the checkout" | 完整流程 |
| "跑一下测试" | 完整流程 |
Claude 应主动执行,不要问用户是否需要 GIF 或报告。
📦 输出文件
test_output/
├── test_process.gif # Slack GIF
├── test_report.md # 测试报告
└── screenshots/
├── step1_login.png
├── step2_data.png
└── step3_result.png
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 192 lines · 0 tokens per session scan A 2de188c93c82
test-workflow is a skill published in the GitHub repository sumulige/sumulige-claude (2 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,218 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
monitor-test-run
Watch a running Kobiton test run and narrate it to the user: read the org's live-remediation flag up front, poll the run until every execution is terminal, surface the live-remediation URL the moment an execution is blocked, and give a correct post-mortem so a COMPLETED-with-BLOCKERENCOUNTERED execution is never…
run-automation-suite
Run local Appium test scripts against Kobiton devices. Guides through app upload, device selection, capability parsing, and local execution. Use when the user asks to run mobile tests, validate an APK or IPA on Kobiton devices, or kick off an Appium suite from a local script directory. Trigger with "run kobiton tests"…
drive-automation-session
Drive an already-reserved Kobiton device from a natural-language intent. Opens an automation Appium session directly against the Kobiton WebDriver hub, runs an observe-decide-act loop with one action per iteration, pauses to ask the user when stuck (same-action repetition, screen unchanged, or model self-declared…
run-interactive-session
Perform interactive testing on Kobiton devices using natural language. Translates user intents into CLI commands - WebDriver actions (find elements, type, click, swipe), device operations (adb shell, screen capture, port forwarding), file management (push/pull), app management, and test execution. Use when the user…
codex-build
Orchestrate Codex to BUILD code in the background while this Claude Code session (typically Opus) plans and reviews — never babysitting. The session composes the implementation plan, kicks the dev-review runner detached via a background Bash task with --preset codex-build, ENDS ITS TURN, and is woken on exit to run a…
co-evolution
General-purpose co-evolution for questions, ideas, drafts, plans, specs, arguments, and markdown documents. Composes or bounces content between agents using [CONTESTED]/[CLARIFY] markers until it converges. Triggers on "co-evolution", "co-evolve", "co evolve", "bounce", "bounce document", "agent bouncer", "refine with…