google/crosvm-cl-tool
Skill to assist with using the `./tools/cl` tool for managing and uploading Gerrit CLs in the crosvm repository.
npx skills add https://github.com/google/crosvm --skill crosvm-cl-tool
./tools/cl)The ./tools/cl script is a custom tool in the crosvm repository used to manage local branches
and upload changes to the upstream Gerrit review site (https://chromium-review.googlesource.com).
It wraps git push with the correct Gerrit refs and options, and helps rebase changes when tracking
downstream branches.
To use this tool, you must be on a local branch that tracks a remote branch (typically
origin/main). You can set this up when creating a branch:
git checkout -b mybranch --track origin/main
If you are already on a branch, you can set the upstream manually:
git branch --set-upstream-to origin/main
statusLists all local branches, their tracking status, and the status of their local commits on Gerrit
(e.g., MERGED, ABANDONED, NEW, NOT_UPLOADED).
./tools/cl status
uploadUploads local commits on the current branch to Gerrit.
./tools/cl upload [options]
Options:
-d, --dry-run: Show the push command that would be run without actually executing it.-r, --reviewer <email>: Add a reviewer. Can be repeated to add multiple reviewers.-a, --auto-submit: Set Auto-Submit+1 and Commit-Queue+1 labels on Gerrit.-s, --submit: Set Commit-Queue+2 (trigger immediate submit after approval).-t, --try: Set Commit-Queue+1 (trigger try jobs / dry run).rebaseHelps rebase changes if you are tracking a different branch (e.g., aosp/main or cros/chromeos)
and want to upload to upstream origin/main.
It creates a new branch named <current-branch>-upstream tracking origin/main and cherry-picks
your local commits onto it.
./tools/cl rebase
Rebase Workflow:
./tools/cl rebase
# Resolve conflicts in files...
git add <resolved-files>
git cherry-pick --continue
-upstream branch: ./tools/cl upload
pruneCleans up your local repository by deleting local branches whose changes have already been merged or
abandoned on Gerrit.
./tools/cl prune [options]
Options:
-f, --force: Force delete the branches without prompting for confirmation.Take google/crosvm-cl-tool from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.