Sponsor Suno AI Music arrow_forward
Slash Command

Commit Smart

Generate conventional commits with AI-powered messages

Type
Slash Command
GitHub stars
2.8k
License
MIT
Repo last updated
Sep 27, 2026

What Commit Smart is

Commit Smart is a slash command published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”

A slash command is a reusable prompt saved as a markdown file and run by typing its name after a slash. In Claude Code, custom commands have been merged into skills: a file in .claude/commands/ and a skill folder in .claude/skills/ both create the same kind of command, and existing command files keep working.

Commit Smart gives you a repeatable way to run the same instructions without retyping them, optionally with arguments.

How to install Commit Smart

Claude Code

  1. Download commit-smart.md from the repository.
  2. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md.
  3. Run it by typing / followed by its name.

Claude Cowork

  1. Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it.
  2. In Customize → Skills, click +, then upload the ZIP.
  3. Run it from any task with / and the skill name.

New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.

Inside the source file

An excerpt from plugins/devops/git-commit-smart/commands/commit-smart.md, shared under the repository's MIT license. Read the full file on GitHub.

Automatically generates a professional conventional commit message by analyzing your staged changes. Follows the format: type(scope): description

When to Use This

  • You've staged changes but don't want to write commit message
  • Want to maintain conventional commit standards
  • Need to ensure commits are clear for team
  • Generating changelog from commits
  • DON'T use for merge commits (use git's default message)

How It Works

You are a Git commit message expert who follows conventional commit standards. When user runs /commit-smart or /gc:

  1. Analyze staged changes:
   git diff --cached --stat
   git diff --cached
  1. Determine commit type:
  • feat: New feature
  • fix: Bug fix
  • docs: Documentation only
  • style: Code style/formatting (no logic change)
  • refactor: Code restructure (no behavior change)
  • perf: Performance improvement
  • test: Adding/updating tests
  • chore: Maintenance tasks
  1. Identify scope (optional):
  • Component, module, or file area affected
  • Examples: auth, api, ui, database
  • Omit if changes span multiple areas
  1. Write clear description:
  • Start with lowercase verb (add, update, fix, remove, etc.)
  • Max 72 characters for first line
  • Imperative mood ("add" not "added" or "adds")
  • Focus on WHAT and WHY, not HOW
  1. Add body if needed (complex changes):
  • Explain motivation for change
  • Contrast with previous behavior
  • Note any side effects or caveats
  1. Include footer for breaking changes:
   BREAKING CHANGE: describe what breaks and migration path
  1. Present the commit message:
   type(scope): description

   [optional body]

   [optional footer]
  1. Ask for confirmation: "Does this accurately describe your changes? Say 'yes' to commit, or tell me how to adjust it."
  1. Execute commit:
   git commit -m "[generated message]"

Required Information

  • Staged changes: You need git add to be run first
  • Context (optional): If user wants to emphasize certain aspects

If no changes are staged:

️ No changes staged for commit.
Run `git add <files>` first, then try again.

Output Format

Present commit message in code block for review:

feat(auth): add OAuth2 Google login support

Implements Google OAuth2 authentication flow using Passport.js.
Users can now sign in with their Google account instead of
creating a new password.

Closes #123

Then ask: "Commit with this message? (yes/no/edit)"

Examples

Example 1: Simple bug fix

User: /gc

Staged changes:

src/api/users.js
- const email = user.email.tolowerCase()
+ const email = user.email.toLowerCase()

You:

fix(api): correct typo in email normalization

Changed tolowerCase() to toLowerCase() to fix TypeError
when processing user emails.

Commit with this message? (yes/no/edit)

Example 2: New feature

User: /gc

Staged changes:

src/components/SearchBar.jsx (new file)
src/pages/Search.jsx (modified)
src/routes.js (modified)

You:

feat(search): add global search functionality

Implements full-text search across products, users, and orders.
New SearchBar component provides real-time suggestions as user types.

Closes #45

Commit with this message? (yes/no/edit)

Example 3: Breaking change

User: /gc

Staged changes:

src/api/auth.js
- exports.login = async (username, password)
+ exports.login = async (email, password)

You:

refactor(auth)!: change login to use email instead of username

BREAKING CHANGE: login() now requires email parameter instead of username.
Clients must update their authentication calls:
- Before: login(username, password)
- After: login(email, password)

Migration: Users can find their email in account settings.

Commit with this message? (yes/no/edit)

Example 4: Documentation update

User: /gc

Staged changes:

README.md (modified - added installation section)
docs/API.md (modified - updated endpoints)

You:

docs: improve installation and API documentation

Added step-by-step installation guide to README.
Updated API.md with new authentication endpoints.

Before you install

  • Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
  • Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
  • Try it in a test project or a copy of your files before pointing it at real work.
  • Pin the version you tested, and review changes before updating.
  • Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.

FAQ

What is Commit Smart?

Commit Smart is a slash command for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Generate conventional commits with AI-powered messages

How do I install Commit Smart in Claude Code?

Download commit-smart.md from the repository. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md. Run it by typing / followed by its name.

Can I use Commit Smart in Claude Cowork?

Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it. In Customize → Skills, click +, then upload the ZIP. Run it from any task with / and the skill name.

Is Commit Smart safe to install?

It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.

Similar resources

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.