---
name: Git Commit
slug: git-commit-4
category: Automation
description: "Git Commit creates git commits using Nimbalyst's interactive commit proposal widget. Use it only when the user explicitly clicks 'Commit with AI' or asks for a smart commit; for regular commits, use standard git commands."
github: "https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/developer/claude-plugin/skills/git-commit"
language: TypeScript
stars: 1514
forks: 212
install: "npx degit https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/developer/claude-plugin/skills/git-commit ~/.claude/skills/git-commit"
installs_to: ~/.claude/skills/git-commit
source_path: packages/extensions/developer/claude-plugin/skills/git-commit/SKILL.md
collection_size: 7
category_size: 1523
collection_url: "https://dirskills.com/collections/nimbalyst/nimbalyst"
added: 2026-08-19T07:26:44.147Z
last_synced: 2026-08-19T07:26:44.147Z
canonical_url: "https://dirskills.com/skills/git-commit-4"
---

# Git Commit

Git Commit creates git commits using Nimbalyst's interactive commit proposal widget. Use it only when the user explicitly clicks 'Commit with AI' or asks for a smart commit; for regular commits, use standard git commands.

**Install:**

```bash
npx degit https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/developer/claude-plugin/skills/git-commit ~/.claude/skills/git-commit
```

## README

# Git Commit Workflow in Nimbalyst

This skill is for the "Commit with AI" feature which provides an interactive commit proposal widget.

**IMPORTANT: Only use this when:**
- The user clicks the "Commit with AI" button (you'll see a message asking you to use developer_git_commit_proposal)
- The user explicitly asks for "smart commit" or "commit with AI"

**Do NOT use this for:**
- Generic commit requests like "commit this", "commit the changes", "make a commit"
- For those, use standard git commands: `git add` and `git commit`

## Required Steps

1. **Check if file context is already provided in the prompt**
   When the user clicks "Commit with AI", the prompt includes a pre-fetched list of session-edited files with uncommitted changes. If you see a file list in the prompt (lines like `- path/to/file.ts (modified)`), skip step 2 and go directly to step 3 using those files.

2. **Get session-edited files (fallback only)**
   Only if no file list was provided in the prompt:
   Call `mcp__nimbalyst__get_session_edited_files` to get ALL files you edited during this AI session, then cross-reference with git status.

3. **Propose the commit**
   Call `mcp__nimbalyst__developer_git_commit_proposal` with:
   - `filesToStage`: ALL session-edited files that have changes (do not cherry-pick a subset)
   - `commitMessage`: A well-crafted commit message following the guidelines below
   - `reasoning`: Explanation of why these files were selected

## Commit Message Guidelines

- Start with type prefix: `feat:`, `fix:`, `refactor:`, `docs:`, `test:`, `chore:`
- **Focus on IMPACT and WHY, not implementation details**
- Title describes user-visible outcome or bug fixed
- Use bullet points (dash prefix) only for multiple distinct changes
- Keep lines under 72 characters
- No emojis
- Lead with problem solved or capability added, not technique used

### Good vs Bad Examples

**BAD**: "feat: add pre-edit tagging for non-agentic AI providers"
**GOOD**: "fix: OpenAI/LMStudio diffs now persist across app restarts"

**BAD**: "refactor: extract helper function for validation"
**GOOD**: "fix: prevent crash when user input is empty"

## Important

- Do NOT run `git add` or `git commit` commands directly
- Do NOT add "Co-Authored-By" or attribution lines
- Do NOT add marketing taglines or links
- Include ALL session-edited files that have changes - the user can deselect files in the widget if needed
- The widget allows users to review, edit the message, and select/deselect files before confirming
