React Router Release Notes Prep
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
Ensures every commit in a series is what it claims to be — a working, gate-passing snapshot in isolation, not just a slice of a working directory that happened to pass while other changes sat nearby.
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install irahardianto/awesome-agv git-commit-integrity --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/git-commit-integrity .claude/skills/git-commit-integrity && rm -rf skills-srcUse ~/.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/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .claude/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install irahardianto/awesome-agv git-commit-integrity --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/git-commit-integrity .agents/skills/git-commit-integrity && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .agents/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install irahardianto/awesome-agv git-commit-integrity --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/git-commit-integrity .cursor/skills/git-commit-integrity && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .cursor/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/irahardianto/awesome-agv.git --path .agents/skills/git-commit-integrity--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install irahardianto/awesome-agv git-commit-integrity --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/git-commit-integrity .gemini/skills/git-commit-integrity && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .gemini/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install irahardianto/awesome-agv git-commit-integrityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/git-commit-integrity .github/skills/git-commit-integrity && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .github/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install irahardianto/awesome-agv git-commit-integrity --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/git-commit-integrity .opencode/skills/git-commit-integrity && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "git-commit-integrity" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/git-commit-integrity into .opencode/skills/git-commit-integrity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-commit-integrity", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
git-commit-integrityEnsures every commit in a series is what it claims to be — a working, gate-passing snapshot in isolation, not just a slice of a working directory that happened to pass while other changes sat nearby.
Git Commit Integrity is an agent skill from irahardianto/awesome-agv. Ensures every commit in a series is what it claims to be — a working, gate-passing snapshot in isolation, not just a slice of a working directory that happened to pass while other changes sat nearby. Covers verifying commit history after the fact, designing pre-commit hooks that check the commit rather than the working tree, and splitting an already-finished diff into multiple logical commits safely. Tech-stack agnostic; applies whether or not the project has a pre-commit hook. Use whenever constructing…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Commit messages. It works with Git. The repository describes itself as: Comprehensive sets of standards and practices designed to elevate the capabilities of AI coding agents. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9e997ba. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitgoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Git Commit Integrity loads about 2.6k tokens when it runs. Until then it costs about 167 tokens; SKILL.md has 1,374 words of instructions outside code blocks.
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.
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.
The full file from irahardianto/awesome-agv at commit 9e997ba, republished under its MIT licence (© irahardianto). 1,374 words, ~2,561 tokens.
.claude/skills/git-commit-integrity/SKILL.md (or your agent's skills folder).A commit records a tree snapshot. Nothing about git commit — or a hook that
runs during it — guarantees that snapshot builds, lints, or tests cleanly
on its own. The only thing most tooling actually checks is "does the
working directory look okay right now", and those two questions are the same
only in the ordinary one-change-at-a-time workflow. They diverge the moment
more than one commit's worth of work exists in the working tree at once —
which is exactly the situation whenever a large, already-finished diff is
being organized into multiple readable commits after the fact.
This skill exists because that divergence is easy to miss: every gate can report green and the resulting history can still contain commits that don't build if checked out alone.
Compilers, linters, and test runners (cargo, go build, pytest, tsc,
eslint, rspec, ...) read the filesystem. None of them know git's
index exists. A tool invoked mid-commit checks whatever is on disk at that
moment — staged changes, unstaged changes, and untracked files, all mixed
together indiscriminately. git status/git diff --cached can tell you what
will be committed; it takes a deliberate extra step to make what a tool
checks match that.
Two consequences follow directly:
Whenever a commit series is claimed finished, verify it — don't trust that the hook (if any) already did, unless you've confirmed it isolates (Pattern 2). Two techniques, in order of preference:
A. Isolated worktree replay (most reliable, works for any range):
git worktree add --detach /tmp/verify-wt <first-sha>
cd /tmp/verify-wt
for sha in <sha1> <sha2> <sha3> ...; do
git checkout --quiet "$sha"
<build-command> # e.g. cargo check --workspace --all-targets, go build ./..., npm run build
<test-command> # if fast enough to run per commit
done
cd - && git worktree remove --force /tmp/verify-wtReport the actual pass/fail per commit — don't summarize as "all good" without having run this. If some commits fail in isolation, say so plainly; whether that's acceptable depends on whether the series needs to be bisectable (ask, don't assume).
B. git rebase --exec (fast, but stops at the first failure and needs a
willingness to rewrite history to fix):
git rebase -i --exec '<build-command> && <test-command>' <base-sha>Good for enforcing the guarantee going forward once every commit is fixed up; less good for a first-pass audit since it halts at the first broken commit rather than reporting the full picture.
Neither technique is language-specific — substitute whatever the project's real build/lint/test invocation is.
If a project wants a hook to enforce "every commit builds," the hook must put the working tree into the state the commit will actually produce before running anything that reads the filesystem. There are two categories of gate:
Index-native checks — no isolation needed. These read staged blobs directly and are naturally correct regardless of what else is unstaged:
git diff --cached (content/whitespace/conflict-marker scans)git grep --cached (pattern scans across staged content)git cat-file -s :<path> (staged blob size)git diff --cached --name-only (which files are actually part of this commit)Filesystem-native checks — need isolation. Anything that shells out to a
real toolchain has no concept of "staged": cargo/go/pytest/tsc/
eslint/rubocop/golangci-lint/semgrep, and any full-codebase grep
over the source tree rather than over git grep --cached.
The isolation algorithm (verified against a reproducible bug in the naive alternative — see Anti-Pattern below):
git diff-index --binary -r --no-color <tree-from-git-write-tree>.git checkout-index -f -- <paths-from-diff-index-name-only>.git ls-files --others --exclude-standard for the list).trap ... EXIT, not just at the happy
path's end): git apply the saved patch back, move untracked files back,
clean up temp files.This works identically regardless of language — the isolation step operates on git plumbing, not on the project's build tool.
Design checklist for the rest of the hook, independent of language:
git rebase --exec in a CI step) is the only mechanism
that catches history-construction mistakes a local hook's working-tree
isolation might still miss (e.g. isolation itself disabled via an escape
hatch, or the hook not installed on a contributor's machine). See the
ci-cd skill for wiring that up.When a large, complete change needs to become a readable series of commits (rather than one large commit):
git bisect).git commit --no-verify to skip a hook that's "probably fine to skip
this once." If a hook is wrong, fix the hook; if it's right, don't bypass
it.git stash --keep-index --include-untracked as an isolation mechanism.
Reproducible bug (confirmed on git 2.43): when a tracked file has both a
staged change and a further unstaged edit on top of it — ordinary partial
staging — popping the stash produces a spurious merge conflict, even
though the two changes don't overlap. This is the exact scenario the
isolation exists to support, so the failure mode defeats the purpose. Use
the diff/patch approach in Pattern 2 instead; it never invokes a 3-way
merge, so it has no conflict surface.© irahardianto, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/git-commit-integrity of irahardianto/awesome-agv.
Open the folder on GitHubat commit 9e997ba
Git Commit Integrity 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Git Commit Integrity this skillirahardianto/awesome-agv | 157 | — | ~2.6k | Automated safety check: Pass | MIT | |
| React Router Release Notes Prepremix-run/react-router | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| ToolJet Multi-Repo CommitToolJet/ToolJet | 41k | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT |
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
ToolJet/ToolJet
Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
saleor/saleor
Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.
irahardianto/awesome-agv
Commits to one bold aesthetic direction, sets up a CSS token system for it, then builds the interface in Vue or plain HTML using those tokens.
irahardianto/awesome-agv
Profile-driven performance optimization protocol. An agent skill from irahardianto/awesome-agv.
irahardianto/awesome-agv
Coding conventions for Angular 19 and later: standalone components, signals, OnPush change detection, lazy routes and where RxJS still belongs.
irahardianto/awesome-agv
Rules for designing CI/CD pipelines in layers: universal lint, test and scan stages, container builds with SBOM attestation, and GitOps for orchestrated deployments.
irahardianto/awesome-agv
Hono lightweight web framework patterns: type-safe route handlers, middleware composition, Zod validation, and RPC clients for Cloudflare Workers, Node, or Bun.
irahardianto/awesome-agv
Mobile E2E testing patterns — Flutter integrationtest, Patrol, Maestro, golden testing, device matrix, and test data management.
Works with
Categories
Ensures every commit in a series is what it claims to be — a working, gate-passing snapshot in isolation, not just a slice of a working directory that happened to pass while other changes sat nearby. Git Commit Integrity is an agent skill from irahardianto/awesome-agv. Ensures every commit in a series is what it claims to be — a working, gate-passing snapshot in isolation, not just a slice of a working directory that happened to pass while other changes sat nearby.
Git Commit Integrity fits situations like: constructing multi-commit history from a single body of work; writing a pre-commit hook; before telling a user this commit is clean.
Run `npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a claude-code`. Or copy the skill folder (.agents/skills/git-commit-integrity in irahardianto/awesome-agv) into .claude/skills/git-commit-integrity in your project. Claude Code loads it when a task matches its description.
Run `npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a codex`. Or copy the skill folder (.agents/skills/git-commit-integrity in irahardianto/awesome-agv) into .agents/skills/git-commit-integrity in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add irahardianto/awesome-agv --skill git-commit-integrity -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-commit-integrity, .gemini/skills/git-commit-integrity, .github/skills/git-commit-integrity and .opencode/skills/git-commit-integrity in your project.
Going by SKILL.md and its folder, Git Commit Integrity needs the command-line tools its instructions call (git and go).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Git Commit Integrity is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Git Commit Integrity: React Router Release Notes Prep (remix-run/react-router, 57k stars), ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars) and React Router Pull Request Creator (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
irahardianto (a GitHub user) maintains it in irahardianto/awesome-agv, which has 157 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 5, 2026.
Source: irahardianto/awesome-agv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.