Agent skill

At Commit

by kairyou in kairyou/agent-tools

Generate a Conventional Commits message from staged changes and wait for confirmation before committing.

MITAuto-check passedDevelopment

Install At Commit

skills CLI
$ npx skills add kairyou/agent-tools --skill at-commit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kairyou/agent-tools at-commit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/workflow/at-commit .claude/skills/at-commit && rm -rf skills-src

Use ~/.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/

Facts

Skill name
at-commit
GitHub stars
180
Token cost
~1.5k tokens
SKILL.md length
843 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Generate a Conventional Commits message from staged changes and wait for confirmation before committing.

  • Works in 4 steps: Run git diff --staged to inspect staged… → Determine the description language using… → Generate the message(s) and show them… → …
  • The user asks to commit
  • SKILL.md covers Workflow, Language Policy, Persistent Language Preference and Rules, plus 2 more sections
  • Calls git

What it does

At Commit is an agent skill from kairyou/agent-tools. Generate a Conventional Commits message from staged changes and wait for confirmation before committing. Use when the user asks to commit or generate a commit message.

Its SKILL.md is about 1.5k 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: Reusable Agent Skills, plus integrations (statusline, provider usage, vision) that install into Codex, Claude Code, and opencode. The licence is MIT.

When your agent uses it

  • The user asks to commit
  • Generate a commit message

Example prompts

  • “/at-commit”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Run git diff --staged to inspect staged changes. If it is empty, tell the user to run git add first and stop.
  2. Determine the description language using the Language Policy below.
  3. Generate the message(s) and show them for confirmation; do not commit immediately. When more than one framing is reasonable, present them…
  4. Run git commit -m only after the user picks or explicitly confirms — a number from the list, "commit", or "ok" all count. Do not run git…

What it can do on your machine

Read from SKILL.md and the folder at commit 5864059. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

At Commit loads about 1.5k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 843 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from kairyou/agent-tools at commit 5864059, republished under its MIT licence (© kairyou). 843 words, ~1,512 tokens.

Download SKILL.mdSave it as .claude/skills/at-commit/SKILL.md (or your agent's skills folder).
name
at-commit
description
Generate a Conventional Commits message from staged changes and wait for confirmation before committing. Use when the user asks to commit or generate a commit message.
argument-hint
[<language>]

Commit Message Generator

Workflow

  1. Run git diff --staged to inspect staged changes. If it is empty, tell the user to run git add first and stop.
  2. Determine the description language using the Language Policy below.
  3. Generate the message(s) and show them for confirmation; do not commit immediately. When more than one framing is reasonable, present them as a short numbered list (1), 2), …) so the user can pick by replying with just the number. A single clear message may be shown on its own. The user may also reply with an edit or their own wording.
  4. Run git commit -m only after the user picks or explicitly confirms — a number from the list, "commit", or "ok" all count. Do not run git push unless the user explicitly asks.

Language Policy

Use this priority order for the human-readable description after type(scope)::

  1. Use the language explicitly requested by the user in this turn.
  2. Otherwise use the repository preference in .agent-tools/config.jsonc, if it defines at-commit.language.
  3. Otherwise use the global preference in ~/.agent-tools/config.jsonc, if it defines at-commit.language.
  4. Otherwise use the language of the user's actual invocation text when it contains a clear, independent natural-language request. Ignore injected skill instructions, quoted or pasted content, code blocks, diffs, and tool output.
  5. Otherwise match the dominant language in recent repository commit subjects.
  6. If no dominant language is clear, default to English.

Apply this order literally and stop at the first match. Check items 2 and 3 before item 4. A bare slash command or skill invocation has no language; continue to item 5. Inspect at most the latest 20 subjects.

Keep Conventional Commits syntax tokens untranslated: type, optional scope, !, and BREAKING CHANGE. Keep identifiers, file names, package names, commands, API names, and scopes in their original language.

Persistent Language Preference

Do not write config during ordinary commit generation. If the user explicitly asks to remember a commit-description language, offer to persist it. Ask repo vs global when scope is ambiguous.

For repo preference, create or update .agent-tools/config.jsonc; for global preference, use ~/.agent-tools/config.jsonc:

jsonc
{
  "at-commit.language": "zh-CN"
}

Preserve unrelated keys and comments when practical. Do not require prior installer setup.

Rules

Read git diff --staged and generate a Conventional Commits title that explains WHAT changed and, when useful, WHY.

  • Title: type(scope): description, <= 74 characters, no trailing period, no prefix, no quotes, no code block.
  • type: choose exactly one:
    • feat for a feature, fix for a bug fix
    • refactor for behavior-preserving restructuring, perf for performance
    • docs for documentation-only changes, style for formatting-only changes
    • test for adding or fixing tests, build for build systems or dependencies, ci for CI config/scripts
    • chore for miscellaneous changes that do not touch src/test, revert for reverts
  • scope: optional affected module name. Use this repository's convention. In monorepos, use the app/package directory name. Omit it for cross-cutting changes or when unsure.
  • description: one concise verb-object phrase in the selected natural language. Avoid filler equivalent to "update files", "this commit", "misc changes", or "several changes". Preserve identifiers, function names, file names, package names, commands, and APIs as written.
  • single line only: commit messages always contain only the title line. Do not write a body or footer. Compress necessary WHY into the title.
  • breaking changes: mark with type(scope)!: description, still as one line. Do not use a BREAKING CHANGE footer.
  • punctuation: use ASCII punctuation throughout the title, including in non-English descriptions. Non-ASCII characters are allowed only in words and identifiers. Normalize localized punctuation before showing or committing the title.
