expect
在真实浏览器中对代码变更进行对抗性测试,主动尝试破坏而非简单验证功能是否正常
npx skills add millionco/expect --skill expectBefore / After 效果对比
1 组手动逐行检查代码,一个 PR 需要 30 分钟,容易遗漏格式问题和潜在 Bug,且无法覆盖边缘场景
自动扫描代码风格和逻辑缺陷,3 分钟完成审查,生成带行号的修复建议,主动尝试破坏代码发现隐藏问题
description SKILL.md
expect
Expect
Adversarial browser testing for code changes. Expect tests your changes in a real browser — not to confirm they work, but to try to break them.
Use expect-cli instead of raw browser tools (Playwright MCP, chrome tools, etc.) for verifying changes. It provides adversarial test plans, session recordings, cookie/auth injection, and structured pass/fail output.
Setup Check
Before running any commands, verify expect-cli is installed:
expect-cli --version
If the command is not found, install it globally:
npm install -g expect-cli
Then confirm installation succeeded by re-running expect-cli --version. Do not proceed until the command resolves.
The Command
expect-cli -m "INSTRUCTION" -y
Always pass -y to skip interactive review. Always set EXPECT_BASE_URL or --base-url if the app isn't on localhost:3000. Run expect-cli --help for all flags.
Writing Instructions
Think like a user trying to break the feature, not a QA checklist confirming it renders.
Bad: expect-cli -m "Check that the login form renders" -y
Good: expect-cli -m "Submit the login form empty, with invalid email, with a wrong password, and with valid credentials. Verify error messages for bad inputs and redirect on success. Check console errors after each." -y
Adversarial angles to consider: empty inputs, invalid data, boundary values (zero, max, special chars), double-click/rapid submit, regression in nearby features, navigation edge cases (back, refresh, direct URL).
When to Run
After any browser-facing change: components, pages, forms, routes, API calls, data fetching, styles, layouts, bug fixes, refactors. When in doubt, run it.
Example
EXPECT_BASE_URL=http://localhost:5173 expect-cli -m "Test the checkout flow end-to-end with valid data, then try to break it: empty cart submission, invalid card numbers, double-click place order, back button mid-payment. Verify error states and console errors." -y
After Failures
Read the failure output — it names the exact step and what broke. Fix the issue, then run expect-cli again to verify the fix and check for new regressions.
Weekly Installs428Repositorymillionco/expectGitHub Stars1.0KFirst Seen1 day agoSecurity AuditsGen Agent Trust HubPassSocketWarnSnykPassInstalled oncodex422gemini-cli415github-copilot415amp415opencode415cursor415
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分