Agent skill

Run Presubmit Checks

by pigweed-project in pigweed-project/pigweed

Run presubmit checks on each commit in a stack, automatically fixing any issues.

Apache-2.0Auto-check passedDevelopment

Install Run Presubmit Checks

skills CLI
$ npx skills add pigweed-project/pigweed --skill run-presubmit-checks -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pigweed-project/pigweed run-presubmit-checks --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/run_presubmit_checks .claude/skills/run-presubmit-checks && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
run-presubmit-checks
GitHub stars
548
Token cost
~981 tokens
SKILL.md length
538 words
Files
2
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run presubmit checks on each commit in a stack, automatically fixing any issues.

  • Works in 4 steps: Identify the failure: Look at the output… → Fix the issues: Manually fix the issues,… → Stage and Amend: You MUST amend the… → …
  • Development work in your project
  • SKILL.md covers Overview and Usage
  • Calls git and gh

What it does

Run Presubmit Checks is an agent skill from pigweed-project/pigweed. Run presubmit checks on each commit in a stack, automatically fixing any issues. This prepares a stack of commits for submission to Gerrit.

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `TEST.md`).

It sits in Development. It works with Git. The repository describes itself as: Modern software development for embedded systems. The licence is Apache-2.0.

When your agent uses it

  • Development work in your project

Example prompts

  • “/run-presubmit-checks”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Identify the failure: Look at the output to see which step failed and why.
  2. Fix the issues: Manually fix the issues, if feasible. Stop and ask the user for input before proceeding if you encounter any of the…
  3. Stage and Amend: You MUST amend the commit with your fixes before resuming. The script requires a clean working tree.
  4. Resume: Run the presubmit command again with the --resume flag and the path to the saved state file.

What it can do on your machine

Read from SKILL.md and the folder at commit 6f775b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run Presubmit Checks loads about 981 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 538 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~981

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pigweed-project/pigweed at commit 6f775b5, republished under its Apache-2.0 licence (© pigweed-project). 538 words, ~981 tokens.

Download SKILL.mdSave it as .claude/skills/run-presubmit-checks/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
run-presubmit-checks
description
Run presubmit checks on each commit in a stack, automatically fixing any issues. This prepares a stack of commits for submission to Gerrit.

Presubmit Stack Fix Skill

This skill describes how to use Pigweed's presubmit script in auto mode to automatically run checks, apply fixes, and continue a rebase across a stack of commits (CLs).

Overview

The auto mode in pw_presubmit streamlines the process of fixing presubmit issues across multiple commits. It starts an interactive rebase and runs checks on each commit. If a check fails but has an automatic fix, it applies the fix and amends the commit. If a check fails and cannot be fixed automatically, it stops and allows the user to fix it manually before resuming.

Usage

Prepare for Presubmit
  • Ensure the working tree is clean before starting auto mode. If it is not clean, abort and tell the user to clean the working tree before starting.
  • Run git rev-parse HEAD to get the current commit hash (referred to as <COMMIT>).
  • Message the user to explain what will happen and warn them that it will change their branch (by amending commits).
  • Provide the user with the command to fully undo the changes: git rebase --abort; git reset <COMMIT> --hard.
  • Example message to the user:

    I am starting an interactive rebase at <COMMIT>. This will run presubmit checks on each commit in your stack. If a check fails but has an automatic fix, it will apply the fix and amend your commit. This will change your branch history.

    If you need to abort and fully restore your branch to its original state, you can run: git rebase --abort; git reset <COMMIT> --hard

Running Presubmit in Auto Mode

To run presubmit in auto mode on a stack of commits, use the following command:

console
$ ./pw presubmit --mode auto --ui minimal --program full --base <BASE>

Replace <BASE> with the base commit of the stack (e.g., origin/main or a specific commit hash).

Interacting with the Script
  • Automatic Fixes: The script automatically applies fixes for checks that support them (e.g., formatting, copyright notice) and amends the current commit.
  • Failures: If a check fails and cannot be automatically fixed, the script stops the rebase at the failing commit and saves its state. It outputs a message indicating failure and provide a path to a resume file (e.g., resume.json).
Show full SKILL.md (186 more words)Show less
Workflow for Failures

When the script fails on a commit:

  1. Identify the failure: Look at the output to see which step failed and why.

  2. Fix the issues: Manually fix the issues, if feasible. Stop and ask the user for input before proceeding if you encounter any of the following:

    • Merge conflicts during the rebase that you are unsure how to resolve.
    • Presubmit failures that require significant design changes or user input.
    • The script failing repeatedly on the same commit after manual fixes.
    • Issues that would require changing files unrelated to the current commit to fix.
  3. Stage and Amend: You MUST amend the commit with your fixes before resuming. The script requires a clean working tree.

    console
    $ git add <fixed_files>
    $ git commit --amend --no-edit
  4. Resume: Run the presubmit command again with the --resume flag and the path to the saved state file.

    console
    $ ./pw presubmit --resume /tmp/pw_presubmit_auto_XXXXXX/resume.json

    Replace /tmp/pw_presubmit_auto_XXXXXX/resume.json with the path provided in the failure message.

