← Testing React Native AppsCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Testing React Native Apps
Snapshot Sep 30, 2026 · 23:14 UTC · version 0.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "dogfood",
"description": "Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", or \"test this app\" on mobile. Produces a structured report with reproducible evidence: screenshots, optional repro videos, and detailed steps for every issue.",
"included_files": [
{
"relative_path": "references/issue-taxonomy.md",
"size_in_bytes": 2904
},
{
"relative_path": "templates/dogfood-report-template.md",
"size_in_bytes": 1738
}
],
"skill_md_contents": "---\nname: dogfood\ndescription: 'Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", or \"test this app\" on mobile. Produces a structured report with reproducible evidence: screenshots, optional repro videos, and detailed steps for every issue.'\nallowed-tools: Bash(agent-device:*), Bash(npx agent-device:*)\n---\n\n# Dogfood (agent-device)\n\nSystematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding.\n\n## Setup\n\nOnly the **Target app** is required. Everything else has sensible defaults.\n\n| Parameter | Default | Example override |\n| -------------------- | ----------------------------------------------------------- | -------------------------------------------- |\n| **Target app** | _(required)_ | `Settings`, `com.example.app`, deep link URL |\n| **Platform** | Infer from user context; otherwise ask (`ios` or `android`) | `--platform ios` |\n| **Session name** | Slugified app/platform (for example `settings-ios`) | `--session my-session` |\n| **Output directory** | `./dogfood-output/` | `Output directory: /tmp/mobile-qa` |\n| **Scope** | Full app | `Focus on onboarding and profile` |\n| **Authentication** | None | `Sign in to user@example.com` |\n\nIf the user gives enough context to start, begin immediately with defaults. Ask follow-up only when a required detail is missing (for example platform or credentials).\n\nPrefer direct `agent-device` binary when available.\n\n## Workflow\n\n```\n1. Initialize Set up session, output dirs, report file\n2. Launch/Auth Open app and sign in if needed\n3. Orient Capture initial snapshot and map navigation\n4. Explore Systematically test flows and states\n5. Document Record reproducible evidence per issue\n6. Wrap up Reconcile summary, close session\n```\n\n### 1. Initialize\n\n```bash\nmkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos\ncp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md\n```\n\n### 2. Launch/Auth\n\nStart a named session and launch target app:\n\n```bash\nagent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}\nagent-device --session {SESSION} snapshot -i\n```\n\nIf login is required:\n\n```bash\nagent-device --session {SESSION} snapshot -i\nagent-device --session {SESSION} fill @e1 \"{EMAIL}\"\nagent-device --session {SESSION} fill @e2 \"{PASSWORD}\"\nagent-device --session {SESSION} press @e3\nagent-device --session {SESSION} wait 1000\nagent-device --session {SESSION} snapshot -i\n```\n\nFor OTP/email codes: ask the user, wait for input, then continue.\n\n### 3. Orient\n\nCapture initial evidence and navigation anchors:\n\n```bash\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png\nagent-device --session {SESSION} snapshot -i\n```\n\nMap top-level navigation, tabs, and key workflows before deep testing.\n\n### 4. Explore\n\nRead [references/issue-taxonomy.md](references/issue-taxonomy.md) for severity/category calibration.\n\nStrategy:\n\n- Move through each major app area (tabs, drawers, settings pages).\n- Test core journeys end-to-end (create, edit, delete, submit, recover).\n- Validate edge states (empty/error/loading/offline/permissions denied).\n- Use `diff snapshot -i` after UI transitions to avoid stale refs.\n- Periodically capture `logs path` and inspect the app log when behavior looks suspicious.\n\nUseful commands per screen:\n\n```bash\nagent-device --session {SESSION} snapshot -i\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png\nagent-device --session {SESSION} appstate\nagent-device --session {SESSION} logs path\n```\n\n### 5. Document Issues (Repro-First)\n\nExplore and document in one pass. When you find an issue, stop and fully capture evidence before continuing.\n\n#### Interactive/behavioral issues\n\nUse video + step screenshots:\n\n1. Start recording:\n\n```bash\nagent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4\n```\n\n2. Reproduce with visible pacing. Capture each step:\n\n```bash\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png\nsleep 1\n# perform action\nsleep 1\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png\n```\n\n3. Capture final broken state:\n\n```bash\nsleep 2\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png\n```\n\n4. Stop recording:\n\n```bash\nagent-device --session {SESSION} record stop\n```\n\n5. Append issue immediately to report with numbered steps and screenshot references.\n\n#### Static/on-load issues\n\nSingle screenshot is sufficient; no video required:\n\n```bash\nagent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png\n```\n\nSet **Repro Video** to `N/A` in the report.\n\n### 6. Wrap Up\n\nTarget 5-10 well-evidenced issues, then finish:\n\n1. Reconcile summary severity counts in `report.md`.\n2. Close session:\n\n```bash\nagent-device --session {SESSION} close\n```\n\n3. Report total issues, severity breakdown, and highest-risk findings.\n\n## Guidance\n\n- Repro quality matters more than issue count.\n- Use refs (`@eN`) for fast exploration, selectors for deterministic replay assertions when needed.\n- Re-snapshot after any mutation (navigation, modal, list update, form submit).\n- Use `fill` for clear-then-type semantics; use `type` for incremental typing behavior checks.\n- Keep logs optional and targeted: enable/read app logs only when useful for diagnosis.\n- Never read source code of the app under test; findings must come from observed runtime behavior.\n- Write each issue immediately to avoid losing evidence.\n- Never delete screenshots/videos/report artifacts during a session.\n\n## References\n\n| Reference | When to Read |\n| ------------------------------------------------------------ | ----------------------------------------------- |\n| [references/issue-taxonomy.md](references/issue-taxonomy.md) | Start of session; severity/categories/checklist |\n\n## Templates\n\n| Template | Purpose |\n| ---------------------------------------------------------------------------- | --------------------------------------------- |\n| [templates/dogfood-report-template.md](templates/dogfood-report-template.md) | Copy into output directory as the report file |\n"
}SHA-256: c3fb7c8a3ee2c48fabaecf18d1f06d339f050f6682e74786f2142897c8edbe8c