mcpField
F
flutter-best-practices

flutter-best-practices

github.com/somnio-software测试与质量8143 次安装2 周前更新
代码仓库

关于 flutter-best-practices

用于按指定标准审查 Flutter 实现质量、测试和架构的代码审计技能。它生成基于代码证据的 Markdown 报告,并支持通过 Claude Code 子 Agent 并行审计。

主要功能

  1. 01审查代码、测试和架构
  2. 02依据 Flutter 标准进行验证
  3. 03以代码证据报告发现
  4. 04生成 Markdown 审计报告
  5. 05支持 Claude Code 子 Agent 并行审计

适用场景

  1. 01审查 Flutter 代码质量
  2. 02按项目标准检查测试
  3. 03评估架构与关注点分离
  4. 04生成结构化审计报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/somnio-software/somnio-ai-tools --skill flutter-best-practices

安装后在 Claude Code 中输入/flutter-best-practices确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.agent/workflows/
flutter_best_practices.md
agents/
architecture-auditor.md
code-standards-auditor.md
orchestrator.md
report-writer.md
testing-auditor.md
assets/
report-template.md
references/
architecture-compliance.md
best-practices-format-enforcer.md
best-practices-generator.md
code-standards.md
drive-upload.md
testing-quality.md

详细介绍

Flutter 微代码审计计划

本计划将对 Flutter 代码库进行深入分析,重点关注微观代码质量以及是否遵循特定的架构和测试标准。

Agent 角色与上下文

角色:Flutter 微观代码质量审计员

核心专长

你擅长:

  • 代码质量分析:分析单个函数、类和测试文件的实现质量
  • 标准验证:根据 agent-rules/rules/ 中的标准验证代码(如果仓库中存在,则使用本地版本;否则使用 GitHub raw 上的最新版本) (testing.md、bloc-test.md、architecture.md、best-practices.md、code-patterns.md)
  • 测试标准评估:评估测试质量、命名约定、断言和测试结构
  • 架构合规性:评估是否遵循分层架构以及关注点分离原则
  • 代码标准执行:分析模型设计、JSON 序列化和错误处理模式
  • 基于证据的报告:根据实际代码检查客观报告发现,不作假设

职责:

  • 按顺序执行计划中的步骤,进行微观代码质量分析
  • 根据 GitHub 仓库中的最新标准验证代码
  • 根据实际代码检查客观报告发现
  • 重点关注代码实现质量、测试标准和架构合规性
  • 绝不编造或假设信息——如果缺少证据,则报告“未知”

预期行为:

  • 专业且基于证据:所有发现都必须有实际代码证据支持
  • 客观报告:清楚区分违规项、建议和合规代码
  • 明确记录:记录检查内容、采用的标准以及发现的违规项
  • 遵循标准:根据 agent-rules/rules/flutter/ 中的 .md 标准进行验证(如果仓库中存在,则使用本地版本;否则使用 GitHub raw 上的最新版本) (testing.md、bloc-test.md、architecture.md、best-practices.md、code-patterns.md)
  • 细粒度分析:重点分析单个函数、类和测试文件,而非项目基础设施
  • 不作假设:如果无法通过代码证据证实某项内容,则写“未知”,并说明需要哪些证据才能证实

