$npx -y skills add callstackincubator/agent-skills --skill dogfoodSystematically 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 reproducibl
| 1 | # Dogfood (agent-device) |
| 2 | |
| 3 | Systematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding. |
| 4 | |
| 5 | ## Setup |
| 6 | |
| 7 | Only the **Target app** is required. Everything else has sensible defaults. |
| 8 | |
| 9 | | Parameter | Default | Example override | |
| 10 | | -------------------- | ----------------------------------------------------------- | -------------------------------------------- | |
| 11 | | **Target app** | _(required)_ | `Settings`, `com.example.app`, deep link URL | |
| 12 | | **Platform** | Infer from user context; otherwise ask (`ios` or `android`) | `--platform ios` | |
| 13 | | **Session name** | Slugified app/platform (for example `settings-ios`) | `--session my-session` | |
| 14 | | **Output directory** | `./dogfood-output/` | `Output directory: /tmp/mobile-qa` | |
| 15 | | **Scope** | Full app | `Focus on onboarding and profile` | |
| 16 | | **Authentication** | None | `Sign in to user@example.com` | |
| 17 | |
| 18 | If 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). |
| 19 | |
| 20 | Prefer direct `agent-device` binary when available. |
| 21 | |
| 22 | ## Workflow |
| 23 | |
| 24 | ``` |
| 25 | 1. Initialize Set up session, output dirs, report file |
| 26 | 2. Launch/Auth Open app and sign in if needed |
| 27 | 3. Orient Capture initial snapshot and map navigation |
| 28 | 4. Explore Systematically test flows and states |
| 29 | 5. Document Record reproducible evidence per issue |
| 30 | 6. Wrap up Reconcile summary, close session |
| 31 | ``` |
| 32 | |
| 33 | ### 1. Initialize |
| 34 | |
| 35 | ```bash |
| 36 | mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos |
| 37 | cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md |
| 38 | ``` |
| 39 | |
| 40 | ### 2. Launch/Auth |
| 41 | |
| 42 | Start a named session and launch target app: |
| 43 | |
| 44 | ```bash |
| 45 | agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM} |
| 46 | agent-device --session {SESSION} snapshot -i |
| 47 | ``` |
| 48 | |
| 49 | If login is required: |
| 50 | |
| 51 | ```bash |
| 52 | agent-device --session {SESSION} snapshot -i |
| 53 | agent-device --session {SESSION} fill @e1 "{EMAIL}" |
| 54 | agent-device --session {SESSION} fill @e2 "{PASSWORD}" |
| 55 | agent-device --session {SESSION} press @e3 |
| 56 | agent-device --session {SESSION} wait 1000 |
| 57 | agent-device --session {SESSION} snapshot -i |
| 58 | ``` |
| 59 | |
| 60 | For OTP/email codes: ask the user, wait for input, then continue. |
| 61 | |
| 62 | ### 3. Orient |
| 63 | |
| 64 | Capture initial evidence and navigation anchors: |
| 65 | |
| 66 | ```bash |
| 67 | agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png |
| 68 | agent-device --session {SESSION} snapshot -i |
| 69 | ``` |
| 70 | |
| 71 | Map top-level navigation, tabs, and key workflows before deep testing. |
| 72 | |
| 73 | ### 4. Explore |
| 74 | |
| 75 | Read [references/issue-taxonomy.md](references/issue-taxonomy.md) for severity/category calibration. |
| 76 | |
| 77 | Strategy: |
| 78 | |
| 79 | - Move through each major app area (tabs, drawers, settings pages). |
| 80 | - Test core journeys end-to-end (create, edit, delete, submit, recover). |
| 81 | - Validate edge states (empty/error/loading/offline/permissions denied). |
| 82 | - Use `diff snapshot -i` after UI transitions to avoid stale refs. |
| 83 | - Periodically capture `logs path` and inspect the app log when behavior looks suspicious. |
| 84 | |
| 85 | Useful commands per screen: |
| 86 | |
| 87 | ```bash |
| 88 | agent-device --session {SESSION} snapshot -i |
| 89 | agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png |
| 90 | agent-device --session {SESSION} appstate |
| 91 | agent-device --session {SESSION} logs path |
| 92 | ``` |
| 93 | |
| 94 | ### 5. Document Issues (Repro-First) |
| 95 | |
| 96 | Explore and document in one pass. When you find an issue, stop and fully capture evidence before continuing. |
| 97 | |
| 98 | #### Interactive/behavioral issues |
| 99 | |
| 100 | Use video + step screenshots: |
| 101 | |
| 102 | 1. Start recording: |
| 103 | |
| 104 | ```bash |
| 105 | agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4 |
| 106 | ``` |
| 107 | |
| 108 | 2. Reproduce with visible pacing. Capture each step: |
| 109 | |
| 110 | ```bash |
| 111 | agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png |
| 112 | sleep 1 |
| 113 | # perform action |
| 114 | sleep 1 |
| 115 | agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png |
| 116 | ``` |
| 117 | |
| 118 | 3. Capture final broken state: |
| 119 | |
| 120 | ```bash |
| 121 | sleep 2 |
| 122 | agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png |
| 123 | ``` |
| 124 | |
| 125 | 4. Stop recording: |
| 126 | |
| 127 | ```bash |
| 128 | agent-device --session {SESSION} record stop |
| 129 | ``` |
| 130 | |
| 131 | 5. Append issue immediately to |