
Commit Work
- 3.9k installs
- 2.2k repo stars
- Updated March 5, 2026
- softaworks/agent-toolkit
A repeatable, checklist-driven workflow for staging changes, splitting them into logical commits, and writing clear Conventional Commits messages with what/why rationale.
About
Commit-work guides developers through the full commit workflow: inspecting changes, deciding logical boundaries, staging only intended code using patch mode for mixed hunks, and writing Conventional Commits messages. The skill enforces clean commits by requiring developers to describe each change in one sentence before authoring, verify staged content via git diff --cached, and run minimal checks (lint/tests) before moving on. This prevents mixed commits, accidental secrets, debug logging, and formatting churn. The workflow is checklist-driven, favoring small scoped commits over monolithic ones, with explicit rules for splitting by feature/refactor, backend/frontend, logic/tests, and dependency bumps. Developers use it whenever crafting commits, staging changes, or reviewing work before push. Enforces Conventional Commits format (type, scope, subject, body) with required fields Patch staging workflow (git add -p, git restore --staged -p) for splitting
- Enforces Conventional Commits format (type, scope, subject, body) with required fields
- Patch staging workflow (git add -p, git restore --staged -p) for splitting mixed changes in single files
- Pre-commit sanity checks: inspect git status/diff, verify no secrets/debug logs, catch unrelated formatting
- Forces one-sentence rationale per commit (what + why) before writing message to catch oversized/mixed commits
- Runs fastest repo-level verification (unit tests, lint, or build) before advancing to next commit
Commit Work by the numbers
- 3,921 all-time installs (skills.sh)
- +23 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #18 of 739 Git & Pull Requests skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
commit-work capabilities & compatibility
- Capabilities
- inspect unstaged changes (git status, git diff, · stage changes selectively using patch mode (git · unstage hunks or files (git restore staged p) · review staged content (git diff cached) · write conventional commits messages · split changes into logical commits · verify with repo checks (lint, tests, build)
- Use cases
- code review · debugging · ci cd
- Platforms
- macOS · Windows · Linux · WSL
- Runs
- Runs locally
npx skills add https://github.com/softaworks/agent-toolkit --skill commit-workAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.9k |
|---|---|
| repo stars | ★ 2.2k |
| Security audit | 3 / 3 scanners passed |
| Last updated | March 5, 2026 |
| Repository | softaworks/agent-toolkit ↗ |
What it does
Stage and commit code changes with clear Conventional Commits messages, splitting unrelated work into logical, reviewable commits.
Who is it for?
Developers committing code as part of feature work, refactoring, or bug fixes; teams enforcing Conventional Commits; code review workflows requiring clean commit history.
Skip if: Automated CI commits, squash-merge workflows, or teams not using git.
When should I use this skill?
User asks to commit, craft a commit message, stage changes, split work into multiple commits, or review staged changes before push.
What you get
Clean, reviewable commits with Conventional Commits format, logical scope, and clear intent; reduced review friction and safer deploys.
- final commit message(s)
- short summary per commit (what/why)
- git commands used (git diff --cached, test runs)
By the numbers
- 8-step checklist (inspect, decide boundaries, stage, review, describe, write, verify, repeat)
- split strategies: 6 categories (feature vs refactor, backend vs frontend, formatting vs logic, tests vs prod, dependency
Files
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 statusgit 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 -porgit 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.mdif 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)
Commit Work
A comprehensive skill for creating high-quality, production-ready git commits that are easy to review, safe to ship, and follow best practices.
Purpose
This skill helps you create well-crafted git commits by:
- Ensuring only intended changes are included
- Splitting work into logically scoped commits
- Writing clear, descriptive commit messages that explain what changed and why
- Following Conventional Commits format
- Preventing common mistakes (secrets, debug code, unrelated changes)
When to Use
Use this skill when you need to:
- Commit your work with proper staging and review
- Craft meaningful commit messages
- Split mixed changes into multiple logical commits
- Follow Conventional Commits format
- Ensure commits are review-ready and safe to merge
Trigger phrases:
- "commit this work"
- "create a commit"
- "split these changes into commits"
- "help me commit"
- "write a commit message"
How It Works
The skill follows a rigorous 8-step workflow:
1. Inspect - Review working tree with git status and git diff 2. Decide boundaries - Determine if changes should be split into multiple commits 3. Stage selectively - Use patch staging (git add -p) for granular control 4. Review staged changes - Verify with git diff --cached 5. Describe changes - Articulate what changed and why in 1-2 sentences 6. Write message - Craft Conventional Commits format message 7. Verify - Run relevant tests/checks before committing 8. Repeat - Continue until working tree is clean
Key Features
Smart Commit Splitting
Automatically identifies when to split commits by:
- Feature vs refactor
- Backend vs frontend
- Formatting vs logic
- Tests vs production code
- Dependency bumps vs behavior changes
Conventional Commits Format
All commits follow the standard:
type(scope): short summary
Detailed body explaining what changed and why.
BREAKING CHANGE: if applicableSafety Checks
Reviews staged changes for:
- Secrets or tokens
- Accidental debug logging
- Unrelated formatting changes
- Mixed or overly broad scope
Patch Staging
Uses git add -p for fine-grained control when changes within a single file need to be split across commits.
Usage Examples
Example 1: Simple Single Commit
# User asks: "commit this bugfix"
# Skill workflow:
git status
git diff
git add src/api/auth.js
git diff --cached
git commit -m "fix(auth): resolve token expiration edge case
Previously tokens would fail validation within 1 second of expiry
due to clock skew. Now includes 5-second grace period."Example 2: Splitting Mixed Changes
# User has: formatting changes + new feature + test updates
# Skill creates 3 commits:
# Commit 1: chore: format code with prettier
# Commit 2: feat(api): add user profile endpoint
# Commit 3: test: add coverage for profile endpoint
# Uses git add -p to stage selectivelyExample 3: Interactive Patch Staging
# Single file has refactor + bugfix mixed
git add -p src/components/Header.js
# Stages only bugfix hunks for first commit
git commit -m "fix(ui): correct mobile menu z-index"
git add src/components/Header.js
# Stages refactor hunks for second commit
git commit -m "refactor(ui): extract menu logic to custom hook"Inputs
The skill may ask for:
- Commit strategy: Single commit or multiple logical commits?
- Commit style: Conventional Commits (required by default)
- Project rules: Max subject length, required scopes, etc.
If not provided, defaults to:
- Multiple small commits when changes are unrelated
- Conventional Commits format
- Standard best practices
Deliverables
After running, the skill provides:
- Final commit message(s) used
- Short summary per commit (what/why)
- Commands used for staging and review
- Test/verification results
Best Practices
1. Review before staging - Always inspect git diff first 2. Stage intentionally - Never use git add . or git add -A 3. Use patch mode - Leverage git add -p for mixed changes 4. Verify staged changes - Check git diff --cached before committing 5. Keep commits focused - One logical change per commit 6. Write for reviewers - Explain what/why, not implementation details 7. Test before committing - Run relevant checks after each commit
Related Resources
- See
references/commit-message-template.mdfor message templates - Uses Conventional Commits specification: https://www.conventionalcommits.org/
- Integrates with standard git workflow and hooks
Notes
- This skill enforces Conventional Commits format
- It encourages small, focused commits over large monolithic ones
- Patch staging (
git add -p) is used extensively for granular control - Each commit should pass basic verification (tests, lint, build)
- The goal is commits that are safe to review, bisect, and cherry-pick
Commit message template (Conventional Commits)
<type>(<scope>): <summary>
<What changed.>
<Why it changed.>Notes:
- Keep the summary imperative and specific ("Add", "Fix", "Remove", "Refactor").
- Avoid implementation minutiae; focus on behavior and intent.
- If breaking: use
!in header and/or addBREAKING CHANGE:footer.
Related skills
How it compares
Pick commit-work over generic git skills when the goal is review-ready Conventional Commits with intentional staging and logical commit splitting.
FAQ
When should I make multiple commits vs. one big commit?
Default to multiple small commits when changes are unrelated (feature vs refactor, backend vs frontend, tests vs prod code, dependency bumps vs behavior). Split by logical boundary, not file count.
How do I commit only part of a file?
Use patch staging: git add -p to stage hunks interactively, or git restore --staged -p to unstage hunks. This lets you split mixed changes in one file.
What is Conventional Commits format?
type(scope): short summary, blank line, body (what/why), footer (BREAKING CHANGE). Example: feat(auth): add password reset endpoint.
Is Commit Work safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.