一键导入
patchmill-visual-evidence
Use when Patchmill run-once changes visible UI and needs committed reference screenshot evidence in the final pr-created JSON.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when Patchmill run-once changes visible UI and needs committed reference screenshot evidence in the final pr-created JSON.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when executing Patchmill implementation plans that require one plan implementation subagent and final full-worktree readiness review before landing
Use when executing Patchmill implementation plans that require final full-worktree readiness review before landing
Use when executing Patchmill implementation plans with Superpowers task-level development plus final validation and pull-request readiness, without extra Codex or thermo-nuclear full-worktree reviews
Decide when Patchmill may direct-land and when it must open a PR.
Use for Patchmill run-once spec and plan creation. Wraps sibling Superpowers brainstorming and writing-plans skills with Patchmill worktree, artifact path, and test-value policy.
Use when creating, editing, reviewing, or refactoring code modules to keep files focused, readable, and maintainable as code grows.
| name | patchmill-visual-evidence |
| description | Use when Patchmill run-once changes visible UI and needs committed reference screenshot evidence in the final pr-created JSON. |
Visual evidence is a durable Patchmill handoff artifact. Capture screenshots from the approved running app, save or update them as committed reference screenshots in the issue worktree, and return structured metadata so Patchmill can verify the reference screenshots before it cleans up the worktree.
When the issue changes visible UI, the final pr-created JSON must include
visualEvidence entries that point at committed reference screenshots:
"visualEvidence": [
{
"screenshotPath": "docs/screenshots/admin-log-entries-page.png",
"caption": "Reference screenshot for the server-driven log entries page"
}
]
Rules:
screenshotPath is required and must point to a real .png, .jpg, .jpeg,
.gif, or .webp file inside the worktree.screenshotPath must be a committed reference screenshot. By default, use
docs/screenshots/ unless project instructions specify another reference
screenshot directory.caption should describe the UI state represented by the reference
screenshot.referencePaths is optional; use it only when pointing to additional
committed baseline/reference screenshots used for comparison.visualEvidence when the issue does not change visible UI.Use stable names that future UI changes can update in place:
| UI surface | Reference screenshot path |
|---|---|
/admin/log-entries route | docs/screenshots/admin-log-entries.png |
LogEntriesPage component | docs/screenshots/log-entries-page.png |
Log entries visible title | docs/screenshots/log-entries.png |
| Empty/error/mobile UI states | docs/screenshots/log-entries-empty.png etc. |
| Existing dashboard screenshot | update the existing dashboard reference file path |
docs/screenshots/ by
default. Commit the screenshot file with the implementation changes.visualEvidence. The screenshot is evidence only if the final
pr-created JSON references the committed screenshot path.Use the bundled helper when the project has @playwright/test available.
Resolve scripts/capture-visual-evidence.cjs relative to this skill's
SKILL.md file, then run it from the issue worktree:
node /absolute/path/to/patchmill-visual-evidence/scripts/capture-visual-evidence.cjs \
--url "$URL" \
--output docs/screenshots/admin-log-entries-page.png \
--wait-text "Log entries"
Options:
| Need | Option |
|---|---|
| Readiness check | --ready-command 'just tilt-ready' |
| Viewport | --viewport 1366x900 |
| Page load state | --load-state domcontentloaded (load or networkidle if needed) |
| Visible text | --wait-text 'Changed label' repeated as needed |
| Selector | --wait-selector '[data-testid="changed-panel"]' repeated as needed |
| Auth storage state | --storage-state playwright/.auth/user.json |
| Login redirect | --login-username-env USER_VAR --login-password-env PASSWORD_VAR |
| Viewport screenshot | --no-full-page |
The helper intentionally does not install or bundle Playwright. If
@playwright/test is unavailable, use the project's approved screenshot tooling
or ask for a project setup decision before adding dependencies. Do not pass
passwords as command-line arguments; use storage state or environment-variable
options so secrets do not appear in process listings or command logs.
| Mistake | Fix |
|---|---|
| Screenshot from manual browser/window | Use Playwright and wait for proof text/selectors |
| Wrong/stale server instance | Run the approved readiness command immediately before capture |
Screenshot saved under .tmp/ | Save/update a committed reference under docs/screenshots/ |
| Issue-number screenshot filename | Use a stable semantic filename future changes can update |
| Missing committed screenshot | Commit the reference screenshot before returning final JSON |
| Missing final JSON evidence | Add visualEvidence to the final pr-created result |
| Treating screenshot as validation | Still run required validation commands separately |
Stop if you are about to write:
.tmp/; Patchmill will upload it.”issue-42-after.png.”visualEvidence.”