Agent skill · software engineering · microsoft

update-screenshots

Update the committed blocks-ci screenshot hashes after the "Screenshots & Tests" check fails, or investigate a screenshot diff reported on a PR. Use when asked to update, accept, or refresh component screenshot baselines from CI. This skill should be run as a subagent.

Why this skill is useful

Adds specific commands for downloading and managing screenshot baselines from a CI service that the AI wouldn't reliably generate on its own.

What it needs

Requires gh installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 188,455 stars on the source repository.

What this skill does

Update Component Screenshots from CI Screenshot images are not stored in the repository — they live in an external service (hediet-screenshots.azurewebsites.net), keyed by commit SHA. But a subset of fixtures is pinned by hash in test/componentFixtures/blocks-ci-screenshots.md, and that file is committed. When those hashes change, CI fails and you must update the file. Two different outcomes, only one of which blocks The Screenshots & Tests job in .github/workflows/component-fixtures.yml produces two independent results: Result Blocking? Action --- --- --- Screenshot diff report (PR comment with before/after images) No — informational Review the visuals. Nothing to commit. blocks-ci hash mismatch Yes — fails the check Update blocks-ci-screenshots.md and commit. A fixture opts into the blocking gate with labels: { kind: 'screenshot', blocksCi: true }. Only those fixtures appear in blocks-ci-screenshots.md. The failure looks like this: Step 1: Get the expected hashes from CI Never regenerate the hashes locally. They are hashes of the rendered PNG bytes, produced on the vscode-large-runners-ubuntu-8-core Linux runners. Rendering on macOS or Windows yields different bytes and therefore different hashes, so locally generated values will fail CI. Always copy the values from the CI job. Three surfaces carry the same content — use whichever is handy: The PR comment titled "blocks-ci screenshots changed" (non-fork PRs only) — contains the full updated file plus a patch. The job summary, which gets the identical body and is the only surface fork PRs receive. The job log, whose final step prints a unified diff: Find the failed job id with: Step 2: Verify the change is intentional before accepting it This gate exists to catch unintended layout regressions, so accepting new hashes without looking at the images defeats its purpose. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills microsoft/update-screenshots

View the source on GitHub

Browse the @skills marketplace