kendex: Skill for Claude Code

.agents/skills/commit-guards/SKILL.md

commit-guards is a skill for Claude Code from vanillagreencom/kendex. It costs 30 tokens per session (5,503 once invoked), scanned C, original, MIT.

A skill for configuring and troubleshooting commit guards, which are checks that run around Git commits.

In plain words
What is it for?
It is for running checks on files, staged changes, or a branch, and installing or checking Git hooks.
Why use it?
It helps catch unwanted changes or formatting problems before they enter a commit or continuous integration (CI) check.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: mentions CLAUDE.md; installed under .agents/ (shared by several agents); mentions AGENTS.md.

This is vanillagreencom/kendex's own configuration. It tells Claude Code how to work on kendex itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything kendex configures →

Reuse

Borrowing it

Nothing to install: this file belongs to vanillagreencom/kendex. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/vanillagreencom/kendex/main/.agents/skills/commit-guards/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/vanillagreencom/kendex

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for commit-guards

README.md
[![agentmods](https://agentmods.dev/badge/skills/vanillagreencom/kendex/commit-guards/github.svg)](https://agentmods.dev/skills/vanillagreencom/kendex/commit-guards)
Your own site
<a href="https://agentmods.dev/skills/vanillagreencom/kendex/commit-guards"><img src="https://agentmods.dev/badge/skills/vanillagreencom/kendex/commit-guards/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for commit-guards

Your own site · 80×15
<a href="https://agentmods.dev/skills/vanillagreencom/kendex/commit-guards"><img src="https://agentmods.dev/badge/skills/vanillagreencom/kendex/commit-guards.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 30 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,503 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00030 $0.05503
Opus 5.5 $0.00012 $0.02201
Sonnet 5.5 $0.00006 $0.01101
Haiku 4.5 $0.00003 $0.00550

Measured 10d ago against content hash f742b07c434b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade C, and why

commit-guards scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

The scan reads SKILL.md. This mod also ships 22 executable files (scripts/lib/atomic-install.sh, scripts/lib/changelog-collate.sh, scripts/lib/changelog-grammar.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Hidden instructionshighPrompt injection

Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.

<!-- kendex:project-instructions:start -->
.agents/skills/commit-guards/SKILL.md · 143 lines

How it starts

The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Project Instructions

Problems with a kendex-owned skill go through kendex report; check ownership in the file first.

Commit Guards

.agents/skills/commit-guards/scripts/commit-guards                   # batch: every enabled check over the whole tree
.agents/skills/commit-guards/scripts/commit-guards all --staged      # the same batch at commit scope
.agents/skills/commit-guards/scripts/commit-guards all --base origin/main # the same batch over a branch's changes (CI)
.agents/skills/commit-guards/scripts/commit-guards todo-ban     # one check by name, flags pass through
.agents/skills/commit-guards/scripts/md-reflow PATH...          # rewrite markdown to the format md-format judges
.agents/skills/commit-guards/scripts/install-git-hooks          # arm the git pre-commit/commit-msg/pre-push shims
.agents/skills/commit-guards/scripts/install-git-hooks --check  # read-only: are the shims still armed?

The checks

Check Verdict
todo-ban Any work marker (TODO, FIXME, HACK, XXX in comment-marker shapes) in a tracked, non-excluded file fails. No baseline.
byte-ceiling Optional binary-size check. Add byte-ceiling to COMMIT_GUARDS_CHECKS to enable it. A new tracked binary file over the configured ceiling fails; an existing oversized binary file may hold or shrink but may not grow; text files and lockfiles are exempt.
suppression-ban Blanket lint suppressions fail; reasonless Rust dead or unused allows may only tighten against the baseline.
conflict-markers An unresolved merge-conflict marker in a tracked, non-excluded file fails; a render is not judged.
changelog-entries Each COMMIT_GUARDS_CHANGELOG_PATHS fragment is one Markdown list item in a Keep a Changelog section.
prose Optional audit of history references in Markdown named by COMMIT_GUARDS_PROSE_PATHS; excluded from the default chain.
md-format A hard-wrapped paragraph or list item, a missing blank line around a heading, fence or list, a trailing-double-space break, or a fence or block left open in Markdown named by COMMIT_GUARDS_MD_PATHS fails; a render is not judged; md-reflow is the remedy.
md-refs Dead references in consumer-authored citing files fail; lock-listed citing files warn unless --strict is set. Skipped sources are one count per reason on the summary line, with a path named only where a judged reference lands on it. A file the lane cannot read is named unjudged and fails nothing, except under --strict. COMMIT_GUARDS_MD_REFS_PATHS selects documents; COMMIT_GUARDS_MD_REFS_SOURCE_PATHS selects source comments and TOML strings for § citations. The supported forms are in CHECKS.md § md-refs.
py-names An undefined name or a syntax error in a Python file fails, judged by ruff or, where ruff is absent, pyflakes; neither usable while a Python file is selected is a gap notice, exit 0, except under a CI range or --all scan, which refuses. See CHECKS.md § py-names.
secrets A credential gitleaks' default rules match fails, named by path, line and rule id and never by value. Under a diff scope only a match on an added line counts, and a range judges each of its commits. It never runs at push. When a missing or too-old gitleaks passes at a gap notice and when it refuses: CHECKS.md § secrets.
comments A history reference in the comment text of a source file named by COMMIT_GUARDS_COMMENT_PATHS fails: an issue id (GH_ISSUE_PATTERN), #NNN, or a date. Optional audit; see CHECKS.md § comments.
commit-msg The header must be type(scope)!: subject within COMMIT_GUARDS_SUBJECT_MAX; a commit touching COMMIT_GUARDS_CHANGELOG_REQUIRED_PATHS also owes a changelog entry or [no-changelog].

Read the full file on GitHub · 143 lines

Files

What ships with it

47 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago Changed · +1 lines f742b07c434b
  2. 16d ago Changed · +1 lines 9590cf6cae03
  3. 20d ago Changed · +1 lines 221d26e64493
  4. 21d ago Changed · -1 lines 62c157c588c1
  5. 22d ago Changed · +1 lines d7701cbdd657
  6. 23d ago Changed · -1 lines 9e6fe590a53a
  7. 24d ago Changed · +1 lines b021e0f31ccd
  8. 25d ago Changed · +2 lines c8bb108ae090
  9. 26d ago Changed d0749e4848eb
  10. 27d ago First seen · 138 lines · 30 tokens per session scan C 8aeb78c861a1

Subscribe to this mod's changes

commit-guards is a skill published in the GitHub repository vanillagreencom/kendex (87 stars, last pushed yesterday), licensed MIT. It adds 30 tokens to every session and 5,503 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it C with 1 finding (hidden instructions). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.