Claude Agent Skill · by Github

Git Commit

Automatically generates conventional commit messages by analyzing your actual git diff instead of making you write them manually. It detects the commit type (fe

Install
Terminal · npx
$npx skills add https://github.com/github/awesome-copilot --skill git-commit
Works with Paperclip

How Git Commit fits into a Paperclip company.

Git Commit drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.

S
SaaS FactoryPaired

Pre-configured AI company — 18 agents, 18 skills, one-time purchase.

$27$59
Explore pack
Source file
SKILL.md124 lines
Expand
---name: git-commitdescription: 'Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping'license: MITallowed-tools: Bash--- # Git Commit with Conventional Commits ## Overview Create standardized, semantic git commits using the Conventional Commits specification. Analyze the actual diff to determine appropriate type, scope, and message. ## Conventional Commit Format ```<type>[optional scope]: <description> [optional body] [optional footer(s)]``` ## Commit Types | Type       | Purpose                        || ---------- | ------------------------------ || `feat`     | New feature                    || `fix`      | Bug fix                        || `docs`     | Documentation only             || `style`    | Formatting/style (no logic)    || `refactor` | Code refactor (no feature/fix) || `perf`     | Performance improvement        || `test`     | Add/update tests               || `build`    | Build system/dependencies      || `ci`       | CI/config changes              || `chore`    | Maintenance/misc               || `revert`   | Revert commit                  | ## Breaking Changes ```# Exclamation mark after type/scopefeat!: remove deprecated endpoint # BREAKING CHANGE footerfeat: allow config to extend other configs BREAKING CHANGE: `extends` key behavior changed``` ## Workflow ### 1. Analyze Diff ```bash# If files are staged, use staged diffgit diff --staged # If nothing staged, use working tree diffgit diff # Also check statusgit status --porcelain``` ### 2. Stage Files (if needed) If nothing is staged or you want to group changes differently: ```bash# Stage specific filesgit add path/to/file1 path/to/file2 # Stage by patterngit add *.test.*git add src/components/* # Interactive staginggit add -p``` **Never commit secrets** (.env, credentials.json, private keys). ### 3. Generate Commit Message Analyze the diff to determine: - **Type**: What kind of change is this?- **Scope**: What area/module is affected?- **Description**: One-line summary of what changed (present tense, imperative mood, <72 chars) ### 4. Execute Commit ```bash# Single linegit commit -m "<type>[scope]: <description>" # Multi-line with body/footergit commit -m "$(cat <<'EOF'<type>[scope]: <description> <optional body> <optional footer>EOF)"``` ## Best Practices - One logical change per commit- Present tense: "add" not "added"- Imperative mood: "fix bug" not "fixes bug"- Reference issues: `Closes #123`, `Refs #456`- Keep description under 72 characters ## Git Safety Protocol - NEVER update git config- NEVER run destructive commands (--force, hard reset) without explicit request- NEVER skip hooks (--no-verify) unless user asks- NEVER force push to main/master- If commit fails due to hooks, fix and create NEW commit (don't amend)