Show full SKILL.md (265 more words)Show less

Generation Strategy

Before writing, identify the staged changes' through-line.

  • Main line: include only the information needed to understand this commit. Do not pile on names unless one is the point of the change.
  • Significant changes: scan for logic, contract, build, quality-gate, or user-visible behavior changes. Use that to choose type and decide whether ! is needed.

Content Discipline

The message must state confirmed code facts, not guessed intent.

  • Prefer behavior changes in src and test: docs are supporting context only. Do not infer WHAT from docs alone.
  • User context beats docs: explicit user goals can help choose WHY and wording, but WHAT and scope still come from the staged diff. Do not include context-only changes absent from the diff. If context and diff conflict, follow the diff and ask for confirmation.
  • Deletes and renames: when purpose cannot be confirmed from code relationships, state only what the diff proves, such as "remove X" or "rename X to Y". Do not claim replacement, migration, or causality unless the code proves it.
  • Multiple changes with one goal: provide one summary message when the changes clearly serve the same goal, such as a quality or build fix. Suggest splitting only when it would materially improve review or rollback.
  • Unrelated staged changes: provide split messages for each coherent unit plus one conservative summary message. Let the user choose split or summary instead of deferring the summary to another turn.
  • Unclear ownership or intent: list files that need confirmation instead of forcing a vague message. Prefer confirmation or splitting over weak words like "update", "adjust", or "tweak" when the intent is unclear.

© kairyou, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/workflow/at-commit of kairyou/agent-tools.

Open the folder on GitHubat commit 5864059

Compare with similar skills

At Commit 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.

At Commit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
At Commit this skillkairyou/agent-tools180—~1.5kAutomated safety check: PassMIT
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT

Similar skills

  • 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.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • 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.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    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.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    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.

    57k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • 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.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from kairyou/agent-tools

All 8 skills in this repo
  • At Zentao

    kairyou/agent-tools

    Handle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories.

    180 GitHub stars~4k tokensUpdated 9 days ago
    Auto-check passed
  • At Review

    kairyou/agent-tools

    Review code changes for bugs, regressions, convention violations, and high-value cleanup opportunities.

    180 GitHub stars~2.1k tokensUpdated 9 days ago
    Auto-check passed
  • At Self Eval

    kairyou/agent-tools

    Summarize a contributor's Git history, a provided work log, or both into a concise, review-friendly self-evaluation for quarterly, semi-annual, or promotion cycles.

    180 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • At Vision

    kairyou/agent-tools

    Inspect screenshots, photos, diagrams, image paths, and image URLs when the task depends on visible content.

    180 GitHub stars~1.5k tokensUpdated 9 days ago
    Auto-check passed
  • At Daily Log

    kairyou/agent-tools

    Summarize each day's Git activity into a concise daily work log, for a single date or a range.

    180 GitHub stars~2k tokensUpdated 9 days ago
    Auto-check passed
  • At Simplify

    kairyou/agent-tools

    Refactor changed code to reduce duplication, complexity, and wasted work.

    180 GitHub stars~770 tokensUpdated 9 days ago
    Auto-check passed

Works with

Categories

Questions about At Commit

What does At Commit do?

Generate a Conventional Commits message from staged changes and wait for confirmation before committing. At Commit is an agent skill from kairyou/agent-tools. Generate a Conventional Commits message from staged changes and wait for confirmation before committing.

When should I use At Commit?

At Commit fits situations like: the user asks to commit; generate a commit message.

How do I install At Commit in Claude Code?

Run `npx skills add kairyou/agent-tools --skill at-commit -a claude-code`. Or copy the skill folder (skills/workflow/at-commit in kairyou/agent-tools) into .claude/skills/at-commit in your project. Claude Code loads it when a task matches its description.

How do I install At Commit in Codex?

Run `npx skills add kairyou/agent-tools --skill at-commit -a codex`. Or copy the skill folder (skills/workflow/at-commit in kairyou/agent-tools) into .agents/skills/at-commit in your project. Codex loads it when a task matches its description.

Can I use At Commit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kairyou/agent-tools --skill at-commit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/at-commit, .gemini/skills/at-commit, .github/skills/at-commit and .opencode/skills/at-commit in your project.

What does At Commit need to run?

Going by SKILL.md and its folder, At Commit needs the command-line tools its instructions call (git).

Does At Commit access the network?

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.

Is At Commit safe to install?

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.

What licence does At Commit use?

At Commit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does At Commit use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to At Commit?

Skills that share tags, products or a category with At Commit: 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, 103k 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.

Who maintains At Commit?

kairyou (a GitHub user) maintains it in kairyou/agent-tools, which has 180 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 29, 2026.

Source: kairyou/agent-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.