commit
/commit
Analyze git diffs or staged changes and generate conventional commit messages that explain WHY a change was made. Supports auto-detecting type and scope, intelligent file staging, and interactive overrides. Use when asked to "write a commit message", "generate a commit", "describe my changes", "commit this", "summarize my diff", or "/commit".
- Author
- nitinjain999 ↗
- Repository
- platform-skills ↗
- Licence
- Apache-2.0
- Last repository change
- 24.10.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 24.10.2026, without references to retired models or APIs.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
What it does and when to use it
Analyze git diffs or staged changes and generate conventional commit messages that explain WHY a change was made. Supports auto-detecting type and scope, intelligent file staging, and interactive overrides. Use when asked to "write a commit message", "generate a commit", "describe my changes", "commit this", "summarize my diff", or "/commit".
Triggers from the description
Arguments
/commit [analyze|generate|stage|validate] [optional: type/scope override or description]
Original author description
Analyze git diffs or staged changes and generate conventional commit messages that explain WHY a change was made. Supports auto-detecting type and scope, intelligent file staging, and interactive overrides. Use when asked to "write a commit message", "generate a commit", "describe my changes", "commit this", "summarize my diff", or "/commit".
How it works
- Mode: analyze
- Mode: generate
- Mode: stage
- Mode: validate
SKILL.md preview
--- name: commit description: Analyze git diffs or staged changes and generate conventional commit messages that explain WHY a change was made. Supports auto-detecting type and scope, intelligent file staging, and interactive overrides. Use when asked to "write a commit message", "generate a commit", "describe my changes", "commit this", "summarize my diff", or "/commit". argument-hint: "[analyze|generate|stage|validate] [optional: type/scope override or description]" title: "Commit Command" sidebar_label: "commit" custom_edit_url: null --- Analyze changes and generate a Conventional Commits message explaining the motivation behind the change. ## Mode: analyze Inspect staged or unstaged changes and classify the commit type and scope. Steps: 1. Run `git diff --staged` — if empty, run `git diff HEAD` to capture unstaged changes 2. Group changed files by logical concern (feature, fix, refactor, docs, config, tests, ci) 3. Identify the type from the change pattern: - `feat` — new capability or behavior added - `fix` — corrects broken or incorrect behavior - `refactor` — restructures code without changing behavior - `perf` — measurably improves performance - `test` — adds or corrects tests only - `docs` — documentation only - `chore` — build tooling, dependency updates, config changes with no production effect - `ci` — changes to CI/CD pipelines or workflow files - `revert` — reverting a prior commit 4. Infer scope from the most specific common ancestor: module name, service name, directory, or filename 5. Check for breaking changes: API removals, signature changes, config renames, behavior inversions — flag with `!` and add `BREAKING CHANGE:` footer 6. Report: detected type, scope, whether breaking, and a one-line WHY summary Reference: `references/conventional-commits.md` → Type Classification, Scope Rules ## Mode: generate Generate a complete conventional commit message from diff or description. Steps: 1. Run `analyze` mode first to determine type, scope, and breaking status 2. Write the subject line: - Format: `<type>(<scope>): <imperative verb> <what and why>` - Max 72 characters - Imperative mood: "add", "fix", "remove", "update", "extract" — not "added", "fixes" - Focus on the WHY, not just the what: "fix(auth): validate token expiry before redirect" not "fix(auth): update token check" 3. Write the body (when the subject line is insufficient): - Wrap at 72 characters - Explain the problem being solved and the approach chosen - One blank line between subject and body 4. Write footers: - `BREAKING CHANGE: <description>` for breaking changes (also add `!` to subject) - `Fixes #<issue>` or `Closes #<issue>` for linked issues - `Co-authored-by:` if applicable 5. Output the full message in a code block ready to copy Message structure: ``` <type>(<scope>): <subject> <body — optional, explains motivation and approach> <footers — optional> ``` Reference: `references/conventional-commits.md` → Message Structure, Body and Footer Rules ## Mode: stage Intelligently stage files for a logical, atomic commit. Steps: 1. Run `git status` to list all modified, added, and deleted files 2. Group files by logical change: - Source files that implement a single feature or fix together - Test files that cover those source changes - Documentation that describes those changes - Config or build changes that support those changes 3. Separate unrelated changes into distinct groups — each group should be a separate commit 4. If multiple logical groups exist: present the groupings and ask which to stage first 5. Stage the chosen group: `git add <files>` 6. Confirm staged set with `git diff --staged --stat` 7. Run `generate` mode to produce the commit message for the staged group Reference: `references/conventional-commits.md` → Atomic Commits ## Mode: validate Validate an existing commit message against the Conventional Commits specification. Steps: 1. Accept the message as input (or read from `git log -1 --format=%B`) 2. Check subject line: - Has valid type from the allowed list - Scope (if present) uses lowercase, no spaces - `!` before `:` only when `BREAKING CHANGE` footer is also present - Subject after `:` starts with lowercase, no period at end, ≤ 72 chars 3. Check body (if present): - Separated from subject by exactly one blank line - Lines wrap at 72 characters 4. Check footers (if present): - `BREAKING CHANGE:` value is non-empty - Issue references use correct format (`Fixes #N`, `Closes #N`) 5. Report: PASS or list of violations with the exact rule broken and the corrected line Reference: `references/conventional-commits.md` → Validation Rules
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · nitinjain999/platform-skills | 100 | Apache-2.0 |
| rmsaitam/skill-git-conventions | 100 | MIT |
| opsmill/infrahub | 100 | Apache-2.0 |
| kdlbs/kandev | 100 | AGPL-3.0 |
| vinta/hal-9000 | 100 | MIT |
| restarter/lets-workflow | 100 | MIT |
| mickeyyaya/evolve-loop | 100 | Apache-2.0 |
| friendlyinternet/nuxt-crouton | 100 | MIT |
| yonatangross/orchestkit | 100 | MIT |
Identical content appears in 1 other GitHub folders. We show one copy with the highest score.
Database snapshot: 13.11.2026 · package version 9dab2b829c40 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100commit-message-storyteller
Analyzes git diffs or staged changes and generates narrative commit messages that explain WHY a change was made, not just what changed — following Conventional Commits format. Use when asked to "write a commit message", "describe my changes", "what should I commit this as", or… - 100git-commit
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… - 100git-commit
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… - 100git-commit
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… - 100git-commit
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) Creating a feature branch… - 100git-commit
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…