
Dogfood Testing
FreeSystematic mobile app testing for bugs and UX issues.
Free · Opens the source repo
What Dogfood Testing does
Dogfood Testing is a specialized skill designed for systematically exploring and testing mobile applications on both iOS and Android platforms. This skill is particularly useful for developers and QA engineers who need to identify bugs, usability issues, and other problems within their applications. By utilizing the agent-device framework, users can initiate a comprehensive testing session that captures detailed evidence of any issues found, including screenshots and optional video recordings.
The workflow begins with initializing the testing session and launching the target app. Users can specify the target app and platform, or the skill will infer the necessary context. Once the session is active, the skill captures an initial snapshot of the app's state, allowing testers to orient themselves within the application. The exploration phase involves systematically navigating through the app, testing various flows and states to uncover issues. The skill emphasizes documenting each finding with reproducible evidence, ensuring that developers have clear steps to replicate and address the issues.
One of the key features of Dogfood Testing is its structured reporting mechanism. After the exploration phase, the skill compiles a report that includes all identified issues, their severity, and detailed reproduction steps. This report serves as a valuable resource for developers, helping them prioritize fixes based on the severity of the findings. The ability to capture both static and interactive issues ensures that all aspects of the user experience are thoroughly evaluated.
This skill is ideal for teams engaged in mobile app development who require a reliable method to conduct exploratory testing and quality assurance. It streamlines the testing process, making it easier to identify and document issues effectively, which can significantly enhance the overall quality of the application before release.
When to use it
Use Dogfood Testing when you need to conduct thorough exploratory testing on mobile applications, especially during the QA phase before release.
When not to use it
This skill may not be suitable for automated testing scenarios or when testing web applications, as it is specifically tailored for mobile app testing.
What you can build with it
Testing a New Feature
When a new feature is implemented in a mobile app, use Dogfood Testing to explore its functionality and identify any issues before release.
Conducting Pre-Release QA
Before launching an app update, run Dogfood Testing to ensure all aspects of the app are functioning correctly and to catch any bugs.
Exploring User Experience Issues
Use this skill to systematically test the app's user interface and experience, documenting any usability concerns that arise.
How to install Dogfood Testing
View source1. Install with the skills CLI
npx skills add callstackincubator/agent-skills/dogfood --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by callstackincubatorDogfood (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 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 -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 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:
- Start recording:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
- 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
- Capture final broken state:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
- Stop recording:
agent-device --session {SESSION} record stop
- 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:
- Reconcile summary severity counts in
report.md. - Close session:
agent-device --session {SESSION} close
- 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 |
Frequently asked questions about Dogfood Testing
Similar skills
Android App Development
Comprehensive guide for Android and cross-platform app development.
Add App Clip to Expo App
Integrate lightweight iOS App Clips into your Expo project.
APK Reverse
Streamline your Android APK reverse engineering process.
Swift Expert
Master iOS/macOS development with Swift and SwiftUI.
React Native Expert
Build and optimize mobile apps with React Native and Expo.
Kotlin Specialist
Master idiomatic Kotlin with expert patterns and practices.
