mcpField
C
commit-work

commit-work

github.com/softaworksDevelopment2.6k4.2k installsUpdated 34w ago
Repository

About commit-work

commit-work is an agent skill for preparing reviewable, safely scoped Git commits. It guides staging, review, Conventional Commit messages, and relevant verification.

Key features

  1. 01Inspect working tree and diffs
  2. 02Split changes into logical commits
  3. 03Stage selected changes
  4. 04Review staged changes for issues
  5. 05Write Conventional Commit messages
  6. 06Run relevant checks

Use cases

  1. 01Commit mixed changes in separate units
  2. 02Review staged files before committing
  3. 03Prepare a scoped change with verification

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/softaworks/agent-toolkit --skill commit-work

After installing, type/commit-workin Claude Code to confirm it loaded.

Bundled filesREADME.mdreferences/commit-message-template.md

Details

From the project README

Commit work

Goal

Make commits that are easy to review and safe to ship:

  • only intended changes are included
  • commits are logically scoped (split when needed)
  • commit messages describe what changed and why

Inputs to ask for (if missing)

  • Single commit or multiple commits? (If unsure: default to multiple small commits when there are unrelated changes.)
  • Commit style: Conventional Commits are required.
  • Any rules: max subject length, required scopes.

Workflow (checklist)

  1. Inspect the working tree before staging
    • git status
    • git diff (unstaged)
    • If many changes: git diff --stat
  2. Decide commit boundaries (split if needed)
    • Split by: feature vs refactor, backend vs frontend, formatting vs logic, tests vs prod code, dependency bumps vs behavior changes.
    • If changes are mixed in one file, plan to use patch staging.
  3. Stage only what belongs in the next commit
    • Prefer patch staging for mixed changes: git add -p
    • To unstage a hunk/file: git restore --staged -p or git restore --staged <path>
  4. Review what will actually be committed
    • git diff --cached
    • Sanity checks:
      • no secrets or tokens
      • no accidental debug logging
      • no unrelated formatting churn
  5. Describe the staged change in 1-2 sentences (before writing the message)
    • "What changed?" + "Why?"
    • If you cannot describe it cleanly, the commit is probably too big or mixed; go back to step 2.
  6. Write the commit message
    • Use Conventional Commits (required):
      • type(scope): short summary
      • blank line
      • body (what/why, not implementation diary)
      • footer (BREAKING CHANGE) if needed
    • Prefer an editor for multi-line messages: git commit -v
    • Use references/commit-message-template.md if helpful.
  7. Run the smallest relevant verification
    • Run the repo's fastest meaningful check (unit tests, lint, or build) before moving on.
  8. Repeat for the next commit until the working tree is clean

Deliverable

Provide:

  • the final commit message(s)
  • a short summary per commit (what/why)
  • the commands used to stage/review (at minimum: git diff --cached, plus any tests run)

Comments

Markdown supported