argent-create-e2e
About argent-create-e2e
A skill for creating and repairing replayable Argent end-to-end tests from recorded app interactions. It guides recording, YAML polishing, auditing, and full replay, with strict rules for evidence and stable selectors.
Key features
- 01Records app interactions as e2e tests
- 02Polishes and audits test YAML
- 03Uses stable semantic selectors
- 04Requires proof for screen changes
- 05Replays the complete test after edits
- 06Guides recovery from replay failures
Use cases
- 01Create an e2e test from a walkthrough
- 02Turn acceptance criteria into a test with argent-qa-e2e
- 03Repair a failing Argent replay
- 04Validate navigation and screen identity
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ software-mansion/ argent --skill argent-create-e2eAfter installing, type/argent-create-e2ein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/e2e-yaml.mdlive-authoring.mdreliability-and-recovery.mdDetails
From the project READMECreate 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-devicesentry with kind"device"), but replay never auto-binds one, even when no simulator is booted: pass the phone's udid asdevice(CLI--device), and only aconnectedphone can run.pinch/rotatesteps fail there like the live tools. On hardware the runner tree is thedescribetree: same ids and roles, no UIView hierarchy. Seeargent-ios-device-interactfor the hardware contract. - On capture warnings, raw coordinates, unavailable trees, mistimed transitions, overlays, or replay failures, read Reliability and recovery.
Non-negotiable rules
- Record the first walkthrough. Start the recorder before the first launch or in-app action. Do not reconstruct a rehearsed path.
- Record checks when their states appear. Record
await-ui-elementlive, 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 asvisible, perform the removing action, then record it ashidden. - Use semantic targets. Prefer a strict id, then stable text or an accessibility label. Use
scroll-tofor off-screen elements. Resolve every raw-point warning immediately through the coordinate fallback gate. - Prove every screen change. Record a destination-only identity check. During polish, follow it with
await: { idle: true }. Stillness does not prove identity, andidlecan pass with a warning. - 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 navigationawait: { idle: true }, and the documented Chromium packaginglaunch:. - Use scripts only when the user requests them. Read E2E YAML: Local scripts, then record each script with
e2e-add-script. - Replay the final YAML end to end. A normal e2e test needs one uninterrupted full pass.
argent-qa-e2erequires 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
- Choose the e2e test type:
- standalone: the first step that is not
echo:orscript:islaunch:. The test controls process start. - fragment: there is no leading launch. Declare a precise
executionPrerequisite.
- standalone: the first step that is not
- Follow Live authoring: start, record one verified step at a time, finish, polish, audit, and replay.
- 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.