
Dogfood
- 8 installs
- 1.6k repo stars
- Updated July 25, 2026
- callstackincubator/agent-skills
dogfood is a Claude skill that uses the agent-device CLI to systematically explore and test a mobile app on iOS or Android and produce a structured report with reproducible evidence.
About
This skill drives the agent-device CLI to systematically explore a mobile app on iOS or Android and produce a structured report. It initializes a session, launches and optionally authenticates, orients on navigation, explores flows and edge states, and documents each issue with screenshots and optional repro videos. A developer uses it to run repeatable exploratory QA and get reproduction steps for every finding.
- Systematically explores a mobile app on iOS/Android and produces a structured report with reproducible evidence
- Six-step workflow: initialize, launch/auth, orient, explore, document issues, wrap up
- Captures repro videos and step screenshots per issue; targets 5-10 well-evidenced findings
Dogfood by the numbers
- 8 all-time installs (skills.sh)
- Ranked #1,571 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
dogfood capabilities & compatibility
Free; requires the agent-device CLI and a target app or simulator.
- Capabilities
- exploratory testing · mobile testing · bug reporting · device automation
- Use cases
- testing · debugging
- Pricing
- Free
What dogfood says it does
Systematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding.
Target 5-10 well-evidenced issues, then finish:
Repro quality matters more than issue count.
npx skills add https://github.com/callstackincubator/agent-skills --skill dogfoodAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 8 |
|---|---|
| repo stars | ★ 1.6k |
| Last updated | July 25, 2026 |
| Repository | callstackincubator/agent-skills ↗ |
What it does
Run structured exploratory QA on a mobile app and produce a report with repro steps, screenshots, and videos per issue.
Who is it for?
Repeatable exploratory QA of an iOS or Android app that must produce a report with reproduction evidence.
Skip if: Reviewing app source, since guidance says never read source code of the app under test.
When should I use this skill?
When asked to dogfood, QA, exploratory test, find issues, bug hunt, or test an app on mobile.
What you get
A structured report of 5-10 well-evidenced issues, each with numbered repro steps, screenshots, and optional repro videos.
- report.md with severity counts
- issue screenshots
- optional repro videos
By the numbers
- 6-step workflow
- target 5-10 well-evidenced issues
Files
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.
| 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 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 session1. Initialize
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md2. Launch/Auth
Start a named session and launch target app:
agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -iIf 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 -iFor 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 -iMap 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 -iafter UI transitions to avoid stale refs. - Periodically capture
logs pathand 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 path5. 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.mp42. 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.png3. Capture final broken state:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png4. Stop recording:
agent-device --session {SESSION} record stop5. 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}.pngSet 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} close3. 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
fillfor clear-then-type semantics; usetypefor 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
| Reference | When to Read |
|---|---|
| references/issue-taxonomy.md | Start of session; severity/categories/checklist |
Templates
| Template | Purpose |
|---|---|
| templates/dogfood-report-template.md | Copy into output directory as the report file |
Issue Taxonomy (Mobile)
Reference for categorizing issues found during mobile dogfooding.
Severity Levels
| Severity | Definition |
|---|---|
| critical | Blocks a core workflow, causes data loss, or crashes/freeze loops the app |
| high | Major feature broken or unusable, no practical workaround |
| medium | Feature works with notable friction or partial failure; workaround exists |
| low | Minor cosmetic or polish issue |
Categories
Visual / UI
- Layout broken, clipped, overlapped, or unreadable text
- Safe-area/notch overlap issues
- Incorrect dark/light appearance rendering
- Missing assets/icons
- Animation glitches or flicker
Functional
- Buttons/controls do nothing or trigger wrong action
- Flows fail (create/edit/delete/submit)
- Navigation dead-ends or wrong destination
- State loss after background/foreground transitions
- Deep link opens wrong screen or fails
UX
- Confusing hierarchy or navigation labels
- Missing loading/progress feedback
- Unclear error handling or no recovery affordance
- Excessive steps for common tasks
- Inconsistent behavior between similar screens
Content
- Typos, incorrect copy, placeholder text
- Wrong labels/help text
- Truncated text with no affordance
- Inconsistent terminology across screens
Performance
- Slow startup or route transitions
- Input lag or gesture jank
- Scroll hitches/frame drops
- Notable battery/thermal symptoms during basic usage
Diagnostics / Logs
- Native crashes or repeated fatal exceptions
- Repeated warnings correlated with broken behavior
- Unhandled runtime errors visible during repro
Permissions / Platform
- Permission prompt flow broken or loops forever
- Denied permissions not handled gracefully
- Platform-specific regressions (iOS-only or Android-only)
- Background/foreground lifecycle regressions
Accessibility
- Missing labels or incorrect accessibility names
- Focus order/navigation issues for assistive tech
- Low contrast or unreadable text scaling
- Touch targets too small for reliable interaction
Exploration Checklist
1. Visual scan: capture screenshot; verify layout/safe areas/text/icon rendering. 2. Interactions: press controls, open menus/modals, validate expected response. 3. Forms/input: test valid/invalid/empty/boundary input. 4. Navigation: traverse all top-level sections and return paths. 5. App states: loading/empty/error/offline/permission-denied/background-resume. 6. Logs/diagnostics: inspect app logs when behavior is suspicious. 7. Platform parity: verify critical flows on each requested platform. 8. Accessibility basics: labels, touch target sizes, readability/contrast.
Dogfood Report: {APP_NAME}
| Field | Value |
|---|---|
| Date | {DATE} |
| Platform | {PLATFORM} |
| Target App | {TARGET_APP} |
| Session | {SESSION_NAME} |
| Scope | {SCOPE} |
Summary
| Severity | Count |
|---|---|
| Critical | 0 |
| High | 0 |
| Medium | 0 |
| Low | 0 |
| Total | 0 |
Issues
<!-- Copy this block for each issue found. Interactive issues need video + step screenshots. Static issues can be screenshot-only (Repro Video = N/A). -->
ISSUE-001: {Short title}
| Field | Value |
|---|---|
| Severity | critical / high / medium / low |
| Category | visual / functional / ux / content / performance / diagnostics / permissions / accessibility |
| Screen / Route | {screen where issue was found} |
| Repro Video | {path to video, or N/A for static issues} |
Description
{What is wrong, what was expected, and what actually happened.}
Repro Steps
1. Open {screen/entry point} !Step 1
2. {Action} !Step 2
3. {Action} !Step 3
4. Observe: {broken behavior} !Result
---