Skip to main content

argos-pr-review

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.

설치로 이동

소스 정보

저장소
argos-ci/argos
최근 소스 활동
2026년 8월 11일 07:24
감지된 SKILL.md 언어
영어
스타
630
포크
64

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
4 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
argos-pr-review
description
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.
# 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: | Status | Meaning / next step | | ------------------------------------------- | ---------------------------------------------------- | | `accepted` / `no-changes` | Already approved / no visual diff — no review needed | | `pending` / `progress` | Not ready — stop and report it can't be reviewed yet | | `changes-detected` | Needs a decision — fetch snapshots | | `rejected` / `error` / `aborted`/ `expired` | Don'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](references/flaky-fixes.md)) 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](references/baseline.md) — baseline selection and orphan-build semantics (load when the review depends on which baseline was used). - [references/flaky-fixes.md](references/flaky-fixes.md) — concrete code fixes for flaky captures (`aria-busy`, `data-visual-test`, animation stabilization).
GitHub에서 보기