Skip to content
Agentmart
Submit a tool

commit

Commit local changes — inspect the working tree, group into atomic conventional commits, and write messages that match the repo's conventions.

Skill by dotlas

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/dotlas-commit

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Commit local changes — inspect the working tree, group into atomic conventional commits, and write messages that match the repo's conventions. Two modes: full (default, careful) and asap (fast). Use when the user has uncommitted changes, asks to commit, or invokes /commit, /commit full, or /commit asap.

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/commit

What's inside

Skill name
commit
Description
Commit local changes — inspect the working tree, group into atomic conventional commits, and write messages that match the repo's conventions. Two modes: full (default, careful) and asap (fast). Use when the user has uncommitted changes, asks to commit, or invokes /commit, /commit full, or /commit asap.
License
MIT
Instructions
114 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Commit

Commit the local changes: review the working tree, group them into atomic commits, and
commit. Runs in one of two modes — **`full`** (default) or **`asap`** — sharing one
process and differing only in how much they slow down for proposals, hooks, and docs.
The [Modes](#modes) table at the end is the at-a-glance summary; the sections below
define the process it summarizes.

## Process

1. Inspect staged and unstaged changes (`git status`, `git diff`, `git diff --cached`).
2. Check the change set against plans (see [Plans](#plans)).
3. Group files into one logical change per commit.
4. Order commits so prerequisites land before dependents: dependency and config changes
   (manifests, lockfiles, tooling) before code that relies on them; shared code before
   its consumers; tests alongside the code they cover.
5. Stage files by name and commit, handling any failing pre-commit hook per the active
   mode (see [Rules](#rules)). In `full`, present the plan first when the grouping is
   non-trivial; `asap` commits directly without proposing.
6. In `full` only, update in-situ subdir documentation where it applies (see
   [Subdir documentation](#subdir-documentation)). `asap` skips this.

## Plans

Before committing, check whether the current change set completes or supersedes any plan
in the repo — tracked **or** untracked.
Plans live in no fixed place or format: a `.plans/` directory, an `agent_plans/` folder,
a top-level `PLAN.md`, or any variant.

- If it does, ask the user with `AskUserQuestion` whether to resolve or delete that
  plan.
- Commit the plan’s final state before deleting it, so it survives in git history; then
  delete it in a later commit if the user chose deletion.
- If no plan matches, proceed silently — do not prompt.

This runs in **both** modes.

## Message format

```text
type(scope): description

[body]

[footer]
```

**Subject** — `type(scope): description`. Common types: `feat`, `fix`, `refactor`,
`perf`, `docs`, `test`, `build`, `chore`, `style`, `ci`, `revert`, `ai`. `ai` is for
agent and AI-tool config — `.agents/`, `CLAUDE.md`, `.cursorrules`,
`.github/copilot-instructions.md`.

**Body — required, in both modes, whenever the commit is a breaking change, a security
fix, a data migration, or a revert of a prior commit.** These must never be
subject-only: a future debugger needs the why and the blast radius.
Elsewhere a body is optional — add one when the change isn’t self-evident from the diff.

**Footer** — for breaking changes and references.
Mark a breaking change either as `type!: description` (a `!` before the colon) or with a
`BREAKING CHANGE: <detail>` footer; for a serious break, use both.

## Conventions

- Keep the description lowercase, imperative, and short.
- Refer to the existing git log for scope conventions.
- Use backticks for scope paths, code symbols, and new source files in the description.

## Subdir documentation

`full` mode only; `asap` skips it entirely.

After the code commits, update the documentation that lives with the changed code — a
subdirectory’s README, knowledge file, or equivalent — when it records behaviour these
changes alter. Both conditions must hold, or skip:

- The repo already has a documentation convention defined at a top level or agent level
  (e.g. a docs policy, or `CLAUDE.md` / `.agents/` guidance describing how subdir docs
  work).
- The changed subdirectory itself has a doc/knowledge/readme capturing behaviour that
  these changes affect.

Work only with what exists — never create a documentation convention where the repo has
none. If an update needs a design judgement that can’t be deduced from the code or the
conversation, ask the user with `AskUserQuestion` rather than guessing.

## Rules

- Never use `git add .` or `git add -A` — stage files by name.
- When a pre-commit hook fails, fix it if the fix is within the same scope of work.
  If it can’t be fixed: `full` stops and asks via `AskUserQuestion`; `asap` bypasses
  with `git commit -n`. Bypass is an `asap`-only exception, not a licence to skip hooks
  in `full`.
- In `full`, present the commit plan before executing when the grouping is non-trivial.
  `asap` skips the proposal and commits directly.

## Safety

- Never run `git push` (or any variant) without explicit sign-off; never force-push.
- Never run destructive commands that discard work — `git reset --hard`,
  `git clean -fd`, `git checkout -- .`. To undo a commit, prefer
  `git reset --soft HEAD~1` and explain what happened.

## Modes

Bare `/commit` runs **`full`**. Both modes run the same Process above and remove
completed plans; they differ only here:

|  | `/commit full` (default) | `/commit asap` |
| --- | --- | --- |
| **Non-trivial grouping** | Propose the plan, then commit on approval. | Commit directly, no proposal. |
| **Failing pre-commit hook** | Fix within scope; if unfixable, stop and ask via `AskUserQuestion`. Never bypass. | Fix within scope; if unfixable, bypass with `git commit -n`. |
| **In-situ subdir docs** | Update where a convention exists. | Skip. |
| **Completed plans** | Remove. | Remove. |

From dotlas/skills, MIT.

More from dotlas/skills

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 23, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from dotlas

Cite this page

commit skill. Agent Mart. https://agentmart.dev/skills/dotlas-commit (last updated 2026-10-24)