argos-cli
Operate Argos visual testing from the terminal with the `argos` CLI — inspect builds and snapshot diffs, submit reviews, request reviewers, post comments, inspect a test's flakiness and its recurring changes, ignore flaky test changes, configure a project and its contributors, manage a team's member
By argos-ci · 758 installs
npx skills add argos-ci/argos-javascript --skill argos-cli
Source repository · Upstream listing
Argos CLI
Run argos <command help for the exact flags of any command. This skill
covers only what help can't: the token model, the output contract, and the
command map.
Output contract (agents)
Pass json whenever you parse stdout; commands print human readable text
otherwise.
Errors go to stderr as Error: <message . Exit 0 = success, 1 = failure.
Never print token values.
Authentication
A <buildReference is a build number (e.g. 72652 ) or a full build URL. With a
number, add project owner/project ; a URL already contains it. A <changeId
is not a build ref: it comes from a diff's change.id and does not carry the
account, so every change command needs project owner/project (or
ARGOS PROJECT ). A <testId comes from a diff's test.id and carries the
project name but not the account, so test commands need the same
project / ARGOS PROJECT — except with a project token, which already
identifies its own project. project and automation commands take the same
project owner/project ; account commands take account <slug (or
ARGOS ACCOUNT ).
Two token types — pick by command:
Commands Token Resolution order
build get , build snapshots , test list , test get , test changes , change list , project get , project deployments , project domain get , media get , media list , media versions , media update , media delete Project token token › ARGOS TOKEN
review , comment , test comment , media comment , test subscribe / unsubscribe , build subscribe / unsubscribe , change ignore / unignore , account , project update , project transfer , project contributor , project domain set , automation , analytics , create project Personal access token (PAT) token › ARGOS TOKEN › argos login
upload , finalize , skip , deploy , media upload CI / project token token › ARGOS TOKEN (or tokenless CI)
Project tokens read build data but cannot review, comment, ignore changes, or
administer a project or team — those need a PAT. If no suitable token is
available, ask the user. For these actions, if no PAT exists, report the
conclusion and evidence instead of acting. argos login is for interactive
humans, not CI.
Commands
Inspect — build get <ref · build snapshots <ref [ needs review] [ metrics period 24h 3d 7d 30d 90d] · build subscribe unsubscribe <ref
Review — review list <ref · review create <ref event <approve reject comment [ body <md ] · review dismiss <ref <reviewId · review reviewer list <ref · review reviewer add remove <ref <userId...
Comment — comment list <ref · comment create <ref body <md [ reply to <id ] [ diff <id ] [ draft] · comment get edit delete resolve unresolve subscribe unsubscribe <ref <id · comment react unreact <ref <id <emoji
Flakiness — test list [ build name <name ] [ search <q ] · test get <testId · test changes <testId [ ignored true false] [ metrics period …] · test subscribe unsubscribe <testId · change list · change ignore unignore <changeId project owner/project
Test comments — test comment list create <testId · test comment get edit delete resolve unresolve subscribe unsubscribe <testId <id · test comment react unreact <testId <id <emoji
Project — project get · project update [ name …] [ summary check …] [ default user level …] [ ignore changes true false] [ deployments true false] … · project transfer to <slug · project contributor list set remove · project deployments [ environment preview production] · project domain get set <domain
Automation — automation list [ active true false] · automation get <ruleId · automation create update [<ruleId ] definition file <path · automation deactivate <ruleId
Team — account get · account update default user level <member contributor · account member list set level remove · account invite list create cancel reset link · account domain list add remove
Account — analytics account <slug · create project <name account <slug · whoami
Media — media upload <files... [ branch <b pr <n ] [ state before after] [ description <text ] [ visibility team public] [ no compress] · media list [ branch <b ] [ pr <n ] [ stage staged published] [ search <q ] [ type image video] · media get delete versions <mediaId · media update <mediaId [ name <n ] [ description <text ] [ branch <b ]
Media comments — media comment list <mediaId [ all] (open threads by default) · media comment create <mediaId · media comment get edit delete resolve unresolve subscribe unsubscribe <mediaId <id · media comment react unreact <mediaId <id <emoji
CI — upload <dir · finalize · skip · deploy <dir
Auth — login · logout
List commands ( test list , change list , account member list , project
contributor list , project deployments , automation list , account invite
list ) follow pagination up to limit (default 100).
build snapshots json enriches each diff with test.metrics (flakiness:
stability , consistency , flakiness , all 0–1) and, on a change, change
( id , ignored , occurrences ). High occurrences or flakiness flags a
change worth ignoring; pass its change.id to change ignore .
Common flows
Review a build (inspect with a project token, decide with a PAT):
Silence a flaky change (inspect with a project token, ignore with a PAT).
Ignored changes stop requiring review and are auto approved on future builds:
Work through a project's flakiness backlog. test list returns the tests still
running in the project, flakiest first, so the first page is what to stabilise;
change list audits what has already been silenced:
Diagnose a flaky test before deciding whether to fix it or ignore it. test get
reports how flaky it is; test changes lists the distinct changes most frequent
first, each with the diff, baseline and head image URLs to look at:
Upload screenshots in CI:
Parallel builds:
Onboard someone onto a team and a project. Team roles come from account ,
per project access from project contributor — owners and members already reach
every project, so contributors are the only ones that need a grant:
Configure a project. project update only changes the settings you pass, and
prints the project back so you can check what it ended up with:
Ask for a review on a build, then check who is still on the hook: