mcpbeat

Crosvm Cl Tool

google/crosvm-cl-tool

Skill to assist with using the `./tools/cl` tool for managing and uploading Gerrit CLs in the crosvm repository.

646 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1270
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google/crosvm --skill crosvm-cl-tool

The instruction itself

7 sections, as written by the author

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.

Prerequisites

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

Subcommands

1. status

Lists 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

2. upload

Uploads 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).

3. rebase

Helps 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:

  • Run the rebase command:
   ./tools/cl rebase
  • If there are conflicts, resolve them manually:
   # Resolve conflicts in files...
   git add <resolved-files>
   git cherry-pick --continue
  • Once the rebase/cherry-pick is complete, upload from the new -upstream branch:
   ./tools/cl upload

4. prune

Cleans 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.

How to use it

Copy the folder

Take google/crosvm-cl-tool from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.