commit-reminder

Detects accumulating uncommitted git changes and commands a commit via a PostToolUse hook.

2|Updated Jul 18, 2026
One-click install
npx skills add https://github.com/Arasz/ai-badger --skill commit-reminder-arasz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit-reminder
Source: https://github.com/Arasz/ai-badger/tree/main/features/common/skills/commit-reminder
Command: npx skills add https://github.com/Arasz/ai-badger --skill commit-reminder-arasz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Agents and developers often make many edits in a row without committing, leaving work at risk of being lost if a session ends or a subagent gets stuck. This Skill watches the live uncommitted-file count after every edit-shaped tool call and issues an imperative commit command once a threshold is crossed, escalating to an at-risk report when commands go unanswered. ## Core Features & Use Cases - PostToolUse commit nudge: After every Write/Edit/MultiEdit/NotebookEdit call, runs git status --porcelain and emits an additionalContext command to commit using Conventional Commits once the count crosses a configurable threshold (default 5). - Debounced escalation: A re-arming ratchet fires only on new highs, and after 3 unanswered commands the message escalates to a WIP-commit warning and the project is recorded as at risk. - Parent-facing risk report: scripts/ensure_committed.py lists projects, sessions, and how long work has been uncommitted, so a parent agent can take over, commit, or stop a stuck subagent. - Use Case: A subagent has been editing files for a long time without landing anything; run ensure_committed.py to see which project and session is at risk while there is still time to recover the work. ## Quick Start Ask the agent to check whether any project has unanswered commit reminders by running the ensure_committed.py script and then commit or take over any at-risk work it names.

Frequently Asked Questions about commit-reminder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get reminded to commit uncommitted git changes automatically?

Install the commit-reminder hook as a PostToolUse hook. After every edit-shaped tool call it runs `git status --porcelain`, and once the uncommitted-file count crosses the threshold (default 5) it injects an additionalContext message commanding a Conventional Commits commit.

How do I check if a subagent is about to lose uncommitted work?

Run `scripts/ensure_committed.py`. It reads the hook's persisted state and reports each project told to commit 3 or more times with no commit since, naming the project, session, and how long the work has been at risk. It exits 0 even when work is at risk.

Does the commit-reminder hook block or deny tool calls?

No. The hook only ever adds `additionalContext` to a PostToolUse event and always exits 0. It never sets `decision`, `permissionDecision`, or `continue` on any code path, so it cannot gate or intercept tool calls.

Can I configure the uncommitted-file threshold for the commit reminder?

Yes. Set `AI_BADGER_COMMIT_REMINDER_THRESHOLD` to change the triggering file count (default 5) and `AI_BADGER_COMMIT_ESCALATE_AFTER` to change how many unanswered commands mark work at risk (default 3). Non-numeric values fall back to the defaults.

Why did the commit reminder stop firing after a git stash?

The hook's only signal is the live uncommitted-file count, so anything that lowers it — a commit, `git stash`, or a cleaned build directory — clears the unanswered counter and re-arms the debounce ratchet. The hook cannot distinguish a stash from a commit.

Does the commit reminder work with Hermes or only Claude Code?

Both. It recognizes Claude/Copilot edit tool names (Write, Edit, MultiEdit, NotebookEdit) and also matches lowercase Hermes tool names containing write, edit, patch, or replace. Both sides share the same persisted state entry.