api-review

Reviews the specified code against the canonical API Design guidelines. Use this skill when the user asks for an API review or to check code against API design…

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).

More skills from flutter

dart-modern-features
flutter
To find candidates for modernization:
flutter-fix-layout-issues
flutter
Fixes Flutter layout errors (overflows, unbounded constraints) using Dart and Flutter MCP tools. Use when addressing "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Adds user-facing change descriptions to DevTools release notes. Use when documenting improvements, fixes, or new features in the NEXT_RELEASE_NOTES.md file.
reviewing-devtools-prs
flutter
DevTools repository-specific PR review workflow enforcing DevTools style guidelines and common review patterns. Use when reviewing pull requests in the…
dart-use-primary-constructors
flutter
Help users write syntactically and semantically correct primary constructors in Dart, and migrate/use the new constructor syntax, empty-body semicolon syntax,…
code-documentation
flutter
Guide for writing effective code documentation, including docstrings, JSDoc, dartdoc, and implementation comments. Use this skill when writing new code, adding…
flutter-accessibility
flutter
Implement WCAG 2 and EN 301 549 accessibility standards and adaptive layouts in Flutter apps. Enforces semantic annotations, tap target sizes (48x48 dp minimum), and text contrast ratios (4.5:1 for small text, 3:1 for large) across mobile, web, and desktop platforms Provides decision logic for web semantics initialization, interactive widget wrapping, screen-size-based layout switching, and keyboard/mouse input handling Includes focus traversal management via FocusTraversalGroup and...
flutter-accessibility-audit
flutter
Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.