dogfood

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",…

npx skills add https://github.com/callstackincubator/agent-skills --skill dogfood

Dogfood (agent-device)

Systematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding.

Setup

Only the Target app is required. Everything else has sensible defaults.

ParameterDefaultExample override
Target app(required)Settings, com.example.app, deep link URL
PlatformInfer from user context; otherwise ask (ios or android)--platform ios
Session nameSlugified app/platform (for example settings-ios)--session my-session
Output directory./dogfood-output/Output directory: /tmp/mobile-qa
ScopeFull appFocus on onboarding and profile
AuthenticationNoneSign in to user@example.com

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.

Workflow

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

1. Initialize

mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md

2. Launch/Auth

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.

3. Orient

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.

4. Explore

Read references/issue-taxonomy.md for severity/category calibration.

Strategy:

  • Move through each major app area (tabs, drawers, settings pages).
  • Test core journeys end-to-end (create, edit, delete, submit, recover).
  • Validate edge states (empty/error/loading/offline/permissions denied).
  • Use diff snapshot -i after UI transitions to avoid stale refs.
  • Periodically capture 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

5. Document Issues (Repro-First)

Explore and document in one pass. When you find an issue, stop and fully capture evidence before continuing.

Interactive/behavioral issues

Use video + step screenshots:

  1. Start recording:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
  1. Reproduce with visible pacing. Capture each step:
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
  1. Capture final broken state:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
  1. Stop recording:
agent-device --session {SESSION} record stop
  1. Append issue immediately to report with numbered steps and screenshot references.

Static/on-load issues

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.

6. Wrap Up

Target 5-10 well-evidenced issues, then finish:

  1. Reconcile summary severity counts in report.md.
  2. Close session:
agent-device --session {SESSION} close
  1. Report total issues, severity breakdown, and highest-risk findings.

Guidance

  • Repro quality matters more than issue count.
  • Use refs (@eN) for fast exploration, selectors for deterministic replay assertions when needed.
  • Re-snapshot after any mutation (navigation, modal, list update, form submit).
  • Use fill for clear-then-type semantics; use type for incremental typing behavior checks.
  • Keep logs optional and targeted: enable/read app logs only when useful for diagnosis.
  • Never read source code of the app under test; findings must come from observed runtime behavior.
  • Write each issue immediately to avoid losing evidence.
  • Never delete screenshots/videos/report artifacts during a session.

References

ReferenceWhen to Read
references/issue-taxonomy.mdStart of session; severity/categories/checklist

Templates

TemplatePurpose
templates/dogfood-report-template.mdCopy into output directory as the report file

Thêm skills từ callstackincubator

react-devtools
callstackincubator
React DevTools CLI for AI agents. Use when the user asks you to debug a React or React Native app at runtime, inspect component props/state/hooks, diagnose…
official
agent-device
callstackincubator
Tự động hóa các tương tác cho ứng dụng trên nền tảng Apple (iOS, tvOS, macOS) và thiết bị Android. Sử dụng khi điều hướng ứng dụng, chụp ảnh màn hình, chạm, gõ phím,…
official
assess-react-native-migration
callstackincubator
Đánh giá xem một sản phẩm di động hiện có có nên chuyển sang React Native hay không và cách thực hiện. Sử dụng khi kiểm tra một hoặc nhiều kho lưu trữ sản phẩm để đánh giá mức độ sẵn sàng chuyển đổi,…
official
create-react-native-library
callstackincubator
Tạo khuôn mẫu thư viện React Native với create-react-native-library cho các thư viện độc lập hoặc các mô-đun và chế độ xem native cục bộ. Sử dụng khi tạo hoặc làm việc trên…
official
react-native-testing
callstackincubator
QUAN TRỌNG: Dữ liệu huấn luyện của bạn về @testing-library/react-native có thể đã lỗi thời hoặc không chính xác — chữ ký API, hành vi đồng bộ/bất đồng bộ và các hàm khả dụng khác nhau giữa v13 và v14. Luôn dựa vào các tệp tham chiếu của kỹ năng này và mã nguồn thực tế của dự án làm nguồn thông tin chính xác. Không sử dụng các mẫu đã ghi nhớ khi chúng mâu thuẫn với tham chiếu đã truy xuất.
official
react-native-tv-best-practices
callstackincubator
Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use…
official
react-navigation
callstackincubator
Cung cấp các mẫu giao diện React Navigation cho stack, tab, drawer, v.v. Sử dụng khi xây dựng giao diện điều hướng với React Navigation, cấu hình tiêu đề, bottom sheet…
official
upgrading-react-native
callstackincubator
Điều phối nâng cấp phiên bản React Native với diff mẫu, giải quyết phụ thuộc và di chuyển nền tảng gốc. Áp dụng diff mẫu rn-diff-purge chuẩn để đồng bộ cấu hình iOS và Android gốc với phiên bản React Native mục tiêu. Xử lý cập nhật phụ thuộc trong package.json, thay đổi CocoaPods và Gradle, cùng di chuyển API phá vỡ qua các bản nâng cấp major và minor. Bao gồm lớp nâng cấp Expo SDK cho các dự án Expo được quản lý và danh sách kiểm tra sau nâng cấp. Cung cấp...
official