Argos Pr Review

argos-ci/argos-javascript/skills/argos-pr-review

作者 argos-cibfd41376f5682a542ddb108835eb0e0b5a9ac348無授權條款19 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫昨天更新

Review Argos visual regression builds as one input to a pull request review. Use when a PR has an Argos build link, an Argos status check, or a bot comment pointing to an Argos build, and you need to decide whether the visual diffs match the developer's intent before approving.

AI 產生的概覽

將 Argos 視覺回歸組建作為拉取請求審查的一項輸入進行審查,判斷每個差異。

功能
指導代理審查拉取請求中連結的 Argos 視覺測試組建。它會檢查組建狀態、取得待審查的快照,並依據測試指標與擷取訊號將每個差異判定為刻意變更、回歸或偶發不穩定。接著針對特定差異張貼錨定留言,並透過 Argos CLI 提交核准、拒絕或留言形式的審查。
適用情境
適用於拉取請求帶有 Argos 組建連結、Argos 狀態檢查或指向 Argos 組建的機器人留言時。適合在核准前需要判斷視覺差異是否符合開發者意圖的情境。
執行需求
需要 Argos CLI 以及存取 Argos 的網路連線。讀取組建與快照需要專案權杖(ARGOS_TOKEN 或 --token);提交審查、留言或忽略變更需要個人存取權杖。不附帶指令碼,僅包含說明與參考文件。

Argos PR Review

Argos is a visual testing platform: each CI build captures screenshots and compares them to a baseline, producing per-snapshot diffs. A build with changes-detected is waiting for a human (or you) to decide whether each change is intentional, a regression, or a flaky capture.

Treat the Argos build as one input to the PR review, never the sole source of truth. Infer the intended UI change from the PR title, description, linked issue, and code diff first, then use Argos to confirm the rendered result matches.

Tooling & auth

Drive Argos through the argos CLI — load the argos-cli skill for the token model and flags. In short: build get / build snapshots need a project token (ARGOS_TOKEN/--token); submitting a review or comment needs a personal access token (--token / argos login). Always use --json when parsing, and never print token values. If no PAT is available, give the user your conclusion and evidence instead of posting — the CLI can't submit the review.

Workflow

  1. Inspect the build — argos build get <ref> --json. Decide from status:

    StatusMeaning / next step
    accepted / no-changesAlready approved / no visual diff — no review needed
    pending / progressNot ready — stop and report it can't be reviewed yet
    changes-detectedNeeds a decision — fetch snapshots
    rejected / error / aborted/ expiredDon't approve until the cause is understood
  2. Fetch what changed — argos build snapshots <ref> --needs-review --json. For each diff inspect url (diff mask), base.url (before), head.url (after), and head.metadata, plus the flakiness signals test.metrics and, on a change, change.occurrences / change.ignored (used in step 3).

  3. Judge each diff against the inferred intent:

    • Intentional — matches the code change and renders cleanly.

    • Regression — broken layout/overlap, clipping, wrong state/theme/route, missing content, or a removed snapshot with no matching test removal.

    • Flaky — weigh two independent signals; when they agree, call it flaky with confidence:

      • Test history — test.metrics.flakiness (0 stable → 1 flaky) and change.occurrences (how many times this exact diff has recurred over the metrics period). A high flakiness score or a recurring change is strong evidence the diff is environmental noise, not this PR's work; stability (builds without a change), consistency (do changes repeat identically), and uniqueChanges explain why it scores that way. change.ignored: true is already known-flaky and auto-approved — never read it as a regression.
      • This capture — a spinner/skeleton, async content not yet loaded, mid-animation, drifting dynamic values, head.metadata.test.retry > 0, or identical score/head.url across browsers (both captured the same transient state). retries (the configured budget) is not itself a signal.

      Conversely, a stable test (flakiness→0, high stability, a first-time change) that changed is more likely intentional or a real regression — don't dismiss it as flaky on the visuals alone. Tune the window with build snapshots --metrics-period <24h|3d|7d|30d|90d> (default 7d).

  4. Comment on specific diffs — the highest-value output of an agent review. A binary approve/reject is cheap; specific, anchored feedback is what makes an agent review worth reading. For each problem diff, post a comment that names what's wrong and how to fix it, anchored to that snapshot:

    bash
    argos comment create <ref> --token <pat> --diff <screenshotDiffId> \  --body "Loader still visible — capture runs before data loads. Wait for settled content (or mark the loader aria-busy)."
    • <screenshotDiffId> is the diff id from build snapshots --json.
    • Pin to a region with --anchor-lines <from,to> or --anchor-point <x,y> (normalized 0–1); reply in a thread with --reply-to <commentId>.
    • Use --draft to bundle comments into your pending review, then submit them together in the next step.
  5. Submit the review (or report if no PAT is available):

    • Approve: argos review create <ref> --token <pat> --event approve
    • Request changes: argos review create <ref> --token <pat> --event reject --body "<summary>"
    • Neutral note only: --event comment --body "<summary>"
    • Add --project owner/project for build-number refs (not URLs).
    • Silence a confirmed recurring flake so it stops blocking future builds: argos change ignore <change.id> --token <pat> --project owner/project (reverse with change unignore). Only ignore flakes the metrics confirm — never to bypass a real diff; prefer a code fix (references/flaky-fixes.md [blocked]) when one exists.
    • Lead with the inferred intent, the snapshots reviewed, and the evidence. In the PR, cite the build URL and affected snapshot names; for flakes, name the signal and recommend a fix.

References

  • references/baseline.md [blocked] — baseline selection and orphan-build semantics (load when the review depends on which baseline was used).
  • references/flaky-fixes.md [blocked] — concrete code fixes for flaky captures (aria-busy, data-visual-test, animation stabilization).

來源與署名

來源:argos-ci/argos-javascript位於skills/argos-pr-review提交bfd4137

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架