关于 flutter-best-practices
用于按指定标准审查 Flutter 实现质量、测试和架构的代码审计技能。它生成基于代码证据的 Markdown 报告,并支持通过 Claude Code 子 Agent 并行审计。
主要功能
- 01审查代码、测试和架构
- 02依据 Flutter 标准进行验证
- 03以代码证据报告发现
- 04生成 Markdown 审计报告
- 05支持 Claude Code 子 Agent 并行审计
适用场景
- 01审查 Flutter 代码质量
- 02按项目标准检查测试
- 03评估架构与关注点分离
- 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.mdagents/architecture-auditor.mdcode-standards-auditor.mdorchestrator.mdreport-writer.mdtesting-auditor.mdassets/report-template.mdreferences/architecture-compliance.mdbest-practices-format-enforcer.mdbest-practices-generator.mdcode-standards.mddrive-upload.mdtesting-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中的说明
规则执行顺序:
- 阅读并遵循
references/testing-quality.md中的说明 {model: mid} - 阅读并遵循
references/architecture-compliance.md中的说明 {model: mid} - 阅读并遵循
references/code-standards.md中的说明 {model: mid} - 阅读并遵循
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.md | mid | references/testing-quality.md | reports/.artifacts/flutter-best-practices/step_01_testing_quality.md |
agents/architecture-auditor.md | mid | references/architecture-compliance.md | reports/.artifacts/flutter-best-practices/step_02_architecture_compliance.md |
agents/code-standards-auditor.md | mid | references/code-standards.md | reports/.artifacts/flutter-best-practices/step_03_code_standards.md |
第二轮 — 报告综合
协调器确认第一轮的三个产物全部存在后:
| Agent 文件 | 层级 | 输入 | 输出 |
|---|---|---|---|
agents/report-writer.md | frontier | 全部 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 工具。如果审查未生成报告,则无需上传。