一键导入
webwright
Drive a local Playwright browser through a Roder-owned Webwright workspace with plan, final script, screenshots, logs, and verification evidence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Drive a local Playwright browser through a Roder-owned Webwright workspace with plan, final script, screenshots, logs, and verification evidence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | webwright |
| description | Drive a local Playwright browser through a Roder-owned Webwright workspace with plan, final script, screenshots, logs, and verification evidence. |
| metadata | {"short-description":"Browser automation"} |
| exposure | direct_only |
Use this skill for browser tasks that need durable evidence, repeatable Playwright scripts, screenshots, logs, or reusable CLI automation.
/webwright:run <task>: solve the literal task values supplied by the user./webwright:craft <task>: create a parameterized Python CLI where concrete task values become defaults and --help documents how to reuse it.Create or use one Webwright workspace under .roder/webwright/<task-id>/ unless the user gives a scoped output directory.
Required artifacts:
plan.md with # Critical Points and one independently verifiable checklist item per user constraint.final_script.py at the workspace root.final_runs/run_<id>/final_script.py for each clean execution.final_runs/run_<id>/screenshots/final_execution_<step>_<label>.png for constraint-relevant evidence.final_runs/run_<id>/final_script_log.txt with one step <n> action: line per constraint-relevant action and the final datum at the end.Use viewport={"width": 1280, "height": 1800} for Playwright screenshots. Do not use page.screenshot(full_page=True).
Prefer Webwright helper tools for setup and checks:
webwright.prepare_workspacewebwright.allocate_runwebwright.lint_scriptwebwright.run_scriptwebwright.list_artifactswebwright.read_log_tailwebwright.verify_runwebwright.summarize_verificationUse normal Roder file, edit, shell, media, and artifact tools for the actual code-as-action loop. Keep generated files inside the Webwright workspace.
If local Playwright dependencies are missing, ask the user to run roder webwright setup --browser firefox or the selected browser (chromium or webkit). webwright.run_script uses the managed setup runtime automatically when no python override is supplied.
Only mark the task done when every critical point is checked and backed by a screenshot path or exact log line from the latest run. If evidence is ambiguous, fix the script and rerun in the next run_<id> directory.
For /webwright:craft, also verify:
python final_runs/run_<id>/final_script.py succeeds with no arguments.python final_runs/run_<id>/final_script.py --help shows the user-facing argument contract.Draft release notes for Roder releases, new crates or packages, feature additions, behavior changes, and fixes. Use when writing release notes, changelog summaries, release announcements, or explaining what changed in a branch, PR, crate, SDK, or package release.
Use when editing TUI rendering code, adding new visible surfaces, or working on themes/CSS in Roder. Keeps class/id taxonomy, cascade order, and the supported CSS subset consistent across sessions.
Draft a changelog entry from the latest changes.
Use when a user asks for an orientation tour of an unfamiliar repository. Produces a structured tour of entry points, key modules, and how to run tests.
Use when a PR changes any released package (crates/*, sdk/typescript, sdk/python, packages/edit-tools), when the changeset-gate CI check fails, when adding a new crate or package to the release config, or when working on knope versioning/release automation. For the step-by-step workflow to add a change file, use $create-changeset.
Use when a PR or branch changes any released package (crates/*, sdk/typescript, sdk/python, packages/edit-tools), when the changeset-gate CI check fails, or before pushing work that touches versioned package directories. Creates the required .changeset/*.md file for knope per-package versioning.