agentleFS
Sign inSign up

pre-push-review

pydantic/pydantic-ai/.claude/skills/pre-push-review/SKILL.md

Run a high-judgment local review of the current branch before pushing, both before a

Skill20k starsChanged 8 days ago
---
description: Run a high-judgment local review of the current branch before pushing, both before a
  PR exists and between PR iterations
allowed-tools:
  - Read
  - Glob
  - Grep
  - Bash(gh issue view:*)
  - Bash(gh pr view:*)
  - Bash(git diff:*)
  - Bash(git log:*)
  - Bash(git merge-base:*)
  - Bash(git status:*)
  - Bash(git rev-parse:*)
  - WebSearch
  - WebFetch
---

# Pre-push Review

Use the strongest locally available reviewer to catch problems while they are still cheap
to fix. Run this before the first push and again before every later push to an existing PR.

This is the local counterpart to `douwebot`: a high-judgment standards review paid for by
the developer's model subscription. It is independent of the automatic `CI Review`, which
runs on GitHub after CI passes.

## Read the review rubric

Read the `prompt:` of the `douwebot` review job in `.github/workflows/bots.yml`. It is the
source of truth for what to look for, how to prioritise concerns, and what makes feedback
useful. Apply its review judgment and comment-quality rules, but ignore its hosted workflow
mechanics: triggers, checkout, model selection, pre-gathered file paths, and GitHub comment
tools.

Read the root `AGENTS.md`, `agent_docs/index.md` and its relevant topic guides, plus every
directory-specific `AGENTS.md` governing a changed file.

## Gather local and PR context

First run `gh pr view` for the current branch.

- **If a PR exists**, read its title, body, base branch, linked issue, comments and reviews.
  Review the entire branch diff against that base, not just the latest commit. Use the
  existing discussion to avoid duplicate findings and to detect concerns that remain
  unresolved after an iteration.
- **If no PR exists**, use `main` as the base and review against the task context available
  locally. Skip only PR metadata that does not exist; scope and readiness are still valid
  review concerns.

Gather the corresponding local state:

```bash
git status --short
git merge-base <base> HEAD
git diff <base>...HEAD --stat
git diff <base>...HEAD -W
git diff HEAD
```

The last command includes staged and unstaged work that has not reached `HEAD`. Read a large
diff in chunks, core implementation before tests, and skip generated files (`uv.lock`,
cassettes).

## Return the review locally

Do not post comments, submit a GitHub review, or modify the branch. Return only actionable
findings as text: `file:line`, the problem, and the concrete fix. Put higher-level concerns
before lower-level ones, following the ordering in the `douwebot` rubric. Say plainly when
there are no findings.

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.