ワンクリックで
wb-browser
Use the installed wb CLI for persistent browser automation with compact page JSON and screenshots.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use the installed wb CLI for persistent browser automation with compact page JSON and screenshots.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Intent (does the code match the user prompt, Plannator plan, issue, task, PRD, commit message, or other source of intended behavior?). Runs both reviews in parallel sub-agents when the review is large enough and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
A relentless interview to sharpen a plan or design.
Structural refactoring and safe code rewrites with ast-grep across supported languages. Use for codemods, removing or replacing AST nodes (imports, docstrings, arguments), pattern-based migrations, and multi-file transformations when plain text search/replace is likely to be unsafe.
Selective hunk-level staging and commits with git-hunks. Use when the user asks to split changes into multiple logical commits, stage individual hunks instead of whole files, make surgical commits from a dirty worktree, or review changes at hunk granularity before committing. Also use when the user asks to "commit in hunks," "commit by hunk," or requests fine-grained staging.
| name | wb-browser |
| description | Use the installed wb CLI for persistent browser automation with compact page JSON and screenshots. |
wb command directly.wb <url>; it creates the browser and returns its ID.
Use wb create only for an empty browser before a URL is known.--resource-timeout to initial navigation as a precaution.wb wait-resources <id> when loaded resources matter after navigation.wb page <id> --resource-timeout <seconds> when page JSON should wait.wb page <id> before reusing actions.wb --help or wb <command> --help for exact syntax and advanced flags.Start from a known URL in one command:
id=$(wb https://example.com | jq -r '.browser')
wb page "$id" --fields title,url,actions
wb click "$id" 1
wb page "$id" --fields title,url,text,actions
wb remove "$id"
If a browser already exists, find or reuse it:
wb list
wb "$id" https://example.com
wb <url> (new browser), wb <id> <url> (existing browser), wb create (empty browser only)wb wait-resources <id> [--resource-timeout <seconds>]wb list [--quiet|-q], wb page <id> [--fields ...]
[--selectors|--action-details] [--resource-timeout ...]wb click, wb type, wb fill, wb submitwb click <id> <x> <y>, wb press, wb drag, wb release, wb scrollwb show, wb hide, wb resize, wb screenshotwb evalwb env, wb install-skill, wb update, wb version, wb daemon ..., wb removewb type first for inputs, textareas, and contenteditable fields.--speed 2.0; use --speed 1.0 for the base delay speed.--backend js only when native typing is unavailable.--rhythm flat only when deterministic timing matters.fill for deliberate direct assignment, simple controls such as selects, or fallback.--fields to keep output small.title,url,actions,text,resources,resourceCount,htmlBytes,jsonBytes.progress,loading,resourcesLoading.wb page "$id" --fields title,url,actions
wb wait-resources "$id" --resource-timeout 3
wb page "$id" --fields title,url,resources
wb page --fields ... before reaching for JavaScript.wb eval <id> --body for small, targeted JSON extraction from DOM structure.eval; avoid full outerHTML or full body text unless explicitly needed.wb eval "$id" --body '
const rows = [...document.querySelectorAll("table tr")]
.slice(0, 50)
.map(tr => [...tr.cells].map(td => td.innerText.trim()))
.filter(row => row.length);
return JSON.stringify(rows);
' | jq -c '.[]'
wb screenshot "$id" /tmp/page.png
wb click "$id" 640 420
wb scroll "$id" 640 780 0 700
wb show <id> for user handoff, credentials, MFA, CAPTCHA, passkeys, SSO, or visual debugging.wb page <id> before acting again.wb hide <id> when the visible window is no longer useful; it keeps session state.ok:false, inspect error, browser, and any included page summary before retrying.wb page <id> again.wb is unavailable, run the bundled install.sh next to this skill.