lego/Copilot PR UI Check
Advisory UI check for a pull request. Given a running app URL and a free-form "how to test" instruction, it screenshots the page with Playwright, asks a read-only Claude vision session to judge the render against the instruction, and posts ONE advisory comment on the PR — verdict, reasoning, a screenshot artifact link, and (on a fail) a ready-to-paste @copilot fix prompt. It takes no other action on the PR: the human who triggered it stays the gatekeeper.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| pr-number | PR number to comment on (e.g. github.event.issue.number). | yes | — |
| base-url | URL where the running app is reachable. THIS is the repo-specific seam: point it at a deployed PR environment, or at localhost after the consumer workflow has started the app itself. The action does not start any server. | yes | — |
| how-to-test | Free-form instruction describing what to verify (typically the text after the "/ui-check" command). Empty falls back to a generic "renders without visual defects or error states" check. | no | "" |
| github-token | Token used to post the advisory comment. The default GITHUB_TOKEN works if the job grants pull-requests:write and issues:write. | no | ${{ github.token }} |
| anthropic-base-url | Base URL for the Anthropic-compatible model endpoint the CLI calls. | yes | — |
| anthropic-auth-token | Bearer token for the model endpoint. Pass from a secret. | yes | — |
| model | Model id passed to the Claude CLI --model flag. Must be a VISION-capable model on your proxy (it judges a screenshot). | yes | — |
| nav-timeout-ms | Playwright navigation / network-idle timeout in milliseconds. | no | 45000 |
| node-version | Node.js version used to run the check. | no | 24 |
Outputs
no outputs