Uploading the Verified Stack to Gerrit (./gh)

Once ./pw presubmit --mode auto succeeds across all commits in the stack, upload the stack to Gerrit using ./gh:

console
# Update existing Gerrit CLs in the stack:
$ ./gh pr push --stack --cq

# Create new Gerrit CLs for the stack:
$ ./gh pr create --stack --cq

© pigweed-project, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/run_presubmit_checks of pigweed-project/pigweed.

  • SKILL.md
  • TEST.md

Open the folder on GitHubat commit 6f775b5

Compare with similar skills

Run Presubmit Checks next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Run Presubmit Checks compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Presubmit Checks this skillpigweed-project/pigweed548—~981Automated safety check: PassApache-2.0
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Finishing A Development Branchfarm-fe/farm5.6k35 repos~1.8kAutomated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost56k—~3.8kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…

    5.6k GitHub starsUsed in 35 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    56k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed

More from pigweed-project/pigweed

All 10 skills in this repo
  • Oncall

    pigweed-project/pigweed

    Pigweed oncall rotation runbooks and maintenance workflows (such as rolling CIPD client tools for b/315378787).

    548 GitHub stars~963 tokensUpdated today
    Auto-check passed
  • Crank

    pigweed-project/pigweed

    Autonomous "take the next step" workflow orchestrator for Pigweed.

    548 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Docs

    pigweed-project/pigweed

    A skill your agent uses for ALL documentation-related workflows: rst style guide, changelog updates, C/C++ API reference (Doxygen)

    548 GitHub stars~804 tokensUpdated today
    Auto-check passed
  • Freshen

    pigweed-project/pigweed

    Safely rebase or fast-forward the active Pigweed worktree onto its target branch (origin/main), resolve Pigweed dual-build and code conflicts, preserve Gerrit Change-Id footers, and verify local…

    548 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Manual CLI Test

    pigweed-project/pigweed

    Interactively "taste the CLI" and "kick the tires" on any CLI tool or subcommand (/manual-cli-test, /agent-cli-kick-tires).

    548 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Respond

    pigweed-project/pigweed

    Address Gerrit review comments and private author drafts on a Pigweed CL with calibrated engineering judgment—implementing valid fixes, answering questions, or pushing back respectfully with…

    548 GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Run Presubmit Checks

What does Run Presubmit Checks do?

Run presubmit checks on each commit in a stack, automatically fixing any issues. Run Presubmit Checks is an agent skill from pigweed-project/pigweed. Run presubmit checks on each commit in a stack, automatically fixing any issues.

When should I use Run Presubmit Checks?

Run Presubmit Checks fits situations like: development work in your project.

How do I install Run Presubmit Checks in Claude Code?

Run `npx skills add pigweed-project/pigweed --skill run-presubmit-checks -a claude-code`. Or copy the skill folder (.agents/skills/run_presubmit_checks in pigweed-project/pigweed) into .claude/skills/run-presubmit-checks in your project. Claude Code loads it when a task matches its description.

How do I install Run Presubmit Checks in Codex?

Run `npx skills add pigweed-project/pigweed --skill run-presubmit-checks -a codex`. Or copy the skill folder (.agents/skills/run_presubmit_checks in pigweed-project/pigweed) into .agents/skills/run-presubmit-checks in your project. Codex loads it when a task matches its description.

Can I use Run Presubmit Checks in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pigweed-project/pigweed --skill run-presubmit-checks -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-presubmit-checks, .gemini/skills/run-presubmit-checks, .github/skills/run-presubmit-checks and .opencode/skills/run-presubmit-checks in your project.

What does Run Presubmit Checks need to run?

Going by SKILL.md and its folder, Run Presubmit Checks needs the command-line tools its instructions call (git and gh).

Does Run Presubmit Checks access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Run Presubmit Checks safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Run Presubmit Checks use?

Run Presubmit Checks is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run Presubmit Checks use?

About 981 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Presubmit Checks?

Skills that share tags, products or a category with Run Presubmit Checks: Finishing a Development Branch (obra/superpowers, 297k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Finishing A Development Branch (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Presubmit Checks?

pigweed-project (a GitHub organization) maintains it in pigweed-project/pigweed, which has 548 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 11, 2026.

Source: pigweed-project/pigweed on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.