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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/update-precommit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How update-precommit Compares
| Feature / Agent | update-precommit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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
Use when user wants to update requirements.in with latest PyPI versions while preserving version patterns
update-reqs-dev
Use when user wants to update requirements-dev.in with latest PyPI versions while preserving version patterns
using-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
TypeScript development. Use for TypeScript, Node.js, Express, Fastify, Zod, vitest, jest. Backend, CLI, libraries only — no frontend frameworks.
swift-dev
Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.
staff-review
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
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
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
Python development. Use for Python, FastAPI, Pydantic, asyncpg, pytest, pandas, SQLAlchemy.
produce-feedback
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
Java development. Use for Java, Spring Boot, Maven, Gradle, JPA, Hibernate.
ingest-feedback
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.