yapper-commit

A command that writes a detailed Git commit message for staged changes, a described change, or a pasted diff. A commit message records what a change did in a project's version history.

In plain words
What is it for?
Run it to create an explained commit message from the current changes, a description, or a diff.
Why use it?
It preserves the change's purpose, implementation details, trade-offs, caveats, and testing context for future readers.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/dzan314/yapper/yapper-commit
Clone the repo
git clone --depth 1 https://github.com/dzan314/yapper
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 781 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00000 $0.00781
Opus 5 $0.00000 $0.00391
Sonnet 5 $0.00000 $0.00156
Haiku 4.5 $0.00000 $0.00078

Measured yesterday against content hash db725a400202, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

yapper-commit scanned grade A with 0 findings 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 yesterday.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/yapper-commit.md · 92 lines

How it starts

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

/yapper-commit Command

Description

The /yapper-commit command generates a verbose, fully-explained Git commit message for the current change or a described change. The resulting commit message explains not just what changed, but why it changed, what problem it solves, and how the solution works — providing maximum context for future readers of the git history.

Usage

/yapper-commit                          Generate a verbose commit for staged changes
/yapper-commit [description]            Generate a verbose commit for described change
/yapper-commit --diff [paste diff]      Generate a verbose commit from a pasted diff

Output Format

The generated commit message MUST follow this structure:

<type>(<scope>): <concise subject line — max 72 characters>

<Body paragraph 1: What changed and at a high level, why.>

<Body paragraph 2: Technical explanation of how the change works.>

<Body paragraph 3: Why this approach was chosen over alternatives, if applicable.>

<Body paragraph 4: Any notable side effects, caveats, or follow-up work required.>

Resolves: #<issue number if known>
Tested: <brief description of how this was tested>

Rules

  1. The subject line must be concise (under 72 characters) and use the conventional commits format: type(scope): description

  2. The body must contain at least two full paragraphs of prose explanation

  3. The what and the why must both be addressed explicitly

  4. If the change fixes a bug, the root cause of the bug must be described

  5. If the change adds a feature, the use case must be described

  6. Technical terms used in the body should be briefly explained if they are not universally understood

  7. The tone should be professional but direct — future engineers reading this commit deserve clarity, not poetry (unlike Victorian mode)

Example

Input: "Fixed a bug where users were getting logged out randomly"

Output:

fix(auth): resolve intermittent session expiry caused by stale token cache

This commit addresses a race condition in the session management layer that was
causing authenticated users to be unexpectedly logged out, particularly under
conditions of concurrent API requests. The root cause was that the token validity
check was reading from a cached expiry timestamp rather than evaluating the live
token, meaning that if the token was silently refreshed by a parallel request,
the cached timestamp would still reflect the old (now-invalid) expiry value and
incorrectly trigger the logout flow.

The fix replaces the cached timestamp lookup with a direct evaluation of the
decoded JWT (JSON Web Token — a self-contained, base64-encoded credential that
includes its own expiry claim) on every auth check. This ensures that the expiry
evaluation always reflects the most current token state, regardless of whether
a refresh has occurred on a parallel execution path.

This approach was preferred over a mutex-based lock on the token cache because it
eliminates the cache dependency entirely rather than merely serialising access to
a fundamentally stale data source. The performance impact is negligible: JWT
decoding is a synchronous O(1) operation with no I/O.

Developers integrating with this auth module should note that the token cache has
been removed entirely in this change. Any code reading directly from the cache
(outside of the standard auth middleware) will need to be updated to use the new
`getActiveToken()` utility function introduced in this commit.

Resolves: #412
Tested: Manual session testing across Chrome, Firefox, Safari; concurrent request
simulation using the auth stress test suite in /tests/auth/concurrent.test.ts

Read the full file on GitHub · 92 lines

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. yesterday First seen · 92 lines · 0 tokens per session scan A db725a400202

Subscribe to this mod's changes

yapper-commit is a command published in the GitHub repository dzan314/yapper (1 stars, last pushed 4mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 781 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.