一键导入
gerrit-stacked-cls
Best practices for managing stacked changelists (CLs) in Gerrit using depot_tools, avoiding common pitfalls with Change-Ids.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Best practices for managing stacked changelists (CLs) in Gerrit using depot_tools, avoiding common pitfalls with Change-Ids.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | gerrit-stacked-cls |
| description | Best practices for managing stacked changelists (CLs) in Gerrit using depot_tools, avoiding common pitfalls with Change-Ids. |
| key_features | ["Stacked CLs","Gerrit","depot_tools","Change-Ids"] |
Use this skill when you need to create, update, or manage a chain of dependent changelists (CLs) in Gerrit (stacked CLs) for the Dart SDK or similar repositories using Chromium's depot_tools.
git new-branch branch1
# Make changes
git commit -m "First change"
git cl upload
branch1.
git checkout branch1
git new-branch branch2
# Make dependent changes
git commit -m "Second change"
git cl upload
Gerrit will automatically create a relation chain.To update a specific CL without confusing Gerrit, you must ensure that the commit you push has the correct Change-Id and that it is the last Change-Id in the commit message if multiple are present (though ideally, keep only one).
If allowed to amend, this is the cleanest way:
git commit --amend. Keep the original Change-Id line intact!git cl upload.If forbidden from amending active PRs:
Change-Id of the CL you want to update. If multiple Change-Id: lines are present, Gerrit will typically use the last one!When rebasing a dependent branch (e.g., branch2) on top of an updated base branch (branch1), conflicts may arise in generated files (like .wat files).
git rebase --continue).ir_test.dart -w).Change-Id: lines. Gerrit reads them and usually routes the update to the CL corresponding to the last Change-Id in the message. Always clean up commit messages to have exactly one target Change-Id.git commit --amend --no-edit to update the committer timestamp and generate a new commit hash.Autonomous pull request review loop that pushes code, polls for AI/bot review comments (e.g., Gemini Code Assist), surgically remediates feedback, commits, pushes, comments `/gemini review`, and loops until zero feedback remains. Requires the `github-pr-triage` skill.
Triage open PR comments/reviews and associated CI/CD workflow failures using the `triage.dart` helper script and formulate an actionable plan.
Intake multi-step tasks by clarifying ambiguities, summarizing understanding, and confirming readiness via ask_question before executing code changes.
Analyzes unstructured artifacts (proposals, design docs, issues, notes) to identify gaps, contradictions, and implicit assumptions, and interviews the user via a structured quiz to distill a definitive strategy and trade-off matrix. Use when resolving competing architectural proposals, clarifying ambiguous project goals, identifying blind spots in early design documents, or synthesizing consensus from fragmented team notes. Don't use for simple text summarization without strategic synthesis, writing code solutions directly, or managing task lists without strategic decision-making.
Apply the "Encapsulated Method Object" refactoring pattern to simplify functions with deeply nested scopes, bloated closures, and heavy shared local state.
Use gob-curl and Buildbucket tools to inspect the status, tryjobs, and CI results of a Gerrit CL.