update-precommit

Use when user wants to update .pre-commit-config.yaml hooks to their latest versions from GitHub

Best use case

update-precommit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when user wants to update .pre-commit-config.yaml hooks to their latest versions from GitHub

Teams using update-precommit should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/update-precommit/SKILL.md --create-dirs "https://raw.githubusercontent.com/reidemeister94/development-skills/main/skills/update-precommit/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/update-precommit/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How update-precommit Compares

Feature / Agentupdate-precommitStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when user wants to update .pre-commit-config.yaml hooks to their latest versions from GitHub

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Update Pre-commit Hooks

Updates `.pre-commit-config.yaml` with latest hook versions from GitHub while preserving the existing tag format.

## How It Works

For each repo entry in `.pre-commit-config.yaml`:

1. **Extract the GitHub repo URL and current `rev` tag**
2. **Query GitHub API** for the latest release/tag
3. **Update `rev`** to the latest tag, preserving the prefix format (e.g., `v` prefix)

## Execution Steps

1. Read `.pre-commit-config.yaml` from the current project root
2. For each `repo:` entry:
   - Skip `local` repos or non-GitHub URLs
   - Parse the repo URL to get `owner/repo`
   - Fetch the latest tag via GitHub API: `https://api.github.com/repos/{owner}/{repo}/releases/latest` → extract `tag_name`
   - If `gh` CLI is available, prefer: `gh api repos/{owner}/{repo}/releases/latest --jq .tag_name`
   - If no release exists, fall back to tags endpoint: `https://api.github.com/repos/{owner}/{repo}/tags` → first entry's `name`
   - Compare current `rev` with latest tag
3. Show diff of proposed changes
4. Apply changes after user confirmation

## Tag Format Rules

Preserve the existing tag format:
- If current rev is `v4.6.0` and latest is `v5.0.0` → use `v5.0.0`
- If current rev is `'v0.9.3'` (quoted) and latest is `v0.10.0` → use `'v0.10.0'` (preserve quotes)

## Skip These Entries

- `repo: local` (local hooks)
- Non-GitHub URLs
- `repo: meta`

## Example Output

```
Checking .pre-commit-config.yaml for updates...

Repo                                        Current      Latest       Status
pre-commit/pre-commit-hooks                 v5.0.0       v5.0.0       OK
commitizen-tools/commitizen                 v4.8.0       v4.10.1      UPDATE → v4.10.1
charliermarsh/ruff-pre-commit               v0.11.0      v0.14.10     UPDATE → v0.14.10

Apply updates? [y/N]
```

Related Skills

update-reqs

8
from reidemeister94/development-skills

Use when user wants to update requirements.in with latest PyPI versions while preserving version patterns

update-reqs-dev

8
from reidemeister94/development-skills

Use when user wants to update requirements-dev.in with latest PyPI versions while preserving version patterns

using-development-skills

8
from reidemeister94/development-skills

Use when starting any conversation - establishes how the development-skills plugin works and how to invoke its components on each platform (Claude Code, Codex). Read first.

typescript-dev

8
from reidemeister94/development-skills

TypeScript development. Use for TypeScript, Node.js, Express, Fastify, Zod, vitest, jest. Backend, CLI, libraries only — no frontend frameworks.

swift-dev

8
from reidemeister94/development-skills

Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.

staff-review

8
from reidemeister94/development-skills

Use when user wants a code review, deep code review, or staff-level code review of a local branch, repo, directory, or file. Use when user says code review, deep code review, review this branch, review the branch X, review my code, staff review, review locally, or /staff-review.

roast-my-code

8
from reidemeister94/development-skills

Use when user wants a brutally honest code roast, quality critique, or AI-readiness audit. Use when user says roast, roast my code, critique my code, tear apart my code, review quality, or AI-readiness check. Supports --fix flag to auto-fix CRITICAL and HIGH issues via core-dev workflow.

resolve-merge

8
from reidemeister94/development-skills

Use when the user asks to resolve merge conflicts, fix a failed merge, rebase conflict, or run /resolve-merge. Use when git status shows UU/AA/DD conflicts, when there are <<<<<<< conflict markers, when git merge or git pull failed with CONFLICT, or when numbered docs/plans need renumbering after merge. Triggers on: merge conflict, conflict markers, both modified, git merge failed, rebase conflict, resolve conflicts.

python-dev

8
from reidemeister94/development-skills

Python development. Use for Python, FastAPI, Pydantic, asyncpg, pytest, pandas, SQLAlchemy.

produce-feedback

8
from reidemeister94/development-skills

Use when user wants to produce a factual chronicle of development-skills plugin interactions in the current conversation for later ingestion, or runs /produce-feedback. Pure record, no judgment.

java-dev

8
from reidemeister94/development-skills

Java development. Use for Java, Spring Boot, Maven, Gradle, JPA, Hibernate.

ingest-feedback

8
from reidemeister94/development-skills

Use when user wants to ingest a development-skills feedback report and apply fixes, or runs /ingest-feedback. Challenges every suggestion against the Iron Rules before accepting; most friction points should SKIP. Expect a report path as argument.