Agent Skills: Git Commit Skill

[Git & Release] Stage changes and create git commits with conventional commit messages. Use when asked to "commit", "stage and commit", "save changes", or after completing implementation tasks. Alias for /git/cm.

UncategorizedID: duc01226/easyplatform/commit

Install this agent skill to your local

pnpm dlx add-skill https://github.com/duc01226/EasyPlatform/tree/HEAD/.claude/skills/commit

Skill Files

Browse the full folder contents for commit.

Download Skill

Loading file tree…

.claude/skills/commit/SKILL.md

Skill Metadata

Name
commit
Description
"[Git] Stage changes and create git commits with conventional commit messages. Use when asked to "commit", "stage and commit", "save changes", or after completing implementation tasks. Alias for /git/cm."

[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.

Quick Summary

Goal: Stage changes and create well-structured git commits following Conventional Commits format.

Workflow:

  1. Analyze Changes — Run git status/diff to understand staged and unstaged changes
  2. Stage Changes — Add relevant files (specific or all)
  3. Generate Message — Detect type (feat/fix/refactor/etc.), extract scope from paths, write subject
  4. Commit — Create commit with HEREDOC and attribution footer
  5. Verify — Confirm with git status and git log

Key Rules:

  • DO NOT push unless explicitly requested
  • Never commit secrets, credentials, or .env files
  • Never use --amend or --no-verify unless explicitly requested
  • Include Generated with [Claude Code] attribution footer

Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).

Git Commit Skill

Stage changes and create well-structured git commits following Conventional Commits format.

IMPORTANT: Bypass git-commit-block Hook

Before running any git add or git commit commands, create the marker file to bypass the git-commit-block hook:

mkdir -p "$CLAUDE_PROJECT_DIR/tmp/claude-temp" && touch "$CLAUDE_PROJECT_DIR/tmp/claude-temp/.commit-skill-active"

After committing (success or failure), always clean up the marker:

rm -f "$CLAUDE_PROJECT_DIR/tmp/claude-temp/.commit-skill-active"

Workflow

Step 1: Analyze Changes

# Check current status (never use -uall flag)
git status

# See staged changes
git diff --cached

# See unstaged changes
git diff

# Check recent commit style
git log --oneline -5

Step 2: Stage Changes

# Stage all changes
git add .

# Or stage specific files
git add <file-path>

Step 2.5: Docs-Update Triage

Before committing, check if staged files impact documentation:

  1. Run git diff --name-only --cached to list staged files
  2. Check if any staged file matches doc-impact patterns:
    • src/Services/** → may impact docs/business-features/
    • .claude/skills/** → may impact .claude/docs/skills/
    • .claude/hooks/** → may impact .claude/docs/hooks/
    • .claude/workflows.json → may impact CLAUDE.md workflow table
    • src/WebV2/** → may impact frontend pattern docs
  3. If matches found: invoke /docs-update skill, then re-stage any doc changes with git add
  4. If no matches: skip (log "No doc-impacting files staged")

Step 3: Generate Commit Message

Analyze staged changes and generate message following Conventional Commits:

<type>(<scope>): <subject>

Type Detection

| Change Pattern | Type | | ----------------------- | ---------- | | New file/feature | feat | | Bug fix, error handling | fix | | Code restructure | refactor | | Documentation only | docs | | Tests only | test | | Dependencies, config | chore | | Performance improvement | perf | | Formatting only | style |

Scope Rules

Extract from file paths:

  • src/auth/auth
  • .claude/skills/claude-skills
  • libs/{shared-lib}/{shared-lib}
  • Multiple unrelated areas → omit scope

Subject Rules

  • Imperative mood ("add" not "added")
  • Lowercase start
  • No period at end
  • Max 50 characters

Step 4: Commit

Use HEREDOC for proper formatting:

git commit -m "$(cat <<'EOF'
type(scope): subject

Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"

Step 5: Verify

git status
git log -1

Examples

feat(employee): add department filter to list
fix(validation): handle empty date range
refactor(auth): extract token validation to service
chore(deps): update Angular to v19
chore(claude-skills): add commit skill
docs(readme): update installation instructions

Critical Rules

  • ALWAYS stage all unstaged changes before committing — run git add . (or specific files) so nothing is left behind
  • DO NOT push to remote unless explicitly requested
  • Review staged changes before committing
  • Never commit secrets, credentials, or .env files
  • Never use git commit --amend unless explicitly requested AND the commit was created in this session AND not yet pushed
  • Never skip hooks with --no-verify unless explicitly requested
  • Include attribution footer: Generated with [Claude Code](https://claude.com/claude-code)

Related

  • changelog
  • branch-comparison

Closing Reminders

  • MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using TaskCreate BEFORE starting
  • MANDATORY IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
  • MANDATORY IMPORTANT MUST ATTENTION cite file:line evidence for every claim (confidence >80% to act)
  • MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality