Agent skill

Commit

by yonatangross in yonatangross/orchestkit

Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance.

MITAuto-check: notesDevelopment

Install Commit

skills CLI
$ npx skills add yonatangross/orchestkit --skill commit -a claude-code

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

GitHub CLI
$ gh skill install yonatangross/orchestkit 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/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/commit .claude/skills/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
commit
GitHub stars
288
Token cost
~2.7k tokens
SKILL.md length
829 words
Files
17 (incl. scripts, references)
Skills in repo
107
Repo updated
First seen
Licence
MIT

At a glance

Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance.

  • Requests to commit
  • SKILL.md covers Quick Start, Argument Resolution, STEP 0: Choose Commit Mode… and Workflow, plus 8 more sections
  • Runs Shell scripts from its folder; calls git, poetry and npm
  • Stage and commit

What it does

Commit is an agent skill from yonatangross/orchestkit. Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance. Validates staged changes and prevents secrets or generated-only files from being committed. Use for requests to commit, stage and commit, save progress, or write a commit message. Do not invoke it for incidental git commits during other work; those stay a bare CLI call.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts and reference files (for example `references/claude-code.md`, `references/conventional-commits.md` and `references/recovery.md`). Compatibility notes: Claude Code 2.1.277+.

It sits in Development, covering Commit messages and Session handoff. It works with Git. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.

When your agent uses it

  • Requests to commit
  • Stage and commit
  • Write a commit message

Example prompts

  • “Use the commit skill to create commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution…”
  • “/commit”

Requirements

  • Python 3
  • Node.js
  • A Bash shell
  • Compatibility (from SKILL.md): Claude Code 2.1.277+.
  • Pre-approved tools (allowed-tools): Bash, Read, Write, AskUserQuestion

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • poetry
    • npm
    • claude

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

  • Network

    No URLs in SKILL.md. Its commands use git and npm, 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.

  • Compatibility

    Claude Code 2.1.277+.

    From compatibility in the SKILL.md frontmatter.

Context cost

Commit loads about 2.7k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 109 tokens; SKILL.md has 829 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~109
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.4k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, AskUserQuestion

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); the scripts in this folder are not scanned.

SKILL.md

The full file from yonatangross/orchestkit at commit 1f8d8f3, republished under its MIT licence (© yonatangross). 829 words, ~2,710 tokens.

Download SKILL.mdSave it as .claude/skills/commit/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
commit
description
Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance. Validates staged changes and prevents secrets or generated-only files from being committed. Use for requests to commit, stage and commit, save progress, or write a commit message. Do not invoke it for incidental git commits during other work; those stay a bare CLI call.
allowed-tools
Bash, Read, Write, AskUserQuestion
compatibility
Claude Code 2.1.277+.
license
MIT
argument-hint
[message]
context
inherit
user-invocable
true
disable-model-invocation
false
skills
chain-patterns
effort
low
metadata.category
workflow-automation
metadata.version
1.2.0
metadata.author
OrchestKit

Smart Commit

Host-neutral workflow. Invoke by skill name (commit). Claude Code slash routing, YAML hook loaders, and .claude/chain live in references/claude-code.md.

Simple, validated commit creation. Run checks locally, no agents needed for standard commits.

Note: If disableSkillShellExecution is enabled (CC 2.1.91), the git repository check won't run. This skill requires a git repository.

Quick Start

bash
commit
commit fix typo in auth module

Argument Resolution

python
COMMIT_MSG = "$ARGUMENTS"  # Optional commit message, e.g., "fix typo in auth module"
# If provided, use as commit message. If empty, generate from staged changes.
# $ARGUMENTS[0] is the first token (CC 2.1.59 indexed access)

STEP 0: Choose Commit Mode (AskUserQuestion — M118 #1465)

Default is "new commit", but voice-flow needs explicit choice when amend / push / stash is wanted:

python
# Skip when a flag in the invocation makes the mode unambiguous:
#   commit --amend  → skip, mode=amend
#   commit --push   → skip, mode=new+push
#   commit --stash  → skip, mode=stash-first
#   ORK_COMMIT_DEFAULT_MODE=new (or amend|push|stash) → skip, use env value
#
# Otherwise, ask:
AskUserQuestion(questions=[{
  "question": "How should this commit land?",
  "header": "Commit mode",
  "options": [
    {"label": "New commit (default)", "description": "Create a new commit, leave HEAD intact"},
    {"label": "Amend HEAD", "description": "Fold staged changes into the last commit (LOCAL ONLY — refuses if HEAD is published)"},
    {"label": "New commit + push", "description": "Commit then `git push` (refuses on protected branches)"},
    {"label": "Stash first", "description": "Stash unrelated working-tree changes, then commit only what was already staged"}
  ]
}])

Mode-specific guards:

  • Amend HEAD — verify HEAD is not on origin (git rev-list HEAD..origin/<branch> empty); if it is published, refuse and recommend "New commit" instead.
  • New commit + push — re-check the protected-branch rule from Phase 1 before pushing; if HEAD's branch is main/master/dev, abort.
  • Stash first — git stash push -k -m "ork:commit autostash" (keep-index), commit, then git stash pop after push success.

Workflow

Phase 0: Confirm there is a repository to act on

Before any guard, run git rev-parse --is-inside-work-tree. If it fails, or if the Bash tool is not available in this session, say so in one sentence and produce the commit message text only. Skip Phases 1 to 3 entirely.

Never print a branch guard, a validation status, or any other repository fact you did not observe. Measured with claude plugin eval on 2026-09-12: in a sandbox with no repository and no Bash, this skill rendered a "pre-commit guard" box claiming the branch was main and protected. Nothing had been checked. A message-only answer that says "I could not verify branch or lint state" is correct; an invented guard is a defect.

Phase 1: Pre-Commit Safety Check
bash
# CRITICAL: Verify we're not on dev/main
BRANCH=$(git branch --show-current)
if [[ "$BRANCH" == "dev" || "$BRANCH" == "main" || "$BRANCH" == "master" ]]; then
  echo "STOP! Cannot commit directly to $BRANCH"
  echo "Create a feature branch: git checkout -b issue/<number>-<description>"
  exit 1
fi
Phase 2: Run Validation Locally

Run every check that CI runs:

bash
# Backend (Python)
poetry run ruff format --check app/
poetry run ruff check app/
poetry run mypy app/

# Frontend (Node.js)
npm run format:check
npm run lint
npm run typecheck

Fix any failures before proceeding.

Phase 3: Review Changes
bash
git status
git diff --staged   # What will be committed
git diff            # Unstaged changes
Phase 3b: Agent Attribution (automatic)

Before committing, check for the branch activity ledger at .claude/agents/activity/{branch}.jsonl. If it exists and has entries since the last commit, include them in the commit message:

  1. Read .claude/agents/activity/{branch}.jsonl (one JSON object per line)
  2. Filter entries where ts is after the last commit timestamp (git log -1 --format=%cI)
  3. Skip agents with duration_ms < 5000 (advisory-only agents go in PR, not commits)
  4. Add an "Agents Involved:" section between the commit body and the Co-Authored-By trailer
  5. Add per-agent Co-Authored-By trailers: Co-Authored-By: ork:{agent} <noreply@orchestkit.dev>

If the ledger doesn't exist or is empty, skip this step — commit normally.

Phase 4: Stage and Commit

CC 2.1.113 idiom: Multi-line Bash with leading # intent: comments now shows the full command in the transcript — prefix complex scripts with a one-line intent comment so future readers (and /recap scans) can grep the transcript for what happened without re-reading the diff.

bash
# intent: stage the hook change + its test + built artifacts
# Stage files
git add <files>
# Or all: git add .

# Commit with conventional format (with agent attribution if ledger exists)
git commit -m "<type>(#<issue>): <brief description>

- [Change 1]
- [Change 2]

Agents Involved:
  backend-system-architect — API design + data models (2m14s)
  security-auditor — Dependency audit (0m42s)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: ork:backend-system-architect <noreply@orchestkit.dev>
Co-Authored-By: ork:security-auditor <noreply@orchestkit.dev>"

# Verify
git log -1 --stat

CC 2.1.183 — attribution.sessionUrl: In web and Remote Control sessions, CC appends a claude.ai session link to commit/PR attribution. Set attribution.sessionUrl: false (/config attribution.sessionUrl=false) to omit it — useful for public repos where the session link should not leak. The Co-Authored-By trailers above are unaffected.

Handoff File

After successful commit, write handoff:

python
Write(".claude/chain/committed.json", JSON.stringify({
  "phase": "commit", "sha": "<commit-sha>",
  "message": "<commit-message>", "branch": "<branch>",
  "files": [<staged-files>]
}))

Commit Types

TypeUse For
featNew feature
fixBug fix
refactorCode improvement
docsDocumentation
testTests only
choreBuild/deps/CI
Show full SKILL.md (322 more words)Show less

Quick Rules

  1. Run validation locally - Don't spawn agents to run lint/test
  2. NO file creation - Don't create MD files or documentation
  3. One logical change per commit - Keep commits focused
  4. Reference issues - Use #123 format in commit message
  5. Subject line < 72 chars - Keep it concise

Quick Commit

For trivial changes (typos, single-line fixes):

bash
git add . && git commit -m "fix(#123): Fix typo in error message

Co-Authored-By: Claude <noreply@anthropic.com>"

Verification Gate

Before committing, apply the 5-step gate: Read("../../shared/rules/verification-gate.md"). Run tests fresh. Read the output. Only commit if tests pass. "Should be fine" is not evidence.

Quality Bar

Done means all of these hold:

  • Commit landed on a feature branch, never dev/main/master (Phase 1 guard held)
  • Subject uses a conventional type (feat/fix/docs/refactor/test/chore) matching the diff content, <=72 chars
  • Issue reference (#N) present in the message whenever HEAD is on an issue branch
  • Local validation for the touched stack (lint/type/test) ran and passed before the commit
  • Co-Authored-By: Claude trailer present; per-agent trailers added only when the activity ledger has post-last-commit entries
  • git log -1 --stat shows exactly the intended files, no secrets and no generated-only-noise commit
  • ork:create-pr: Create pull requests from commits
  • ork:review-pr: Review changes before committing
  • ork:fix-issue: Fix issues and commit the fixes
  • ork:issue-progress-tracking: Auto-updates GitHub issues with commit progress

Rules

Each category has individual rule files in rules/ loaded on-demand:

CategoryRuleImpactKey Pattern
Atomic Commitsrules/atomic-commit.mdCRITICALOne logical change per commit, atomicity test
Branch Protectionrules/branch-protection.mdCRITICALProtected branches, required PR workflow
Commit Splittingrules/commit-splitting.mdHIGHgit add -p, interactive staging, separation strategies
Conventional Formatrules/conventional-format.mdHIGHtype(scope): description, breaking changes
History Hygienerules/history-hygiene.mdHIGHSquash WIP, fixup commits, clean history
Issue Referencerules/issue-reference-required.mdHIGHReference issue #N in commits on issue branches
Merge Strategyrules/merge-strategy.mdHIGHRebase-first, conflict resolution, force-with-lease
Stacked PRsrules/stacked-pr-workflow.mdHIGHStack planning, PR creation, dependency tracking
Stacked PRsrules/stacked-pr-rebase.mdHIGHRebase management, force-with-lease, retargeting

Total: 9 rules across 8 categories

References

Load on demand with Read("references/<file>"):

FileContent
references/conventional-commits.mdConventional commits specification
references/recovery.mdRecovery procedures

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

Files

SKILL.md and 16 other files (scripts, references) in src/skills/commit of yonatangross/orchestkit.

  • SKILL.md
  • references/claude-code.md
  • references/conventional-commits.md
  • references/recovery.md
  • rules/_sections.md
  • rules/_template.md
  • rules/atomic-commit.md
  • rules/branch-protection.md
  • rules/commit-splitting.md
  • rules/conventional-format.md
  • rules/history-hygiene.md
  • rules/issue-reference-required.md
  • rules/merge-strategy.md
  • rules/stacked-pr-rebase.md
  • rules/stacked-pr-workflow.md
  • scripts/validate-conventional.sh
  • test-cases.json

Open the folder on GitHubat commit 1f8d8f3

Compare with similar skills

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.

Commit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Commit this skillyonatangross/orchestkit288—~2.7kAutomated safety check: NotesMIT
Fantasia Final Cleanupvishiri/fantasia-archive409—~1.2kAutomated safety check: PassGPL-3.0
Checkpointcodewithmukesh/dotnet-claude-kit751—~817Automated safety check: NotesMIT
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-skills102k2 repos~3.5kAutomated safety check: NotesMIT

Similar skills

  • Fantasia Final Cleanup

    vishiri/fantasia-archive

    End-of-batch ship workflow for Fantasia Archive: run full yarn testbatch:verify (not dev scoped gate), fix failures, sync README/AGENTS/rules/skills from Git changes, update in-app changelog, split…

    409 GitHub stars~1.2k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Checkpoint

    codewithmukesh/dotnet-claude-kit

    Mid-session save point: create a descriptive git commit and a brief handoff note, then keep working.

    751 GitHub stars~817 tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check: notes
  • 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 yesterday
    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.

    102k 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

More from yonatangross/orchestkit

All 107 skills in this repo
  • API Design

    yonatangross/orchestkit

    API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.

    288 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Architecture Decision Record

    yonatangross/orchestkit

    ADR templates in the Nygard format with context, decision, consequences, and alternatives.

    288 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Audit Full

    yonatangross/orchestkit

    Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.

    288 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check: notes
  • Code Review Playbook

    yonatangross/orchestkit

    Structured review processes, conventional comments, language-specific checklists, and feedback templates.

    288 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Create PR

    yonatangross/orchestkit

    Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.

    288 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check: notes
  • Explore

    yonatangross/orchestkit

    Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.

    288 GitHub stars~3.9k tokensUpdated yesterday
    Auto-check: notes

Works with

Categories

Questions about Commit

What does Commit do?

Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance. Commit is an agent skill from yonatangross/orchestkit. Creates commits with Conventional Commits format (feat/fix/docs/refactor/test/chore), scope detection, co-author attribution, and pre-commit hook compliance.

When should I use Commit?

Commit fits situations like: requests to commit; stage and commit; write a commit message.

How do I install Commit in Claude Code?

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

How do I install Commit in Codex?

Run `npx skills add yonatangross/orchestkit --skill commit -a codex`. Or copy the skill folder (src/skills/commit in yonatangross/orchestkit) into .agents/skills/commit in your project. Codex loads it when a task matches its description.

Can I use 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 yonatangross/orchestkit --skill 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/commit, .gemini/skills/commit, .github/skills/commit and .opencode/skills/commit in your project.

What does Commit need to run?

Going by SKILL.md and its folder, Commit needs a shell for the scripts in its folder and the command-line tools its instructions call (git, poetry, npm and claude). Our summary lists: Python 3; Node.js; A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write, AskUserQuestion. Compatibility (from SKILL.md): Claude Code 2.1.277+..

Does Commit access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Commit safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Commit use?

Commit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Commit use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 715 tokens, read only when the agent opens those files.

What are the alternatives to Commit?

Skills that share tags, products or a category with Commit: Fantasia Final Cleanup (vishiri/fantasia-archive, 409 stars), Checkpoint (codewithmukesh/dotnet-claude-kit, 751 stars), React Router Release Notes Prep (remix-run/react-router, 57k stars) and ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Commit?

yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 288 GitHub stars. The repository holds 107 skills in this directory. The repository was last updated on October 6, 2026.

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