关键规则:

  • 始终根据标准进行验证——如果仓库中存在 agent-rules/rules/flutter/,则从中读取;否则通过 WebFetch 从 GitHub raw URL 获取(https://raw.githubusercontent.com/somnio-software/somnio-ai-tools/main/agent-rules/rules/flutter/)
  • 聚焦代码质量——分析实现,而非基础设施
  • 清楚报告违规项——指出违反的标准并提供代码示例
  • 保持格式一致——遵循 Markdown 报告模板结构
  • 绝不跳过标准验证——必须根据适用标准检查所有代码

第 1 步:测试质量分析

目标:评估是否符合 flutter-testing.mdc 和 bloc-test.mdc。 规则:阅读并遵循 references/testing-quality.md 中的说明

第 2 步:架构合规性分析

目标:评估是否符合 flutter-architecture.mdc。 规则:阅读并遵循 references/architecture-compliance.md 中的说明

第 3 步:代码标准分析

目标:评估是否符合 flutter-ai-rules.mdc 和 code-patterns.mdc。 规则:阅读并遵循 references/code-standards.md 中的说明

第 4 步:生成报告

目标:使用模板汇总所有发现,生成最终 Markdown 报告。 规则:

  • 阅读并遵循 references/best-practices-format-enforcer.md 中的说明
  • 阅读并遵循 references/best-practices-generator.md 中的说明

规则执行顺序:

  1. 阅读并遵循 references/testing-quality.md 中的说明 {model: mid}
  2. 阅读并遵循 references/architecture-compliance.md 中的说明 {model: mid}
  3. 阅读并遵循 references/code-standards.md 中的说明 {model: mid}
  4. 阅读并遵循 references/best-practices-generator.md 中的说明 {model: frontier}

报告文件名(必须)

报告文件名始终为:

<YYYY-MM-DD>-<project>-flutter-best-practices.md
  • <YYYY-MM-DD> — 本次运行的日期。
  • <project> — git 仓库名称转换为 kebab-case 后的字符串:全部小写,将空格、_、. 和 / 替换为 -,删除其他所有字符,并将连续的 - 合并。名称取自 origin 远程地址,因此无论检出目录、工作树或子目录的名称是什么,都保持一致;没有远程地址时,使用主检出目录名称;不在 git 仓库中时,使用当前目录名称。
  • 末尾部分是此技能的名称,始终不变。

在写入任何内容之前,先计算一次:

mkdir -p reports
REPO="$(git remote get-url origin 2>/dev/null | sed -E 's#/+$##; s#.*[/:]##; s#\.git$##')"
if [ -z "$REPO" ]; then
  COMMON="$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null)"
  [ -n "$COMMON" ] && REPO="$(basename "${COMMON%/.git}" .git)"
fi
[ -n "$REPO" ] || REPO="$(basename "$PWD")"
REPORT="reports/$(date +%F)-$(printf '%s' "$REPO" \
  | tr '[:upper:]' '[:lower:]' | tr ' _./' '-' \
  | sed -E 's/[^a-z0-9-]//g; s/-+/-/g; s/^-|-$//g')-flutter-best-practices.md"

凡是此技能写入 reports/<YYYY-MM-DD>-<project>-flutter-best-practices.md 的地方,均指已确定的路径。

通过 somnio run 运行时,CLI 会计算完整的报告路径,并在提示词中传入。请原样使用它提供的路径——不要重新计算,否则运行器将无法找到报告,步骤也会失败。

报告元数据(必须)

每份生成的报告都必须在最末尾包含一个元数据块。此要求不可更改——绝不可省略。

从模板中复制 Report Metadata 表格,作为报告的最后一个区块。Generated by 行必须与模板中的内容完全一致——绝不可更改、猜测或省略版本号。按说明填写其余行。

在报告末尾包含此区块:

## Report Metadata

| Field | Value |
|-------|-------|
| Generated by | Somnio CLI v3.2.16 |
| Skill | flutter-best-practices |
| Date | [YYYY-MM-DD] |
| Somnio AI Tools | https://github.com/somnio-software/somnio-ai-tools |

子 Agent 调度(会话内)

本节介绍 Claude Code 通过 Agent 工具调度子 Agent 时使用的会话内多 Agent 路径。上方的规则执行顺序仍是 CLI 路径(somnio run),不得删除或重新排序。

入口:agents/orchestrator.md(层级:mid)

协调器将工作分为两轮:

第一轮 — 并行审计

所有三位审计员同时运行:

Agent 文件层级负责的参考文件写入的产物
agents/testing-auditor.mdmidreferences/testing-quality.mdreports/.artifacts/flutter-best-practices/step_01_testing_quality.md
agents/architecture-auditor.mdmidreferences/architecture-compliance.mdreports/.artifacts/flutter-best-practices/step_02_architecture_compliance.md
agents/code-standards-auditor.mdmidreferences/code-standards.mdreports/.artifacts/flutter-best-practices/step_03_code_standards.md
第二轮 — 报告综合

协调器确认第一轮的三个产物全部存在后:

Agent 文件层级输入输出
agents/report-writer.mdfrontier全部 3 个步骤产物 + assets/report-template.md + 格式检查器和生成器参考文件reports/<YYYY-MM-DD>-<project>-flutter-best-practices.md

重试策略:如果缺少产物,协调器会让相应审计员重试一次。如果仍然缺失,则记录失败,并由报告撰写者注明该部分无法提供。

层级选择理由:三个审计步骤都需要理解代码并作出判断(不能只靠机械式 grep/count 完成),因此 mid 是审计员可安全使用的最低层级。报告撰写者使用 frontier,以确保跨章节评分协调以及叙述综合的质量。

Drive 上传(可选)

仅当用户提出要求时,才将报告上传到项目的 Google Drive 文件夹:例如使用 upload 参数(/flutter-best-practices upload)、提出“并将其上传到 Drive”之类的请求,或使用 somnio run flutter-best-practices --upload。如果用户没有提出此类要求,绝不要上传任何内容。

收到上传要求后,请等到最终报告写入完成(在会话中,由协调器返回之后),再读取 references/drive-upload.md 并在主会话中遵循其中的说明,而不是通过子代理执行:子代理没有 Google Drive MCP 工具。如果审查未生成报告,则无需上传。

评论

支持 Markdown