software-mansion/argent

argent-create-e2e

Create, record, edit, replay, or repair reusable Argent e2e test YAML files.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/software-mansion/argent --skill argent-create-e2e

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Create an Argent e2e test

An Argent e2e test is a replayable sequence in .argent/e2e/<name>.yaml (.argent/flows/ is still read).

For a saved QA test case, ticket, or acceptance criterion, load argent-qa-e2e first. It adds deterministic setup, acceptance evidence, and two-pass proof.

Read the relevant reference

  • Before creating or changing an e2e test, read Live authoring completely.
  • When polishing, composing, or manually reviewing YAML, read E2E YAML. For Vega, read its platform limits before recording remote or keyboard tools.
  • E2E tests run on physical iPhones (an iOS list-devices entry with kind "device"), but replay never auto-binds one, even when no simulator is booted: pass the phone's udid as device (CLI --device), and only a connected phone can run. pinch/rotate steps fail there like the live tools. On hardware the runner tree is the describe tree: same ids and roles, no UIView hierarchy. See argent-ios-device-interact for the hardware contract.
  • On capture warnings, raw coordinates, unavailable trees, mistimed transitions, overlays, or replay failures, read Reliability and recovery.

Non-negotiable rules

  1. Record the first walkthrough. Start the recorder before the first launch or in-app action. Do not reconstruct a rehearsed path.
  2. Record checks when their states appear. Record await-ui-element live, then convert it during polish. An echo records intent or diagnostic context, not app behavior or a verdict. A screenshot is human evidence, not an executable verdict. For absence, record the same selector as visible, perform the removing action, then record it as hidden.
  3. Use semantic targets. Prefer a strict id, then stable text or an accessibility label. Use scroll-to for off-screen elements. Resolve every raw-point warning immediately through the coordinate fallback gate.
  4. Prove every screen change. Record a destination-only identity check. During polish, follow it with await: { idle: true }. Stillness does not prove identity, and idle can pass with a warning.
  5. Polish only executed behavior. Convert recorded steps without changing their meaning. Record any missing action or structural check live. The only unrecorded insertions are a planned snapshot:, a navigation await: { idle: true }, and the documented Chromium packaging launch:.
  6. Use scripts only when the user requests them. Read E2E YAML: Local scripts, then record each script with e2e-add-script.
  7. Replay the final YAML end to end. A normal e2e test needs one uninterrupted full pass. argent-qa-e2e requires two consecutive passes.

Stable selectors

A stable selector is fixed by app code and survives account, data, time, count, order, and every locale and environment the e2e test supports. Prefer ids such as settings-screen. Do not gate on values such as Today, Item 4, usernames, counters, or timestamps.

YAML-only selector scopes

During polish, use within, after, and next to disambiguate repeated elements. Read E2E YAML: Relational scopes for their frame-based semantics and failure cases.

Workflow

  1. Choose the e2e test type:
  • standalone: the first step that is not echo: or script: is launch:. The test controls process start.
  • fragment: there is no leading launch. Declare a precise executionPrerequisite.
  1. Follow Live authoring: start, record one verified step at a time, finish, polish, audit, and replay.
  2. Report the file, replay command, result, prerequisite or side effects, and every coordinate or raw-gesture exception.

Proactive recording

Before repeating three or more interactions, tell the user and start a recording. Record that run and replay it afterward. A completed path cannot be recorded retroactively.

Repair

When replay fails, follow Reliability and recovery. Inspect the first divergence, correct the smallest justified unit, audit, and replay the full e2e test. Stop after two unsuccessful correction cycles. Never weaken a requested check to obtain a pass.

Related by task

from this repository

More skills

All skills
software-mansion
Community

argent-create-flow

Create, record, edit, replay, or repair reusable Argent flow YAML files. Use when the user asks to record or replay a repeatable device path, set up profiling or an A/B comparison, or invoke the authoring engine behind argent-qa-flows. Also use before repeating three or more interactions. For one-off UI checks, acceptance-driven regression tests, or screen video, use argent-test-ui-flow, argent-qa-flows, or argent-screen-recording respectively.

installs
19
GitHub stars
3K
Updated
Oct 12
software-mansion
Community

argent-android-emulator-setup

Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an emulator, getting a device serial, or before any UI interaction task.

installs
3
GitHub stars
3.1K
Updated
Oct 25
software-mansion
Community

argent-device-interact

Interact with an iOS simulator, Android emulator, or Chromium (CDP) app using argent MCP tools. Use when tapping UI elements, performing gestures, scrolling/swiping, typing text, pressing hardware buttons, launching apps, opening URLs, taking screenshots, waiting for an element to appear or disappear, or checking visible app state after interactions. Not for TV targets.

installs
3
GitHub stars
3.1K
Updated
Oct 25
software-mansion
Community

argent-ios-device-interact

Drive a physical iPhone through argent. Use when a physical iPhone is involved (a list-devices iOS entry with kind "device") and ONLY then; never for a simulator. For cable, trust, or signing problems read argent-ios-device-setup.

installs
3
GitHub stars
3.1K
Updated
Oct 25