reviewing-devtools-prs

DevTools repository-specific PR review workflow enforcing DevTools style guidelines and common review patterns. Use when reviewing pull requests in the…

npx skills add https://github.com/flutter/devtools --skill reviewing-devtools-prs

Reviewing DevTools Pull Requests

Extends reviewing-prs for pull requests in flutter/devtools. Follow reviewing-prs for GitHub CLI data retrieval and the strict user approval workflow.

References & Style Guidelines

Read and enforce:

  • Style Guide: styleguide.md (severity tags [MUST-FIX], [CONCERN], [NIT], zero-formatting policy, copyright headers, DRY rules, magic values)
  • Repository Constraints: AGENTS.md
  • Code Style: STYLE.md

Common Review Patterns

  1. Listener & Resource Disposals:

    • Ensure controller and notifier listeners use addAutoDisposeListener(...).
  2. Helper Widgets over Helper Methods:

    • Prefer small composable Widget classes over helper methods returning Widget (_buildFoo()).
  3. Reuse Shared Components & Test Helpers:

    • Use standard shared widgets (e.g. CenteredMessage) and test mocks (e.g. mockConnectedApp) instead of re-creating them inline.
  4. TODO Formatting:

    • Link TODOs to a GitHub issue or LDAP: // TODO(https://github.com/flutter/devtools/issues/<issue_number>): <description>.
  5. Async & Unawaited Futures:

    • Audit unawaited futures and suggest unawaited(...) or safeUnawaited(...) where appropriate.
  6. Feature Flags:

    • Default feature flags to false with explicit test expectations in feature_flags_test.dart.
  7. Test File Structure & PR Scope:

    • Place test fakes/helpers below main().
    • Ask authors to revert unrelated file changes or commented-out test code.
  8. Constant Scoping:

    • Keep single-use constants local to the component, but extract user-facing UI strings into shared constants when used across multiple places.
  9. Release Notes Scope (NEXT_RELEASE_NOTES.md):

    • Release notes are strictly for end-user facing changes (e.g. Inspector, Memory UI/UX). Internal tools (dt / devtools_tool), CI, and refactors are NOT user-facing.
    • Request removing release notes added for developer tools like dt, or suggest a * <Description>. [#<PR_NUMBER>](https://github.com/flutter/devtools/pull/<PR_NUMBER>) entry via adding-release-notes if a user-facing PR lacks one.

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.
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…
api-review
flutter
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…
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.