원클릭으로
flutter-pr-checks-finder
Find failing checks on a Flutter PR and locate the corresponding LUCI log URLs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Find failing checks on a Flutter PR and locate the corresponding LUCI log URLs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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 check status). - Do not use for repositories other than flutter/flutter.
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.
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.
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.
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.
Rebuilds the Flutter tool and CLI. Use when a user asks to compile, update, regenerate, or rebuild the Flutter tool or CLI.
| name | flutter-pr-checks-finder |
| description | Find failing checks on a Flutter PR and locate the corresponding LUCI log URLs. |
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.curl or similar tool to fetch raw logs from LUCI.You can use the gh CLI if it's installed and authenticated, or use direct HTTP requests to the GitHub API as a fallback.
gh CLI (Preferred)Run the following command to list checks:
gh pr checks <PR_NUMBER>
If gh is not available, you can use read_url_content or a similar method to interact with the public GitHub API:
https://api.github.com/repos/flutter/flutter/pulls/<PR_NUMBER>
Extract the head.sha field.https://api.github.com/repos/flutter/flutter/commits/<PR_SHA>/check-runs
Parse the JSON response. CRITICAL: You must handle pagination to avoid missing failures! Check the total_count field. If it is greater than the number of items in the check_runs array (typically capped at 100 or what you set with per_page), make additional HTTP requests by appending ?per_page=100&page=<N> to the URL for each subsequent page until all check runs are fetched. Identify all checks that have failed (i.e., where conclusion is failure).Identify all checks that have failed.
For each failing check:
Find the Log URL:
flutter-dashboard link typically appears as "View more details on flutter-dashboard" at the bottom of the check view on GitHub.https://ci.chromium.org/ui/p/flutter/builders/try/<Builder Name>/<Build Number>/overviewBuild Raw Log URL:
?format=raw to the log URL or by following the pattern: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/<Build ID>/+/u/<Step Name>/stdout?format=rawFetch Raw Logs:
curl or similar tool to fetch the content of the raw log URL.[!NOTE] Step names can be very specific and hard to guess. This section documents patterns to help find them.
flutter_drone Recipe
analyze, test_general) as specified in .ci.yaml (root).run test.dart for <shard> shard and subshard <subshard>subshard is not specified, it defaults to None.Linux analyze (shard: analyze, no subshard), the URL step name is run_test.dart_for_analyze_shard_and_subshard_None.builder.py & Related Recipes
flutter/engine repository (or recipes repository) and used to execute builds and tests according to target JSON configurations in the builders folder directory.test: .test: in the JSON file, the recipe might still add the prefix again (e.g., test:_test:_Check_formatting).tester.py
Run <shard> tests or Run <shard> <subshard> tests.If guessing fails, find the exact test and task names in the engine configuration:
config_name property.tests array and the specific tasks listed within them.If read_url_content fails with 404 on guessed step names, you may need to find the step name from the LUCI overview page or other sources.