the signals and their derived score are provisional and subject to change.
validate manually before sharing.
8225c75695c5da9d144b3ef862b9e9d743ad5ddcf68aaca9b06119e09f62909cfda27e17f53fdffeAuthored: 3 months ago (Tue, 16 Jun 2026 16:39:28 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)b70baffe8baf2fa8c54d4c0fab562e455044ac48Authored: 4 months ago (Sun, 17 May 2026 04:50:44 +0000)Match: This change was developed with AI assistance; I have reviewed and takepackages/flutter_tools/gradle/AGENTS.mdTool: agents-md# Flutter Gradle Plugin (FGP) Architecture & Development Rules
## Scope & Legacy Code Policy (The Ratchet Principle)
- **New Code & Modified Lines**: All newly introduced tasks, properties, build logic, and modified lines must strictly comply with these rules.
- **No Automatic Legacy Refactoring**: Pre-existing code that violates target architectural guidelines (such as Worker API adoption, configuration-cache compliance, or legacy mock boilerplate) should **not** be automatically refactored within an unre.agents/skills/engine-whats-new/SKILL.mdTool: unspecified---
name: engine-whats-new
description: >
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
When to use:
- Only activate when explicitly asked by the user to generate what's new in the engine, diff Flutter engine releases, or produce an engine release summary.
When not to use:
- Do not use for general questions about commits, individual file history, or codebase searches unless explicitly r.agents/skills/flutter-cherry-pick/SKILL.mdTool: unspecified---
name: flutter-cherry-pick
description: How to land a formal cherry-pick of a merged PR for the flutter/flutter repo stable or beta channel. Only use for flutter/flutter landed pull requests. Only use when the cherry pick request is into "stable", "beta" or a branch that has the format with flutter-<major>.<minor>-candidate.0.
---
# Flutter Cherry-Pick Workflow
## Constraints
This skill has the following strict constraints:
* **Target Repository:** Only use for the `flutter/flutter` repository.
* **Targ.agents/agents/reidbaker-agent/skills/code-review/SKILL.mdTool: unspecified---
name: code-review
description: Performs a comprehensive, multi-step code review of pull requests or local code changes, using iterative refinement (generation, critique, synthesis) to ensure high-quality, actionable feedback. Use when you need to review code changes thoroughly.
---
# Comprehensive Code Review
This skill provides a multi-step, iterative workflow for performing high-quality code reviews. It is designed to produce thorough, actionable, and well-formatted feedback while avoiding common pi.agents/skills/rebuilding-flutter-tool/SKILL.mdTool: unspecified---
name: rebuilding-flutter-tool
description: Rebuilds the Flutter tool and CLI. Use when a user asks to compile, update, regenerate, or rebuild the Flutter tool or CLI.
---
# Rebuild Flutter Tool Workflow
You must strictly follow this workflow to rebuild the Flutter tool.
## Step 1: Execute
* **Action:** Run the rebuild script: `dart .agents/skills/rebuilding-flutter-tool/scripts/rebuild.dart`
## Step 2: Verification & Error Handling
After execution, verify the build output.
* If the script succeeds, .agents/skills/find-release/SKILL.mdTool: unspecified---
name: find-release
description: A skill to find the lowest Dart and Flutter release containing a given commit. Use this skill whenever users ask about when a commit landed in Flutter or Dart releases, inquire about release versions for specific SHAs, or want to know if a commit is included in stable, beta, or dev channels for Flutter/Dart projects.
---
## Instructions
1. **Extract Information:**
- Identify the commit SHA from the user's request (e.g., `02abc57`).
- Identify the target channel.agents/agents/reidbaker-agent/skills/natural-writing/SKILL.mdTool: unspecified---
name: natural-writing
description: Contains well-defined rules for creating natural, accurate, and readable writing. Use whenever authoring longer text, like analysis documents, PR or CL descriptions, or documentation.
---
# Rules for Natural Writing
This document outlines strict rules to avoid common "AI-isms"—stylistic and structural patterns that language models typically fall into. Follow these rules to produce content that is more understandable, and reads as natural, human-authored text.
## 1..agents/skills/analyze-github-flake/SKILL.mdTool: unspecified---
name: analyze-github-flake
description:
Expertise in analyzing flake github issues in the flutter/flutter repository. Use when a user wants to analyze the flakiness of a specific link to a flutter github issue.
---
<!--
Host assumptions:
Installed and on path:
* dart
* git
* gh
Had authentication setup:
* gh
-->
# Flake analysis instructions
*Rules*
You should not modify ANY files - you are only to provide an analysis of why the specific check is flaking.
You s.agents/skills/updating-android-sdk/SKILL.mdTool: unspecified---
name: updating-android-sdk
description: Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using create_cipd_packages.sh across macOS, Linux, and Windows. Use whenever a user wants to pick up a new version of Android or upload Android SDK packages to CIPD.
---
# Updating Flutter Android SDK and CIPD Packages
This skill guides the agent step-by-step through configuring new An.agents/skills/shepherd-prs/SKILL.mdTool: unspecified---
name: shepherd-prs
description: >
Automate shepherding, checking status, updating branches, and landing open PRs or approved third-party contributor PRs in the flutter/flutter repository using the gh CLI.
When to use:
- When you need to check the status of open PRs or shepherded third-party PRs.
- When you need to update stale branches or apply the 'autosubmit' label to land approved PRs.
When not to use:
- Do not use for PRs that are not approved (unless they are your own and you want to .agents/skills/run-devicelab-with-led/SKILL.mdTool: unspecified---
name: run-devicelab-with-led
description: Run DeviceLab tests for Flutter PRs using LUCI's `led` CLI tool. Use when asked to run, launch, try, or deflake a post-submit or devicelab test against a PR using `led`.
---
<!--
Host assumptions:
Installed and on path:
* led (from depot_tools)
* git
* gh
Had authentication setup:
* led
* gh
* gcert / glogin (SSO auth required for recipes repository git operations)
-->
# Running DeviceLab Tests with `led`.agents/skills/upgrade-browser/SKILL.mdTool: unspecified---
name: upgrade-browser
description: Upgrade browser versions (Chrome or Firefox) in the Flutter Web Engine and/or Framework tests. Use when asked to roll or upgrade Chrome or Firefox to a newer version.
---
# Upgrade Browser
This skill automates the process of upgrading Chrome and Firefox versions in the Flutter Web Engine and the Framework tests.
## Workflow
### 1. Identify and Verify the New Version
Before updating any files, find and verify the existence of the version you want to use.
- **To fi.agents/skills/flutter-pr-checks-finder/SKILL.mdTool: unspecified---
name: flutter-pr-checks-finder
description: Find failing checks on a Flutter PR and locate the corresponding LUCI log URLs.
---
# Flutter PR Checks Finder
## Prerequisites
- `gh` (GitHub CLI) must be installed and authenticated. If not in your PATH, check common locations like `/opt/homebrew/bin/gh` on macOS or `C:\Program Files\GitHub CLI\gh.exe` on Windows.
- Access to `curl` or similar tool to fetch raw logs from LUCI.
## Workflow
### 1. Find Failing Checks
You can use the `gh` CLI if it's inst.agents/skills/dart-log-failure-parser/SKILL.mdTool: unspecified---
name: dart-log-failure-parser
description: Parse failures from Dart and Flutter test logs.
---
# Dart Log Failure Parser
## Workflow
### 1. Analyze Raw Log Output
Analyze the raw log output for failure details. Do not skim the output; check the entire log. **The description of findings should include specific details for the failures (e.g., unformatted files, specific test names), not just the top-level command that failed.**
### 2. Look for Failure Patterns
#### Pattern A: Error Blocks (e.g., Lin.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.claudeTool: claude-codeengine/src/flutter/impeller/GEMINI.mdTool: gemini# Impeller
This directory contains Flutter's graphics renderer, Impeller.
## Development operations
### Unit testing
Running all unit tests can take over 10 minutes. It's best to run a subset of
tests while developing, then verify all tests at the end.
#### Building and running unit-tests
```shell
../bin/et build -c host_debug_unopt_arm64 \
//flutter/impeller:impeller_unittests
../../out/host_debug_unopt_arm64/impeller_unittests
```
#### Running a specific unit test
```shell
../../out/host_debug_udev/a11y_assessments/GEMINI.mdTool: geminiThis directory contains the source code for a test app used to test widget accessibility.
The directory structure is as follows:
* lib/use_cases contains widgets implementing specific use-cases that the team
has decided to be important to test.
* lib/use_cases/use_cases.dart provides a basic framework for use-cases, and a
list of use-cases included in the app.
* lib/common contains code shared by multiple use-cases.
engine/src/flutter/lib/web_ui/GEMINI.mdTool: gemini# Customizing the Flutter Web Engine
This document describes how to build the engine and run tests for the Flutter Web Engine using the `felt` tool.
## `felt`: Flutter Engine Local Tester
`felt` is a command-line tool for building and testing the Flutter web engine. To use it, you need to add `FLUTTER_ROOT/engine/src/flutter/lib/web_ui/dev` to your `PATH`.
Before building the engine, ensure your dependencies are up to date by running the following command from the root of your Flutter checkout:
```bashengine/src/flutter/tools/licenses_cpp/GEMINI.mdTool: gemini# Licenses_cpp
A tool run during ci to collect and verify source code's licenses.
## Targets
- `//flutter/tools/licenses_cpp` - the license checker (best run with a profile
config)
- `//flutter/tools/licenses_cpp:licenses_cpp_testrunner` - the tests
## Directories
- `data/` - data files for licenses_cpp, contains things like regexs
- `src/` - source code
## Build and run tests
```sh
../../bin/et build --no-rbe -c host_debug_unopt_arm64 //flutter/tools/licenses_cpp:licenses_cpp_testrunner
../../../oengine/src/flutter/GEMINI.mdTool: gemini# Flutter Engine
This project contains the engine for Flutter. GN is used as the build system
and there are many targets. The engine is built for the local ("host") platform
but also built for the the target platform (ex. iOS or Android).
The tool at `./bin/et` is used as a wrapper around GN and ninja to easily build
targets. The results are placed in "../out/\<config name\>". Build config names
describe the target platform, but also codify the optimization level and the
target architecture. For example, .geminiTool: gemini.geminiTool: geminiengine/src/flutter/.geminiTool: gemininone