一键导入
debugging-diffs
Investigate unexpected visual differences between head and base replays. Use when screenshot diffs are flagged or visual regressions are reported.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Investigate unexpected visual differences between head and base replays. Use when screenshot diffs are flagged or visual regressions are reported.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Investigate flaky or non-deterministic replay behavior. Use when replays produce different results across runs of the same session against the same code.
Investigate network-related replay failures and divergences. Use when replays fail due to network errors, stubbing issues, or request ordering problems.
Investigate problems with recorded session data. Use when session recordings appear incomplete, corrupted, or contain unexpected data.
Investigate timeline divergence between head and base replays. Use when event sequences, ordering, or timing differ unexpectedly.
Analyze PR source code changes and correlate with screenshot diffs. Use when pr-diff.txt is present and you need to understand which code changes caused visual differences.
| name | debugging-diffs |
| description | Investigate unexpected visual differences between head and base replays. Use when screenshot diffs are flagged or visual regressions are reported. |
Use this guide when investigating unexpected visual differences between head and base replays.
debug-data/diffs/<id>.json.screenshotDiffResults for which screenshots differ.commitSha in context.json to identify the code changes.project-repo/ is available, use git log and git diff to see what changed.timeline.json.debug-data/replays/{head,base}/<replayId>/snapshotted-assets/.screenshotAssertionsOptions in the diff JSON for threshold settings.The following patterns are caused by Meticulous replay engine behavior, not by your code changes. When these are the root cause of a diff, the diff is safe to approve.
Animation flakes: Continuous animations (Lottie, CSS @keyframes, requestAnimationFrame loops) can cause screenshots to land at slightly different animation states between base and head, even with no code changes. Meticulous's DOM stability detection triggers extra animation frames trying to reach a stable state, but continuous animations never fully stabilize. How to confirm: check replayComparison in context.json for differing totalAnimationFrames; check log diffs for different animation frame counts; search the codebase for lottie, requestAnimationFrame, CSS animation, @keyframes, <canvas>, <video>. If the only visual difference is an animation in a different frame, this diff is safe to approve.
Network timing differences: When multiple network responses complete at the same virtual time, slight ordering differences can cause minor rendering variations (e.g. a list rendering in a different order before settling). How to confirm: log diffs show network requests completing in a different order at the same virtual time, but the final rendered state is the same or nearly identical. If no code change caused the reordering, this diff is safe to approve.
Extra DOM stability frames: The head replay may show more timeline events before a screenshot than the base, caused by DOM stability detection running additional animation frames. If the extra events are all animation-frame-related and the visual diff is minor, this diff is safe to approve.
When any of these patterns is the root cause, tell the user: "This diff is caused by a known Meticulous replay behavior, not by your code changes. It is safe to approve."