关于 flutter-mcp-toolkit-dogfood-iterations
用于 flutter-mcp-toolkit 的迭代测试技能,指导开发者运行评测、记录分数与警告,并根据结果调整代码和文档。
主要功能
- 01运行 Web 端评测流程
- 02执行静态评测门禁
- 03记录分数与警告
- 04比较各维度得分
- 05整理重复问题与修复建议
适用场景
- 01验证 Web showcase 的运行时行为
- 02在 CI 或 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确认已加载。
详细介绍
Dogfood 迭代
跟踪文件: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 包测试 + 静态检查。
完整的 Chrome 运行时 Dogfood 仍在本地进行,直到无头 WebMCP 具备成本效益。
每次迭代后
- 对比跟踪文件中本次与上次迭代的
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