playwright-cli

Automate browser interactions, test web pages and work with Playwright tests.

Install
npx skills add 'https://github.com/microsoft/playwright/tree/main/packages/playwright-core/src/tools/skills/playwright-cli'
Download bundle ↓
main · 500c9c8Scanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗
View on GitHub
← Back to SKILL.md

Attaching Screenshots and Videos to Pull Requests

gh 2.99+ uploads local images and videos with the repeatable --attach flag on gh pr create, gh pr comment, gh pr edit, gh issue create, gh issue comment and gh issue edit. PNG, JPEG, GIF, WebP, SVG, MP4, MOV and WebM are accepted, so playwright-cli screenshot and video-start output can be attached as is.

When to attach

Attach visual evidence when it saves the reviewer a checkout: a screenshot of a UI fix, a before/after pair, a short video of a new user-facing flow, or the failure state when filing a bug. Skip it for refactors, backend-only changes and anything the diff already shows.

From a local session

# capture the evidence
playwright-cli open http://localhost:3000/settings
playwright-cli screenshot --filename=settings-after.png
playwright-cli video-start settings-flow.webm
playwright-cli click e5
playwright-cli fill e7 "New name" --submit
playwright-cli video-stop

# attach when creating the PR; alt text goes after "#" (images only)
gh pr create --title "fix(settings): keep name after save" --body-file body.md \
  --attach './settings-after.png#Settings page after saving' --attach ./settings-flow.webm

# or comment on an existing PR / issue
gh pr comment 123 --body "Recorded the new flow end to end." --attach ./settings-flow.webm
gh issue comment 456 --body "Failure state after submitting the form." --attach ./failure.png

Reference the file in the body as ![alt](./settings-after.png) to place it inline and gh rewrites the path to the uploaded URL. Unreferenced attachments are appended at the end in flag order.

Limits

  • Images up to 10 MB, videos up to 10 MB on free plans and 100 MB on paid plans, so keep recordings short.
  • Alt text is not supported on videos.
  • Uploads need push access to the repository.
  • Available on GitHub.com and GitHub Enterprise Cloud only.

From CI

Attach the screenshots and videos Playwright Test already saves under test-results (screenshot: 'only-on-failure', video: 'retain-on-failure') with the same command:

permissions:
  pull-requests: write
steps:
  - run: npx playwright test
  - name: Attach failure screenshots and videos to the PR
    if: failure() && github.event_name == 'pull_request'
    env:
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    run: |
      files=$(find test-results -name '*.png' -o -name '*.webm' | head -20)
      if [ -n "$files" ]; then
        gh pr comment ${{ github.event.pull_request.number }} \
          --body "Failure screenshots and videos from run ${{ github.run_id }}." \
          $(printf -- '--attach %s ' $files)
      fi

For a polished walkthrough of a new feature, record a hero script as described in video-recording.md and attach the resulting WebM the same way.

Referenced from SKILL.md