Atlas / Skills / software-mansion / Argent Create Flow

Argent Create FlowBLOCK

skills/software-mansion/argent-create-flow

An agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.

Verdict
BLOCK
Grade
F
Trust score
24 /100
Version
—
Hosts
5 documented
License
Apache-2.0
Stars
3,069
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-1&n=1) [](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-2&n=1) [](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-3&n=1)

[Argent](https://argent.swmansion.com) gives your AI assistant direct control of iOS simulators, Android emulators and devices, TVs (Apple TV, Android TV, Fire TV) and Electron/Chromium apps. Tap a button, profile a screen, reproduce a bug - without leaving the CLI.

npx @swmansion/argent@latest init  # pnpm: pnpm dlx @swmansion/argent@latest init

What it does

  • Interact - tap, swipe, gesture, type, hardware buttons; D-pad on TV; mouse and keyboard on desktop.
  • E2E - record a path once as an e2e test, replay it deterministically as a repro or smoke test.
  • Visual regression - diff a baseline against a live capture, OCR- and font-aware.
  • Profiling - Hermes, React DevTools, Xcode Instruments, Perfetto: renders, CPU hotspots, hangs.
  • Debugging - logs, network (XMLHttpRequest incl. axios, fetch incl. Expo's, and native), JS evaluation, native and React trees.
  • React Native - build, launch and iterate, no extra setup.

Ask your assistant "What can Argent do?" to list every tool.

Documentation

Installation · [Platforms](https://docs.swmansion.com/argent/docs/

Read from source at commit e34215776ea8OBSERVED · 2026-10-21
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

git clone https://github.com/software-mansion/argent.git
npm install
npm install
npm install -g @swmansion/argent
npm install -g ./swmansion-argent-0.30.0.tgz
npm install -g @swmansion/argent
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
cursormentioned
gemini-climentioned
windsurfmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: argent-android-emulator-setup
description: 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.
---

## 1. Prerequisites

- **Android SDK Platform Tools** on PATH: provides `adb`.
- **Android Emulator** on PATH: needed to boot AVDs. If you will only use an already-running emulator or a physical device, adb alone is sufficient.
- An AVD created via Android Studio or `avdmanager create avd`.

Verify with `adb version` and `emulator -list-avds`.

## 2. Setup

1. **Find a ready device**: call `list-devices`. Filter for entries with `platform: "android"`. Ready devices (`state: "device"`) come first. Pick the first `serial` (e.g. `emulator-5554`) unless the user specified one.
2. **Boot if needed**: if nothing Android is ready, call `boot-device` with `avdName: <name>` from the same call's `avds` list. The tool transparently picks hot vs cold boot: it probes the AVD's `default_boot` snapshot, restores it under a tight deadline when usable, and falls back to a full cold boot otherwise. Hot path is typically ~30s; cold path takes 2–10 min. On any stage failure the tool kills the emulator process it started so your next call starts from a clean state.
3. **Metro (for React Native)**: once a device is up, run `adb -s <serial> reverse tcp:8081 tcp:8081` so the device can reach Metro on your host. Repeat if the device restarts.

## 3. Using the device

Pass the Android serial as `udid` to the unified interaction tools: `gesture-tap`, `gesture-swipe`, `describe`, `screenshot`, `launch-app`, `keyboard`, etc. Dispatch is automatic based on the id shape. See `argent-device-interact` for platform-neutral interaction tooling and the Android-specific gotchas section at the bottom of that skill.

## 4. Notes

- **Android TV / leanback AVDs** boot through this exact flow (same `boot-device` + `avdName`), but they are **focus-driven, not touch-driven**; do not use `gesture-tap`/`gesture-swipe` on them. `list-devices` tags a leanback device with `runtimeKind: "tv"` (detected via the system feature list, not the serial: a TV AVD's serial looks just like a phone's). When you see `runtimeKind: "tv"`, drive it with the focus-driven tools (`describe` / `tv-remote` / `keyboard`) and the `argent-tv-interact` skill (it covers Android TV as well as Apple TV, including the full TV setup flow).
- Serials are the adb device id. iOS UDIDs and Android serials are not interchangeable, but you do NOT need to tell the tools which platform: dispatch is automatic.
- `describe` on Android returns a shallower tree than iOS (no accessibility-service equivalent), but covers most tap-target discovery.
- `reinstall-app` on Android always installs with `-g` so first-launch runtime permissions are pre-granted.
- To stop the emulator, run `adb -s <serial> emu kill` from a shell (clean shutdown). Never `pkill -9`/`kill -9` qemu: a hard kill leaves the userdata image dirty, after which cold boots can hang for many minutes doing recovery (runaway writes, `boot_completed` never flips). If an image gets into that state, boot once with `-wipe-data` to reset it.
05

Trust audit

BLOCKgrade F · trust 24/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (5 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/argent-installer/src/init-stale-config.ts:20
exec(): boolean;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/update-core/src/min-release-age.ts:49
exec(p.command, { timeout: PROBE_TIMEOUT_MS, windowsHide: true }, (err, stdout) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
packages/skills/skills/argent-device-interact/SKILL.md:180
Where the value is read from, and the rules for using a placeholder (including not screenshotting the field afterwards) are in `references/secrets.md`. Read it before typing any credential.
Why it matters. asks the agent to read credentials
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
packages/docs/docs/features/physical-ios-devices.mdx:15
- Developer Mode enabled on the device: Settings > Privacy & Security > Developer Mode.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
packages/ios-device-runner/README.md:71
the `xcodebuild` command line. The device needs Developer Mode enabled
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
MEDIUMInventory / provenance · inv.binary · CWE-1104
packages/tool-server/src/utils/ios-profiler/Argent.tracetemplate
Argent.tracetemplate
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
packages/argent-cli/src/secrets.ts:66
console.log(`Secrets available to \`{{secret:<NAME>}}\` on this machine:\n`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
packages/argent-cli/src/server.ts:242
console.log(`      argent link ${formatLinkUrl({ host: connectHost, port, token })}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
packages/argent-cli/src/server.ts:246
console.log(`      (or: ${flagsForm})${token ? "" : "   [unauthenticated]"}`);
MEDIUMObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
packages/tool-server/src/tools/screen-recording/watermark-asset.ts:10
"iVBORw0KGgoAAAANSUhEUgAAA4QAAAEVCAYAAAC46yv0AAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOydd7xkRbX916qGIcwQBAaQDEPOacgqIgoCgxJEQRiCCuJ7CCoIzwQYfoIYAJ8BFAUERYLwAEUBMcCoMAwZiUMSkJwGJMycWr8/ui709D23Y1Wf7tP7+/n
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
packages/argent-installer/src/utils.ts:336
fs.writeFileSync(filePath, (hadBom ? "" : "") + out);
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
packages/docs/docusaurus.config.js:141
apiKey: "e9212e51c8bec13db36c7ba303a4139b",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
packages/registry/tests/describe-param-issues.test.ts:31
const value = { token: "hunter2-SUPER-SECRET" };
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
packages/tool-server/test/interaction-messages.test.ts:333
const secret = "INTERACTION_MESSAGE_SECRET";
LOWInventory / provenance · inv.hidden_file · CWE-1104
.coderabbit.yaml
.coderabbit.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierignore
.prettierignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.suspicious_name · CWE-1104
packages/argent-cli/test/run-flow-add-step-payload.test.ts
run-flow-add-step-payload.test.ts
Why it matters. member named after an attack tool
Fix. remove or justify
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/argent/test/esm-bundle-banner.test.ts:38
return (eval(`(${m[1]})`) as { js: string }).js;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/tool-server/test/device-shutdown.test.ts:84
it("chromium / vega -> no exec (nothing to shut down)", async () => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
packages/argent-tools-client/src/artifacts.ts:121
const hash = createHash("sha1").update(cwd).digest("hex").slice(0, 6);
LOWInformation disclosure · disclose.log_secret · CWE-209, CWE-532
packages/tool-server/test/flows/script/flow-script-logs.test.ts:365
const script = ws.write("plain.mjs", `console.log("auth: " + process.env.API_KEY);`);
LOWInformation disclosure · disclose.log_secret · CWE-209, CWE-532
packages/tool-server/test/flows/script/flow-script-logs.test.ts:469
const script = ws.write("echoed.mjs", `console.log("head {{secret:TOK}}TAIL tail");`);
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
packages/telemetry/test/crash-diagnostics.test.ts:159
const err = errorWithStack("secret /Users/alice/id_rsa", [
Why it matters. touches a credential store
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
packages/telemetry/test/sanitize.test.ts:221
error_message: "ENOENT /Users/alice/.ssh/id_rsa",
Why it matters. touches a credential store

Gates applied: instruction_override, no_behavioural_pass.

Audited 2026-10-21 · audit v0.4.1 · source sha e34215776ea8full audit observations/trust-audit/skill/software-mansion__argent-create-flow.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-21e34215776ea8BLOCKF24first audit
07

Questions

What does the argent-create-flow — software-mansion/argent skill do?

An agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.

Is argent-create-flow — software-mansion/argent safe to install?

No — not without reading the findings first. The audit graded it F (24/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can argent-create-flow — software-mansion/argent access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.

Which assistants does argent-create-flow — software-mansion/argent work with?

Its documentation mentions claude-code, codex, cursor, gemini-cli and windsurf. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (e34215776ea8), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Argent Create Flow](https://modelsatlas.com/skills/software-mansion/argent-create-flow/badge.svg)](https://modelsatlas.com/skills/software-mansion/argent-create-flow/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement