git-commit
Scannednpx machina-cli add skill aiskillstore/marketplace/git-commit --openclawGit Commit
Create well-structured git commits with conventional commit messages based on staged changes.
Parameters
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Optional commit message override"
},
"type": {
"type": "string",
"enum": ["feat", "fix", "docs", "style", "refactor", "test", "chore"],
"description": "Conventional commit type",
"default": "auto"
},
"scope": {
"type": "string",
"description": "Optional scope for the commit"
}
}
}
When to Use
- User asks to "commit" changes
- User wants to "save" their work to git
- User asks for help with commit messages
- User wants to stage and commit files
Methodology
Phase 1: Status Check
- Run
git statusto see current state - Run
git diff --stagedto see staged changes - Run
git diffto see unstaged changes - Check recent commit history for message style
Phase 2: Analysis
- Categorize Changes: Identify what changed (new files, modifications, deletions)
- Determine Type: Is this a feature, fix, refactor, etc.?
- Identify Scope: What component/module is affected?
- Summarize Purpose: What does this change accomplish?
Phase 3: Commit Creation
- Stage relevant files if not already staged
- Generate conventional commit message
- Execute the commit
- Verify success with
git status
Phase 4: Output
Report:
- What was committed
- The commit message used
- The new commit hash
Guidelines
- Follow Conventional Commits format:
type(scope): description - Keep subject line under 72 characters
- Use imperative mood ("Add feature" not "Added feature")
- Don't commit sensitive files (.env, credentials, etc.)
- Don't use --force or --amend unless explicitly requested
- Include meaningful description of WHY, not just WHAT
Examples
Example 1: Auto Commit
User Input: "Commit my changes"
Expected Behavior:
- Run
git statusandgit diffto understand changes - Analyze the nature of changes
- Generate appropriate commit message
- Stage files if needed
- Create commit and report success
Example 2: Specific Type
User Input: "创建一个 fix 类型的 commit"
Expected Behavior:
- 检查当前的改动
- 确认这些改动符合 "fix" 类型
- 生成格式为
fix(scope): 描述的提交信息 - 执行提交并报告结果
Source
git clone https://github.com/aiskillstore/marketplace/blob/main/skills/21pounder/git-commit/SKILL.mdView on GitHub Overview
Git Commit helps you generate well-structured, conventional commit messages based on what you’ve staged. It analyzes changes, assigns a conventional type and optional scope, and builds a message that adheres to the conventional-commit format.
How This Skill Works
The skill runs git status, git diff --staged, and git diff to understand state, then analyzes changes to categorize them and determine type and scope. It stages files if needed, constructs a conventional commit message (type(scope): description), executes the commit, and reports the new hash.
When to Use It
- User asks to "commit" changes
- User wants to "save" their work to git
- User asks for help with commit messages
- User wants to stage and commit files
- User wants to generate a conventional commit message with a specific type or scope
Quick Start
- Step 1: Run git status and git diff --staged to understand current changes
- Step 2: Analyze changes to determine type, scope, and message
- Step 3: Stage files if needed, commit with a conventional message, and verify with git status
Best Practices
- Follow Conventional Commits format: type(scope): description
- Keep subject line under 72 characters
- Use imperative mood (e.g., 'Add feature' rather than 'Added feature')
- Don't commit sensitive files (.env, credentials, etc.)
- Include a meaningful description of WHY, not just WHAT
Example Use Cases
- User input: 'Commit my changes' results in an auto-generated conventional commit after analyzing changes
- User input: 'create a fix 타입 commit' generates a fix(scope): 描述 and commits accordingly
- User updates documentation: generates a docs(scope): update README with usage notes
- User refactors code: creates a refactor(scope): optimize module initialization and commits
- User wants to review staged changes before committing and then proceeds with the commit