EasyPlatform commit
[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.
git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/commit" ~/.claude/skills/duc01226-easyplatform-commit && rm -rf "$T"
.claude/skills/commit/SKILL.md<!-- SYNC:critical-thinking-mindset -->[IMPORTANT] Use
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.TaskCreate
<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
<!-- /SYNC:ai-mistake-prevention -->AI Mistake Prevention — Failure modes to avoid on every task:
- Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
- Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
- Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
- Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
- When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
- Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
- Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
- Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
- Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
- Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
Quick Summary
Goal: Stage changes and create well-structured git commits following Conventional Commits format.
Workflow:
- Analyze Changes — Run git status/diff to understand staged and unstaged changes
- Stage Changes — Add relevant files (specific or all)
- Generate Message — Detect type (feat/fix/refactor/etc.), extract scope from paths, write subject
- Commit — Create commit with HEREDOC and attribution footer
- 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
or--amend
unless explicitly requested--no-verify - Include
attribution footerGenerated with [Claude Code]
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:
PROJ=$(git rev-parse --show-toplevel) && mkdir -p "$PROJ/tmp/claude-temp" && touch "$PROJ/tmp/claude-temp/.commit-skill-active"
After committing (success or failure), always clean up the marker:
rm -f "$(git rev-parse --show-toplevel)/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:
- Run
to list staged filesgit diff --name-only --cached - Check if any staged file matches doc-impact patterns:
→ may impactsrc/Services/**docs/business-features/
→ may impact.claude/skills/**.claude/docs/skills/
→ may impact.claude/hooks/**.claude/docs/hooks/
→ may impact.claude/workflows.json
workflow tableCLAUDE.md
→ may impact frontend pattern docssrc/WebV2/**
- If matches found: invoke
skill, then re-stage any doc changes with/docs-updategit add - 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 | |
| Bug fix, error handling | |
| Code restructure | |
| Documentation only | |
| Tests only | |
| Dependencies, config | |
| Performance improvement | |
| Formatting only | |
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
(or specific files) so nothing is left behindgit add . - DO NOT push to remote unless explicitly requested
- Review staged changes before committing
- Never commit secrets, credentials, or .env files
- Never use
unless explicitly requested AND the commit was created in this session AND not yet pushedgit commit --amend - Never skip hooks with
unless explicitly requested--no-verify - Include attribution footer:
Generated with [Claude Code](https://claude.com/claude-code)
Related
changelogbranch-comparison
Closing Reminders
- MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - MANDATORY IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- MANDATORY IMPORTANT MUST ATTENTION cite
evidence for every claim (confidence >80% to act)file:line - MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->