Files
ComfyUI_frontend/.claude/skills/regenerating-screenshots/SKILL.md
Alexander Brown 63399d6ec1 test: regenerate screenshot expectations (#9442)
The pixels fade, the tests turn red,
Old screenshots haunt us from the dead.
A branch is born, a label placed,
And golden images are replaced.

The shards spin up, four workers strong,
To right what rendering got wrong.
When CI turns green, the deed is done—
New expectations, freshly won.

---------

Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: github-actions <github-actions@github.com>
2026-03-05 19:59:44 +00:00

2.5 KiB
Raw Blame History

name, description
name description
regenerating-screenshots Creates a PR to regenerate Playwright screenshot expectations. Use when screenshot tests are failing on main or PRs due to stale golden images. Triggers on: regen screenshots, regenerate screenshots, update expectations, fix screenshot tests.

Regenerating Playwright Screenshot Expectations

Automates the process of triggering the PR: Update Playwright Expectations GitHub Action by creating a labeled PR from origin/main.

Steps

  1. Fetch latest main

    git fetch origin main
    
  2. Create a timestamped branch from origin/main

    Format: regen-screenshots/YYYY-MM-DDTHH (hour resolution, local time)

    git checkout -b regen-screenshots/<datetime> origin/main
    
  3. Create an empty commit

    git commit --allow-empty -m "test: regenerate screenshot expectations"
    
  4. Push the branch

    git push origin regen-screenshots/<datetime>
    
  5. Generate a poem about regenerating screenshots. Be creative — a new, unique poem every time. Short (48 lines). Can be funny, wistful, epic, haiku-style, limerick, sonnet fragment — vary the form.

  6. Create the PR with the poem as the body (no label yet).

    Write the poem to a temp file and use --body-file:

    # Write poem to temp file
    # Create PR:
    gh pr create \
      --base main \
      --head regen-screenshots/<datetime> \
      --title "test: regenerate screenshot expectations" \
      --body-file <temp-file>
    
  7. Add the label as a separate step to trigger the GitHub Action.

    The labeled event only fires when a label is added after PR creation, not when applied during creation via --label.

    Use the GitHub API directly (gh pr edit --add-label fails due to deprecated Projects Classic GraphQL errors):

    gh api repos/{owner}/{repo}/issues/<pr-number>/labels \
      -f "labels[]=New Browser Test Expectations" --method POST
    
  8. Report the result to the user:

    • PR URL
    • Branch name
    • Note that the GitHub Action will run automatically and commit updated screenshots to the branch.

Notes

  • The New Browser Test Expectations label triggers the pr-update-playwright-expectations.yaml workflow.
  • The workflow runs Playwright with --update-snapshots, commits results back to the PR branch, then removes the label.
  • This is fire-and-forget — no need to wait for or monitor the Action.
  • Always return to the original branch/worktree state after pushing.