difit: Command for Claude Code

.claude/commands/release.md

release is a command for Claude Code from yoshiko-pg/difit. It costs 0 tokens per session (366 once invoked), scanned A, original, MIT.

A command workflow that summarizes commits since the latest version tag in the Unreleased section of CHANGELOG.md. A changelog records user-facing changes between software versions.

In plain words
What is it for?
Use it to prepare a release draft from repository history, including features, fixes, security changes, and contributor credits. After explicit confirmation, it updates the version and follows the release steps.
Why use it?
It removes the need to manually inspect every commit and helps organize changes into standard categories before asking for release approval.

Command for Claude Code

Written for Claude Code: installed under .claude/.

This is yoshiko-pg/difit's own configuration. It tells Claude Code how to work on difit 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 difit configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is ./scripts/get-changes-since-tag.sh.

About the project

difit is a command-line tool that starts a local web server showing Git commit differences in a GitHub-style file-change viewer. Developers use it to inspect and review local diffs or pull requests, with review comments that can also be copied into AI prompts. The catalogue entries connect coding-agent workflows to difit for requesting or performing reviews.

yoshiko-pg/difit · 3,296 stars · on GitHub · yoshiko-pg.github.io

Reuse

Borrowing it

Nothing to install: this file belongs to yoshiko-pg/difit. 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/yoshiko-pg/difit/main/.claude/commands/release.md
Clone the repo
git clone --depth 1 https://github.com/yoshiko-pg/difit

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 release

README.md
[![agentmods](https://agentmods.dev/badge/commands/yoshiko-pg/difit/release/github.svg)](https://agentmods.dev/commands/yoshiko-pg/difit/release)
Your own site
<a href="https://agentmods.dev/commands/yoshiko-pg/difit/release"><img src="https://agentmods.dev/badge/commands/yoshiko-pg/difit/release/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 release

Your own site · 80×15
<a href="https://agentmods.dev/commands/yoshiko-pg/difit/release"><img src="https://agentmods.dev/badge/commands/yoshiko-pg/difit/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
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 366 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00000 $0.00366
Opus 5.5 $0.00000 $0.00146
Sonnet 5.5 $0.00000 $0.00073
Haiku 4.5 $0.00000 $0.00037

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

Security

Grade A, and why

release 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 2mo ago.

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.

.claude/commands/release.md · 35 lines

What it actually says

Update CHANGELOG.md with all changes from the latest tag to current commit.

First, run the script to get commit information:

./scripts/get-changes-since-tag.sh

Use the script output to categorize changes:

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for soon-to-be removed features.
  • Removed for now removed features.
  • Fixed for any bug fixes.
  • Security in case of vulnerabilities.
  • Thanks for contributors mention with GitHub username and PR number

When processing commits:

  1. Use the GitHub username from script output (not git commit author names)
  2. Only include contributors in Thanks section (exclude yoshiko-pg as that's the maintainer, and exclude renovate[bot])
  3. Include PR numbers when available
  4. Use commit subject and body to properly categorize changes

Write the categorized changes to the Unreleased section of CHANGELOG.md, then inform the user in Japanese and ask for confirmation. (Don't just output the changes - write them to the file first so the user can review the actual file.)

If confirmed OK:

  • npm version --no-git-tag-version patch
  • Treat the Unreleased section as-is at the time of user OK as the single source of truth. Do not regenerate, re-categorize, or overwrite it after the OK signal.
  • Create a version section in CHANGELOG.md and move Unreleased section content there
  • Update the version links at the bottom of CHANGELOG.md (add new version links and update Unreleased link)
  • Commit CHANGELOG.md
  • create current version git tag
  • git push origin main --tags
  • create release on github with CHANGELOG.md target version section text (to origin)
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. 2mo ago First seen · 35 lines · 0 tokens per session scan A 906e824afeed

Subscribe to this mod's changes

release is a command published in the GitHub repository yoshiko-pg/difit (3,296 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 366 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-30.