跳到正文
cccskills
免费在 GitHub 公开

browser-verification

Drive Chrome via the claude-in-chrome MCP to exercise plan.md::Verify steps for a shipped feature. Loads deferred MCP tool schemas, asserts console/network cleanliness, records a GIF for the PR. Used by the browser-verifier agent.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Browser Verification Skill

Version: 1.0 | Working Directory: repo root

Execute the Verify section of docs/features/<slug>/plan.md against http://localhost:3000 (frontend) talking to http://localhost:8000 (backend). Fail loudly on console errors or API 4xx/5xx. Record a GIF artifact.

Prerequisites (confirm before starting)

  1. User has uvicorn running on :8000 (backend) — confirm with curl -s http://localhost:8000/health | grep ok.
  2. User has npm run dev running on :3000 (frontend) — confirm with curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 returning 200.
  3. If either is down, stop and ask the user to start it. Do not try to start dev servers from the agent.

MCP Tool Schema Loading (MANDATORY)

mcp__claude-in-chrome__* tool schemas are deferred — calling them without loading fails with InputValidationError. Load each tool before first use:

ToolSearch query: "select:mcp__claude-in-chrome__tabs_context_mcp,mcp__claude-in-chrome__tabs_create_mcp,mcp__claude-in-chrome__navigate,mcp__claude-in-chrome__find,mcp__claude-in-chrome__form_input,mcp__claude-in-chrome__read_page,mcp__claude-in-chrome__get_page_text,mcp__claude-in-chrome__read_console_messages,mcp__claude-in-chrome__read_network_requests,mcp__claude-in-chrome__gif_creator,mcp__claude-in-chrome__javascript_tool"

Always start a session with tabs_context_mcp — never reuse a tab ID from a prior session.

Canonical Flow

  1. Load tool schemas (ToolSearch select:...)
  2. tabs_context_mcp → see what's open; if the user doesn't explicitly want to reuse a tab, call tabs_create_mcp for a fresh tab
  3. gif_creator — start recording with a name like <slug>_verify.gif, aiming at the new tab
  4. navigate(http://localhost:3000<path>) to the start of the flow
  5. read_page to confirm the page loaded; fail fast if the expected container isn't present
  6. For each step in plan.md::Verify:
    • find(selector) to locate the element
    • form_input to type values or click via computer / javascript_tool for non-form interactions
    • read_console_messages with a pattern filter to check for level: "error"
    • read_network_requests filtered to origin http://localhost:8000 — any status >= 400 is a failure
  7. gif_creator — stop recording; save to docs/features/<slug>/verify.gif
  8. Report PASSED or FAILED with the transcript

Assertion Rules

SignalResult
Any console.error during the flowFAILED
Any network 4xx or 5xx to NEXT_PUBLIC_API_URL originFAILED
Expected text/selector missing after navigateFAILED
console.warnLogged, non-blocking
3xx redirects (login gating)Expected when the plan says "redirects to /admin/login"

Dialog / Alert Avoidance

Do not trigger alert(), confirm(), prompt(), or browser modals. They block all further MCP events and freeze the session. If the plan's Verify section includes a confirm-to-delete flow, warn and use javascript_tool to pre-accept the dialog via window.confirm = () => true before the click.

Output Format

VERIFY: PASSED
slug: <slug>
artifact: docs/features/<slug>/verify.gif
steps:
  - navigate /products/shirt → 200
  - Add to cart clicked → cart count = 1
  - /cart loaded → subtotal = $10.00
  - Checkout submitted → redirected to /thank-you/<id>
console: clean
network: 4 requests, all 2xx

or

VERIFY: FAILED
slug: <slug>
artifact: docs/features/<slug>/verify.gif
failure: console.error at step 3 — "Cannot read properties of undefined (reading 'stock')"
transcript:
  - navigate /products/shirt → 200
  - Add to cart clicked → console.error ← FAIL

Rabbit-Hole Guard

Stop after 2–3 failed attempts at the same step and return FAILED. Do not explore unrelated pages to debug. Don't refresh/retry loops — report and exit.

Exemplar Plan Verify Sections

The browser-verifier should interpret plan Verify sections that read like:

## Verify
1. Open http://localhost:3000 — product grid shows at least one card
2. Click a product card — detail page shows name, price, "Add to cart" button
3. Click "Add to cart" — header cart count increments
4. Navigate to /cart — line item shows with correct quantity
5. Navigate to /checkout, fill email + shipping, submit — redirected to /thank-you/<uuid>

Translate each numbered step into the MCP call sequence described in Canonical Flow.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Supabase Postgres + Storage + Auth operations from FastAPI — service-role client, RLS-aware queries, additive SQL migrations under backend/db/migrations, the create_order RPC, and the product-images bucket. Use when adding tables/columns, writing queries, calling RPCs, or working with Storage.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

Build FastAPI endpoints in the layered router → service → Supabase pattern, with Pydantic v2 schemas, JWT/admin gating, and consistent HTTPException-based domain errors. Use when adding/modifying any endpoint under backend/.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

pytest + httpx + TestClient patterns for the FastAPI backend. Dependency overrides for auth, FakeSupabase mocking, HTTPException assertions. Use when writing or reviewing backend/tests/test_*.py.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

Pre-PR code review checklist for this repo. Plan alignment, security gates, layering, dead code, API-surface completeness. Used by the code-reviewer agent.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

Integrate with the FastAPI backend through the typed wrapper in frontend/lib/api.ts, attach Supabase JWTs for admin calls, and handle errors via ApiError. Use when adding/modifying API calls or wiring auth.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

Build pages and components in the Next.js 15 App Router (RSC by default, "use client" only when needed), Tailwind for styling, typed props, and the existing CartProvider for cart state. Use when creating or modifying pages, layouts, components, or forms in frontend/.

中文简介正在准备中。当前显示原文说明。

shanraisshan/learning-x-claude22026年5月7日 更新

查看 shanraisshan 的全部技能

报告此技能的问题