Dogfood
CallstackOfficialPublished by Callstack
- Skill
- Review and audit
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The dogfood skill provides a structured approach for agents to perform exploratory testing on iOS and Android applications. It guides the agent through a defined workflow, including app initialization, authentication, navigation mapping, and systematic testing of core user journeys. The skill emphasizes the collection of reproducible evidence, such as screenshots and video recordings, to document visual, functional, UX, and performance issues. It includes a standardized issue taxonomy to help categorize findings by severity and type, ensuring consistent reporting.
What it does
- Automates mobile app exploration using agent-device commands.
- Captures screenshots and video recordings as reproducible evidence for identified issues.
- Generates a structured report detailing bugs, UX issues, and functional failures.
- Supports authentication flows including email and password entry.
- Maps top-level navigation and key workflows for comprehensive coverage.
- Categorizes findings based on a predefined severity and issue taxonomy.
When to use it
- When you need to perform exploratory testing on a mobile application.
- When you are asked to hunt for bugs or identify UX issues in an app.
- When you need to generate a formal report of mobile app defects with visual evidence.
- When testing core user journeys or edge states like error handling and offline behavior.
Advantages
- Ensures consistent documentation of issues with required reproduction steps.
- Reduces manual effort in capturing and organizing visual evidence.
- Provides a clear, standardized framework for severity and issue classification.
- Supports both iOS and Android platforms within a unified workflow.
Usage examples
- “Dogfood the latest build of the companion app on iOS.”
- The agent initiates a session, navigates the app, documents any discovered issues in a report, and provides a summary of findings.
- “Perform a bug hunt on the Android version of our settings module.”
- The agent explores the settings area, captures screenshots of any layout or functional defects, and compiles them into a structured report.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/callstackincubator/dogfood/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip dogfood.zip -d .agents/skills
Documentation by Callstack
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 [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.
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:
Start recording:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4Reproduce 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.pngCapture final broken state:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.pngStop recording:
agent-device --session {SESSION} record stopAppend 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:
Reconcile summary severity counts in
report.md.Close session:
agent-device --session {SESSION} closeReport 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 |
Files
- ATTRIBUTION.mdAdded by AutoGineer910 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md6.8 KiB
- references/issue-taxonomy.md2.8 KiB
- templates/dogfood-report-template.md1.7 KiB
references/issue-taxonomy.md
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
Visual scan: capture screenshot; verify layout/safe areas/text/icon rendering.
Interactions: press controls, open menus/modals, validate expected response.
Forms/input: test valid/invalid/empty/boundary input.
Navigation: traverse all top-level sections and return paths.
App states: loading/empty/error/offline/permission-denied/background-resume.
Logs/diagnostics: inspect app logs when behavior is suspicious.
Platform parity: verify critical flows on each requested platform.
Accessibility basics: labels, touch target sizes, readability/contrast.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Callstack
- Publisher
- Callstack (Official)
- Source
- callstackincubator/agent-skills · plugins/vendored/.agents/skills/dogfood · commit 59e9d17
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Callstack.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download dogfood.zip