dogfood

Explorez et testez systématiquement une application mobile sur iOS/Android avec agent-device pour trouver des bugs, des problèmes UX et d'autres anomalies. À utiliser lorsqu'on vous demande de « dogfood », « QA », « test exploratoire », « trouver des problèmes », « chasse aux bugs » ou « tester cette application » sur mobile. Produit un rapport structuré avec des preuves reproductibles : captures d'écran, vidéos de reproduction optionnelles et étapes détaillées pour chaque problème.

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

Dogfood (agent-device)

Explorez systématiquement une application mobile, trouvez des défauts et produisez un rapport avec des preuves complètes de reproduction pour chaque découverte.

Configuration

Seule l'application cible est obligatoire. Tout le reste a des valeurs par défaut sensées.

Paramètre Défaut Exemple de surcharge
Application cible (obligatoire) Settings, com.example.app, URL deep link
Plateforme Déduire du contexte utilisateur ; sinon demander (ios ou android) --platform ios
Nom de session App/plateforme slugifiée (par exemple settings-ios) --session my-session
Répertoire de sortie ./dogfood-output/ Output directory: /tmp/mobile-qa
Portée Application complète Focus on onboarding and profile
Authentification Aucune Sign in to user@example.com

Si l'utilisateur fournit suffisamment de contexte pour commencer, démarrez immédiatement avec les valeurs par défaut. Posez des questions de suivi uniquement quand un détail obligatoire manque (par exemple plateforme ou identifiants).

Préférez le binaire agent-device direct quand disponible.

Flux de travail

1. Initialize    Configurer la session, répertoires de sortie, fichier de rapport
2. Launch/Auth   Ouvrir l'app et se connecter si nécessaire
3. Orient        Capturer l'instantané initial et cartographier la navigation
4. Explore       Tester systématiquement les flux et états
5. Document      Enregistrer les preuves reproductibles pour chaque défaut
6. Wrap up       Réconcilier le résumé, fermer la 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

Démarrez une session nommée et lancez l'application cible :

agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -i

Si une connexion est requise :

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

Pour les codes OTP/e-mail : demandez à l'utilisateur, attendez l'entrée, puis continuez.

3. Orient

Capturez les preuves initiales et les points d'ancrage de navigation :

agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png
agent-device --session {SESSION} snapshot -i

Cartographiez la navigation de haut niveau, les onglets et les flux clés avant les tests approfondis.

4. Explore

Lisez references/issue-taxonomy.md pour l'étalonnage de la sévérité/catégorie.

Stratégie :

  • Parcourez chaque zone majeure de l'app (onglets, tiroirs, pages de paramètres).
  • Testez les parcours principaux de bout en bout (créer, éditer, supprimer, soumettre, récupérer).
  • Validez les états limites (vide/erreur/chargement/hors ligne/permissions refusées).
  • Utilisez diff snapshot -i après les transitions d'UI pour éviter les références obsolètes.
  • Capturez périodiquement logs path et inspectez le log de l'app si le comportement semble suspect.

Commandes utiles par écran :

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)

Explorez et documentez en un seul passage. Quand vous trouvez un défaut, arrêtez-vous et capturez complètement les preuves avant de continuer.

Problèmes interactifs/comportementaux

Utilisez vidéo + captures d'étapes :

  1. Commencez l'enregistrement :
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
  1. Reproduisez avec un rythme visible. Capturez chaque étape :
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. Capturez l'état final cassé :
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
  1. Arrêtez l'enregistrement :
agent-device --session {SESSION} record stop
  1. Ajoutez le défaut immédiatement au rapport avec des étapes numérotées et des références de captures.

Problèmes statiques/au chargement

Une seule capture d'écran suffit ; aucune vidéo requise :

agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png

Définissez Repro Video sur N/A dans le rapport.

6. Wrap Up

Ciblez 5-10 défauts bien documentés, puis finissez :

  1. Réconciliez les comptes de sévérité du résumé dans report.md.
  2. Fermez la session :
agent-device --session {SESSION} close
  1. Rapportez le nombre total de défauts, la répartition des sévérités et les découvertes à plus haut risque.

Guidance

  • La qualité de la repro importe plus que le nombre de défauts.
  • Utilisez les refs (@eN) pour l'exploration rapide, les sélecteurs pour les assertions de relecture déterministes si nécessaire.
  • Re-capturez après toute mutation (navigation, modal, mise à jour de liste, soumission de formulaire).
  • Utilisez fill pour la sémantique d'effacement puis de saisie ; utilisez type pour les vérifications de comportement de saisie incrémentale.
  • Gardez les logs optionnels et ciblés : activez/lisez les logs de l'app uniquement quand utile pour le diagnostic.
  • Ne lisez jamais le code source de l'app testée ; les découvertes doivent provenir du comportement d'exécution observé.
  • Écrivez chaque défaut immédiatement pour éviter de perdre les preuves.
  • Ne supprimez jamais les captures d'écran/vidéos/artefacts de rapport pendant une session.

Références

Référence Quand la lire
references/issue-taxonomy.md Début de session ; sévérité/catégories/checklist

Templates

Template Objectif
templates/dogfood-report-template.md Copier dans le répertoire de sortie comme fichier de rapport

Skills similaires