plugins/vendored/.agents/skills/dogfood/SKILL.md
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.
npx skillsauth add callstackincubator/agent-skills dogfoodInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding.
Only the Target app is required. Everything else has sensible defaults.
| Parameter | Default | Example override |
| -------------------- | ----------------------------------------------------------- | -------------------------------------------- |
| Target app | (required) | Settings, com.example.app, deep link URL |
| Platform | Infer from user context; otherwise ask (ios or android) | --platform ios |
| Session name | Slugified app/platform (for example settings-ios) | --session my-session |
| Output directory | ./dogfood-output/ | Output directory: /tmp/mobile-qa |
| Scope | Full app | Focus on onboarding and profile |
| Authentication | None | Sign in to [email protected] |
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).
Prefer direct agent-device binary when available.
1. Initialize Set up session, output dirs, report file
2. Launch/Auth Open app and sign in if needed
3. Orient Capture initial snapshot and map navigation
4. Explore Systematically test flows and states
5. Document Record reproducible evidence per issue
6. Wrap up Reconcile summary, close session
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md
Start a named session and launch target app:
agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -i
If login is required:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} fill @e1 "{EMAIL}"
agent-device --session {SESSION} fill @e2 "{PASSWORD}"
agent-device --session {SESSION} press @e3
agent-device --session {SESSION} wait 1000
agent-device --session {SESSION} snapshot -i
For OTP/email codes: ask the user, wait for input, then continue.
Capture initial evidence and navigation anchors:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png
agent-device --session {SESSION} snapshot -i
Map top-level navigation, tabs, and key workflows before deep testing.
Read references/issue-taxonomy.md for severity/category calibration.
Strategy:
diff snapshot -i after UI transitions to avoid stale refs.logs path and inspect the app log when behavior looks suspicious.Useful commands per screen:
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png
agent-device --session {SESSION} appstate
agent-device --session {SESSION} logs path
Explore and document in one pass. When you find an issue, stop and fully capture evidence before continuing.
Use video + step screenshots:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1
# perform action
sleep 1
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
agent-device --session {SESSION} record stop
Single screenshot is sufficient; no video required:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png
Set Repro Video to N/A in the report.
Target 5-10 well-evidenced issues, then finish:
report.md.agent-device --session {SESSION} close
@eN) for fast exploration, selectors for deterministic replay assertions when needed.fill for clear-then-type semantics; use type for incremental typing behavior checks.| Reference | When to Read | | ------------------------------------------------------------ | ----------------------------------------------- | | references/issue-taxonomy.md | Start of session; severity/categories/checklist |
| Template | Purpose | | ---------------------------------------------------------------------------- | --------------------------------------------- | | templates/dogfood-report-template.md | Copy into output directory as the report file |
development
Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.
development
Provides an incremental adoption strategy to migrate native iOS or Android apps to React Native or Expo using @callstack/react-native-brownfield for initial setup. Use when planning migration steps, packaging XCFramework/AAR artifacts, and integrating them into host apps.
development
Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.
development
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.