{"id":"6bd4b4e1-ea09-4475-80ea-2c83564228dc","shortId":"JBXv6M","kind":"skill","title":"git-commit","tagline":"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 commi","description":"# Git Commit with Conventional Commits\n\n## Overview\n\nCreate standardized, semantic git commits using the Conventional Commits specification. Analyze the actual diff to determine appropriate type, scope, and message.\n\n## Conventional Commit Format\n\n```\n<type>[optional scope]: <description>\n\n[optional body]\n\n[optional footer(s)]\n```\n\n## Commit Types\n\n| Type       | Purpose                        |\n| ---------- | ------------------------------ |\n| `feat`     | New feature                    |\n| `fix`      | Bug fix                        |\n| `docs`     | Documentation only             |\n| `style`    | Formatting/style (no logic)    |\n| `refactor` | Code refactor (no feature/fix) |\n| `perf`     | Performance improvement        |\n| `test`     | Add/update tests               |\n| `build`    | Build system/dependencies      |\n| `ci`       | CI/config changes              |\n| `chore`    | Maintenance/misc               |\n| `revert`   | Revert commit                  |\n\n## Breaking Changes\n\n```\n# Exclamation mark after type/scope\nfeat!: remove deprecated endpoint\n\n# BREAKING CHANGE footer\nfeat: allow config to extend other configs\n\nBREAKING CHANGE: `extends` key behavior changed\n```\n\n## Workflow\n\n### 1. Analyze Diff\n\n```bash\n# If files are staged, use staged diff\ngit diff --staged\n\n# If nothing staged, use working tree diff\ngit diff\n\n# Also check status\ngit status --porcelain\n```\n\n### 2. Stage Files (if needed)\n\nIf nothing is staged or you want to group changes differently:\n\n```bash\n# Stage specific files\ngit add path/to/file1 path/to/file2\n\n# Stage by pattern\ngit add *.test.*\ngit add src/components/*\n\n# Interactive staging\ngit add -p\n```\n\n**Never commit secrets** (.env, credentials.json, private keys).\n\n### 3. Generate Commit Message\n\nAnalyze the diff to determine:\n\n- **Type**: What kind of change is this?\n- **Scope**: What area/module is affected?\n- **Description**: One-line summary of what changed (present tense, imperative mood, <72 chars)\n\n### 4. Execute Commit\n\n```bash\n# Single line\ngit commit -m \"<type>[scope]: <description>\"\n\n# Multi-line with body/footer\ngit commit -m \"$(cat <<'EOF'\n<type>[scope]: <description>\n\n<optional body>\n\n<optional footer>\nEOF\n)\"\n```\n\n## Best Practices\n\n- One logical change per commit\n- Present tense: \"add\" not \"added\"\n- Imperative mood: \"fix bug\" not \"fixes bug\"\n- Reference issues: `Closes #123`, `Refs #456`\n- Keep description under 72 characters\n\n## Git Safety Protocol\n\n- NEVER update git config\n- NEVER run destructive commands (--force, hard reset) without explicit request\n- NEVER skip hooks (--no-verify) unless user asks\n- NEVER force push to main/master\n- If commit fails due to hooks, fix and create NEW commit (don't amend)","tags":["git","commit","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-git-commit","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/git-commit","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (2,700 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:12.932Z","embedding":null,"createdAt":"2026-04-18T20:24:05.970Z","updatedAt":"2026-05-18T18:52:12.932Z","lastSeenAt":"2026-05-18T18:52:12.932Z","tsv":"'/commit':30 '1':32,148 '123':301 '2':41,177 '3':222 '4':257 '456':303 '72':255,307 'actual':63 'ad':290 'add':198,205,208,213,288 'add/update':108 'affect':242 'allow':135 'also':171 'amend':353 'analysi':11 'analyz':61,149,226 'appropri':67 'area/module':240 'ask':20,334 'auto':34 'auto-detect':33 'bash':151,193,260 'behavior':145 'best':279 'bodi':78 'body/footer':271 'break':121,131,141 'bug':90,294,297 'build':110,111 'cat':275 'chang':23,40,115,122,132,142,146,191,235,250,283 'char':256 'charact':308 'check':172 'chore':116 'ci':113 'ci/config':114 'close':300 'code':100 'command':319 'commi':44 'commit':3,6,9,22,27,46,49,55,59,73,82,120,216,224,259,264,273,285,341,350 'config':136,140,315 'convent':8,43,48,58,72 'creat':24,51,348 'credentials.json':219 'deprec':129 'descript':243,305 'destruct':318 'detect':35 'determin':66,230 'diff':64,150,158,160,168,170,228 'differ':192 'doc':92 'document':93 'due':343 'endpoint':130 'env':218 'eof':276,278 'exclam':123 'execut':4,258 'explicit':324 'extend':138,143 'fail':342 'feat':86,127,134 'featur':88 'feature/fix':103 'file':153,179,196 'fix':89,91,293,296,346 'footer':80,133 'forc':320,336 'format':74 'formatting/style':96 'generat':16,42,223 'git':2,5,26,45,54,159,169,174,197,204,207,212,263,272,309,314 'git-commit':1 'group':190 'hard':321 'hook':328,345 'imper':253,291 'improv':106 'intellig':12 'interact':210 'issu':299 'keep':304 'key':144,221 'kind':233 'line':246,262,269 'logic':98,282 'm':265,274 'main/master':339 'maintenance/misc':117 'mark':124 'mention':29 'messag':10,15,71,225 'mood':254,292 'multi':268 'multi-lin':267 'need':181 'never':215,312,316,326,335 'new':87,349 'no-verifi':329 'noth':163,183 'one':245,281 'one-lin':244 'option':75,77,79 'overview':50 'p':214 'path/to/file1':199 'path/to/file2':200 'pattern':203 'per':284 'perf':104 'perform':105 'porcelain':176 'practic':280 'present':251,286 'privat':220 'protocol':311 'purpos':85 'push':337 'ref':302 'refactor':99,101 'refer':298 'remov':128 'request':325 'reset':322 'revert':118,119 'run':317 'safeti':310 'scope':38,69,76,238,266,277 'secret':217 'semant':53 'singl':261 'skill' 'skill-git-commit' 'skip':327 'source-github' 'specif':60,195 'src/components':209 'stage':13,155,157,161,164,178,185,194,201,211 'standard':52 'status':173,175 'style':95 'summari':247 'support':31 'system/dependencies':112 'tens':252,287 'test':107,109,206 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'tree':167 'type':36,68,83,84,231 'type/scope':126 'unless':332 'updat':313 'use':17,56,156,165 'user':19,333 'verifi':331 'want':188 'without':323 'work':166 'workflow':147","prices":[{"id":"1829bba9-9cd5-4c17-a9f4-ecbe25fdcc04","listingId":"6bd4b4e1-ea09-4475-80ea-2c83564228dc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:24:05.970Z"}],"sources":[{"listingId":"6bd4b4e1-ea09-4475-80ea-2c83564228dc","source":"github","sourceId":"github/awesome-copilot/git-commit","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/git-commit","isPrimary":false,"firstSeenAt":"2026-04-18T21:49:33.717Z","lastSeenAt":"2026-05-18T18:52:12.932Z"},{"listingId":"6bd4b4e1-ea09-4475-80ea-2c83564228dc","source":"skills_sh","sourceId":"github/awesome-copilot/git-commit","sourceUrl":"https://skills.sh/github/awesome-copilot/git-commit","isPrimary":true,"firstSeenAt":"2026-04-18T20:24:05.970Z","lastSeenAt":"2026-05-07T22:40:14.063Z"}],"details":{"listingId":"6bd4b4e1-ea09-4475-80ea-2c83564228dc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"git-commit","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"c35f13b8760c18e5c087e08a762279c5ceab1fb6","skill_md_path":"skills/git-commit/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/git-commit"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"git-commit","license":"MIT","description":"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"},"skills_sh_url":"https://skills.sh/github/awesome-copilot/git-commit"},"updatedAt":"2026-05-18T18:52:12.932Z"}}