flutter-mcp-toolkit-dogfood-iterations について
flutter-mcp-toolkit の開発者向けに、反復評価の手順をまとめたスキルです。ランタイム評価と静的評価、スコア記録、繰り返し発生する警告からの修正整理を扱います。
主な機能
- 01Web 評価フローの実行
- 02静的評価ゲートの実行
- 03スコアと警告の記録
- 04評価軸ごとのスコア比較
- 05再発する問題と修正の追跡
活用シーン
- 01Web showcase のランタイム動作確認
- 02CI や PR での静的チェック
- 03評価実行ごとの品質変化の追跡
MCP 対応
MCP ツール呼び出し、接続、WebMCP の整合性を評価し、exec と MCP の名前の違いも記録します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ arenukvern/ mcp_flutter --skill flutter-mcp-toolkit-dogfood-iterationsインストール後、Claude Code で/flutter-mcp-toolkit-dogfood-iterationsを入力して読み込まれたか確認します。
詳細
ドッグフード反復
トラッカー:docs/evidence/dogfood/dogfood_web_eval.yaml
ルーブリック:docs/superpowers/evals/tool_quality_rubric.yaml
概要:docs/superpowers/evals/README.md
合格基準
加重スコア 80/100 以上。90 以上または pass_with_warnings が承認された場合にリリースします。
| 評価項目 | 重み |
|---|---|
| connectivity | 20 |
| schema_validity | 10 |
| handler_correctness | 20 |
| capture_quality | 10 |
| visual_fidelity | 10 |
| webmcp_parity | 10 |
| intentcall_authoring | 10 |
| docs_truth | 10 |
反復ワークフロー
Task Progress:
- [ ] Start app (web-showcase or make showcase)
- [ ] Fresh WS_URI from log (not stale after hot reload)
- [ ] Run battery
- [ ] Record score + warnings in tracker
- [ ] Promote recurring patterns if repeated ≥2 times
Web の反復
make web-showcase
export WS_URI="$(grep -Eo 'ws://127\.0\.0\.1:[0-9]+/[A-Za-z0-9_=-]+/ws' .showcase/web_app.log | tail -1)"
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI" --merge --skip-visual # yq or dart fallback
# or without merge:
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI"
自動実行:静的ゲート + validate-runtime + webmcp verify。
静的チェックのみ(CI / PR)
make dogfood-eval-static
Makefile
make dogfood-eval # needs WS_URI in env
make dogfood-eval-static
成果物
- 実行ごと:
.showcase/eval_runs/<timestamp>/eval_run.yaml - スナップショット:
.showcase/eval_run_<timestamp>.yaml --mergeを指定すると、docs/evidence/dogfood/dogfood_web_eval.yamlを更新します(yqまたはdart run mcp_server_dart/tool/merge_dogfood_tracker.dart)
判定
| 判定 | 意味 |
|---|---|
pass | スコア ≥80、ブロッキング警告なし |
pass_with_warnings | スコア ≥80。例:visual_capture_truth_mode |
fail | スコア <80 |
blocked_no_runtime | --skip-runtime のみ |
Exec と MCP の名前
テストで呼び出しを実行する場合は、反復メモに記録してください。
- exec: 裸の名前(
get_recent_logs、dogfood_ping)。fmt_*エイリアスも使用できます - MCP:
fmt_プレフィックス(fmt_get_recent_logs、fmt_client_toolおよび一覧のname) - 接続: グローバルな
--vm-service-uri(exec --targetではありません)
dart run mcp_server_dart/bin/flutter_mcp_toolkit.dart \
--vm-service-uri "$WS_URI" exec --name get_recent_logs --args '{}'
Chrome バッテリーに関する注意事項
- ビジュアルトラックをスキップします(
--skip-visual)。そのフィクスチャのホーム(外部のflutter_harness)は廃止されているため、ビジュアルのエビデンスは一時停止中で、再生成できません validate-runtime --save-imagesは Chrome で 5 分以上ハングする場合があります。バッテリーではDOGFOOD_SAVE_IMAGES=1の場合を除き、省略します
CI(ブランチ)
.github/workflows/intentcall_eval.yml — PR:dogfood-eval-static。週次/main:intentcall パッケージのテスト + 静的チェック。
ヘッドレス WebMCP の費用対効果が高くなるまでは、Chrome ランタイムを使ったドッグフードテスト全体をローカルで実行します。
各反復の後
- トラッカーで、前回の反復と
dimension_scoresを比較します。 - 繰り返し発生する場合は、
recurring_warnings/recurring_errorsに追加します。 - 実行可能なドキュメントやコードの変更内容で
fix_recommendationsを更新します。 - 新たにバッテリーを実行せずに、トラッカーの YAML をゲートとして扱わないでください。
関連スキル
flutter-mcp-toolkit-maintain-web— WebMCP の起動と検証flutter-mcp-toolkit-maintain-macos— macOS ショーケースflutter-mcp-toolkit-repo-maintainer— このスキルの編集後にmake sync-skillsを実行します
コメント
Markdown 対応