agent-device dogfood スキルの GitHub リポジトリ
agent-device | GitHub
目次

2026 年 3 月、X ユーザーの kazutoyo 氏が**「agent-device の Skills として dogfood があった。これを使えばいい感じにアプリを探索して問題点を見つけてくれそう」**と報告した。

agent-device の Skills として dogfood があった。 これを使えばいい感じにアプリを探索して問題点を見つけてくれそう。

本稿はこの dogfood スキルの概要、仕組み、そして QA 自動化への応用可能性を解説する。

dogfood スキルとは

dogfoodとは、自社製品を自社で使うこと(dogfooding)に由来する用語だ。ソフトウェア開発では、リリース前に自社スタッフが製品を使ってバグや問題点を発見するテスト手法を指す。

agent-device の dogfood スキルは、AI がこのドッグフーディングを自律的に実行する。iOS/Android アプリを自動的に操作し、バグや UX 問題を発見して、再現手順付きのレポートを自動生成する。

主な機能

1. 自律的なアプリ探索

AI がアプリを自動的に操作し、以下の要素を探索する。

  • 主要なアプリエリア(タブ、ドロワー、設定ページ)
  • コアなユーザージャーニー(作成、編集、削除、送信、リカバリ)
  • エッジ状態(空/エラー/読み込み/オフライン/権限拒否)

2. 証拠付きのissue 記録

問題発見時に、以下の証拠を自動で記録する。

  • スクリーンショット - 各ステップの画面キャプチャ
  • 再現動画 - 問題の再現プロセスを動画で記録
  • 詳細な手順 - 再現可能なステップバイステップの説明

3. 構造化レポートの自動生成

発見された問題は、構造化された Markdown レポートに自動的に記録される。

  • 問題の概要
  • 深刻度(Severity)
  • 再現手順
  • 期待される動作
  • 実際の動作
  • 証拠(スクリーンショット/動画)

仕組み

必要なもの

ターゲットアプリのみが必要だ。他はすべて適切なデフォルト値が設定されている。

パラメータ デフォルト
ターゲットアプリ (必須) Settings, com.example.app, ディープリンク URL
プラットフォーム ユーザーコンテキストから推測 --platform ios
セッション名 アプリ/プラットフォームの slug 化 --session my-session
出力ディレクトリ ./dogfood-output/ Output directory: /tmp/mobile-qa
スコープ アプリ全体 オンボーディングとプロフィールに焦点
認証 なし user@example.com でサインイン

ワークフロー

dogfood スキルは以下の 6 つのステップで実行される。

1. 初期化    セッション、出力ディレクトリ、レポートファイルを設定
2. 起動/認証 アプリを開き、必要に応じてサインイン
3. 方向付け  初期スナップショットをキャプチャし、ナビゲーションをマッピング
4. 探索     フローと状態を体系的にテスト
5. 文書化   問題ごとに再現可能な証拠を記録
6.  wrap up  要約を調整し、セッションを閉じる

各ステップの詳細

1. 初期化

出力ディレクトリとレポートテンプレートを準備する。

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

2. 起動/認証

名前付きセッションを開始し、ターゲットアプリを起動する。

agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
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

OTP/メールコードの場合は、ユーザーに尋ねて入力待ちとなる。

3. 方向付け

初期証拠とナビゲーションアンカーをキャプチャする。

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

トップレベルのナビゲーション、タブ、主要なワークフローをディープテスト前にマッピングする。

4. 探索

体系的にアプリをテストする。

  • 各主要アプリエリアを移動(タブ、ドロワー、設定ページ)
  • エンドツーエンドのコアジャーニーをテスト(作成、編集、削除、送信、リカバリ)
  • エッジ状態を検証(空/エラー/読み込み/オフライン/権限拒否)
  • UI 遷移後にdiff snapshot -iを使用して古い参照を回避
  • 動作が不審な場合は定期的にlogs pathをキャプチャし、アプリログを検査

5. issue の文書化(再現ファースト)

探索と文書化を 1 パスで実行する。問題発見時は、継続する前に完全に証拠をキャプチャする。

インタラクティブ/行動的な問題の場合:

  1. 録画開始:
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
  1. 各ステップをキャプチャ:
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1
# アクションを実行
sleep 1
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png
  1. 最終的な問題状態をキャプチャ:
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
  1. 録画停止:
agent-device --session {SESSION} record stop
  1. 番号付きステップとスクリーンショット参照をレポートに即時追加する。

静的/ロード時の問題の場合:

単一のスクリーンショットで十分。動画は不要。

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

6. wrap up

5-10 件の十分に証拠のある issue をターゲットに、終了する。

  1. レポートの深刻度カウントを調整
  2. セッションを閉じる:
agent-device --session {SESSION} close
  1. 総 issue 数、深刻度内訳、最高リスクの発見を報告する。

使用例

基本的な使い方

# iOS の Settings アプリをテスト
agent-device dogfood Settings --platform ios

# Android の特定アプリをテスト
agent-device dogfood com.example.app --platform android

# 認証ありでテスト
agent-device dogfood MyApp --auth user@example.com

出力例

dogfood-output/
├── screenshots/
│   ├── initial.png
│   ├── issue-001-step-1.png
│   ├── issue-001-step-2.png
│   ├── issue-001-result.png
│   └── issue-002.png
├── videos/
│   ├── issue-001-repro.mp4
│   └── issue-002-repro.mp4
└── report.md

レポート例

# Dogfood Report: MyApp iOS

## Summary
- Total Issues: 5
- Critical: 1
- High: 2
- Medium: 1
- Low: 1

## Issue #1: クラッシュ(Critical)

### 再現手順
1. アプリを起動
2. プロフィールページに移動
3. 「編集」ボタンをタップ
4. 名前フィールドに特殊文字を入力
5. 「保存」をタップ

### 期待される動作
エラーメッセージが表示され、入力が保持される

### 実際の動作
アプリがクラッシュする

### 証拠
- スクリーンショット:`screenshots/issue-001-step-1.png` 〜 `issue-001-result.png`
- 再現動画:`videos/issue-001-repro.mp4`

ガイダンス

  • 再現の品質が issue 数よりも重要
  • 高速探索には参照(@eN)を使用、決定論的再生にはセレクターを使用
  • 変更(ナビゲーション、モーダル、リスト更新、フォーム送信)後に再スナップショット
  • fill はクリアしてから入力、type は増分入力動作のチェックに使用
  • ログはオプションでターゲットに:診断に有用な場合のみアプリログを有効/読み取り
  • テスト対象アプリのソースコードは決して読まない:発見は観測されたランタイム動作から
  • 各 issue を即時に書き込み、証拠を失わない
  • セッション中にスクリーンショット/動画/レポートアーティファクトを削除しない

メリット

1. テスト工数の削減

手動テストに比べて、AI が自律的に実行するため、大幅な工数削減が可能だ。

2. 再現性の向上

全ての issue に再現手順と証拠が付属するため、開発者による修正が容易になる。

3. 網羅性の向上

AI は体系的にアプリを探索するため、手動テストでは見逃されがちなエッジケースも発見できる。

4. 継続的テスト

CI/CD パイプラインに統合することで、毎回のビルドで自動テストを実行できる。

制限事項

1. プラットフォームの制限

iOS と Android の両方をサポートしているが、プラットフォームごとにセットアップが必要だ。

2. 認証の必要性

ログインが必要なアプリの場合、認証情報の設定が必要だ。OTP/メールコードはユーザー入力待ちとなる。

3. 文脈の理解

AI はランタイム動作のみを観測し、ソースコードは読まない。そのため、内部的な問題(メモリリークなど)は発見できない可能性がある。

結論:QA 自動化の新境地

agent-device の dogfood スキルは、AI による自律的な QA テストの新境地を開く。

  • 再現手順付きの issue レポートを自動生成
  • スクリーンショットと動画で証拠を記録
  • 体系的な探索で網羅性を確保

開発者は、このツールを使うことで、手動テストの工数を削減し、より高品質なアプリをリリースできる。


参考:

引用元・参考リンク

免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。