api-review

作者: flutter

根據規範的 API 設計指南審查指定的程式碼。當使用者要求進行 API 審查或檢查程式碼是否符合 API 設計時,請使用此技能。

npx skills add https://github.com/flutter/agent-plugins --skill api-review

API review skill

This skill reviews code against the canonical API Design guidelines.

Instructions

  1. Load Guidelines: Read the API design guidelines from references/canonical_api_design.md to ensure they are fully available in the context.
  2. Identify Target: Identify the code to review.
    • If the user specified files (e.g., "review main.dart"), use those.
    • If the user has an open file in their context, assume that is the target.
    • If neither, ask the user to specify the target files.
  3. Analyze: For each target file, perform a deep analysis against the "Foundations of Canonical API Design Principles" (loaded in step 1), specifically looking for:
    • Contract-First: Is the interface clear and decoupled from implementation?
    • KISS/YAGNI: Are there unnecessary parameters or over-generalized features?
    • Ergonomics: Are names intent-revealing? Do they follow the Principle of Least Astonishment?
    • CQS: Are commands and queries separated?
    • Safety: Are types used strictly (Enums vs Strings)? Is validation visible?
    • Explicit Configuration: Are dependencies explicitly injected rather than implicitly resolved via global state, registries, or environment variables?
  4. Report: Generate a structured report:
    • Score: Give a letter grade (A-F) based on alignment.
    • Critical Issues: Violations that must be fixed (e.g., severe strictness or safety issues).
    • Suggestions: Ergonomic improvements (renaming, rearranging).
    • Code Examples: Provide before vs after code blocks for the suggested improvements.
    • Save the report as a markdown artifact in the conversation artifacts directory (e.g., <appDataDir>/brain/<conversation-id>/api_review_results.md).

來自 flutter 的更多技能

dart-modern-features
flutter
為了尋找現代化的候選對象:
flutter-fix-layout-issues
flutter
使用 Dart 和 Flutter MCP 工具修復 Flutter 佈局錯誤(溢出、無限制約束)。適用於處理「RenderFlex overflowed」、「Vertical…」等問題。
adding-release-notes
flutter
在 DevTools 發行說明中新增使用者面向的變更描述。用於在 NEXT_RELEASE_NOTES.md 檔案中記錄改進、修正或新功能。
reviewing-devtools-prs
flutter
DevTools 儲存庫專用的 PR 審查工作流程,強制執行 DevTools 風格指南與常見審查模式。用於審查以下專案中的拉取請求時…
dart-use-primary-constructors
flutter
協助使用者撰寫語法與語意正確的 Dart 主要建構子,並遷移/使用新的建構子語法、空主體分號語法、…
code-documentation
flutter
編寫有效程式碼文件的指南,包括 docstrings、JSDoc、dartdoc 和實作註解。在編寫新程式碼、新增…時使用此技能。
flutter-accessibility
flutter
在 Flutter 應用程式中實作 WCAG 2 與 EN 301 549 無障礙標準及自適應佈局。強制執行語意標註、觸控目標尺寸(最小 48x48 dp)以及文字對比度(小字 4.5:1,大字 3:1),涵蓋行動裝置、網頁與桌面平台。提供網頁語意初始化、互動元件包裝、基於螢幕尺寸的佈局切換,以及鍵盤/滑鼠輸入處理的決策邏輯。包含透過 FocusTraversalGroup 進行的焦點導覽管理,以及...
flutter-accessibility-audit
flutter
透過 widget_inspector 觸發無障礙掃描,並自動在原始碼中新增 Semantics 元件或補上遺漏的標籤。