Skip to main content

commit-summary

Writes Conventional Commit messages from git changes, splits unrelated changes, flags breaking changes, and commits after approval. Use when writing messages or committing work.

Datos de origen

Repositorio
shipshitdev/skills
Última actividad en el origen
5 de octubre de 2026 a las 17:45
Idioma detectado de SKILL.md
inglés
Estrellas
37
Forks
3

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
7 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
commit-summary
description
Writes Conventional Commit messages from git changes, splits unrelated changes, flags breaking changes, and commits after approval. Use when writing messages or committing work.
compatibility
Requires git.
allowed-tools
Bash(git *)
metadata
{"portable_source":"https://github.com/ericlitman/open-pstack","portable_commit":"1b03678171f6f400ae2cc9dc4e7a4a6a13e4bb43","version":"2.2.2","tags":"git, workflow, commits, productivity"}
when_to_use
staged changes, split commits
# Commit Summary Generate accurate Conventional Commits from real git diffs. ## Authorized Scope Act only within the user's request and existing approval; loading this skill grants no new authority. Keep report-only requests report-only, honor the caller's target, host, provider, and cost limits, ask before expanding scope, and forward these limits to delegates. ## Contract Inputs: - Repository root - Staged changes, unstaged changes, or approved paths to stage - Optional commit type, scope, and breaking-change context Outputs: - Commit message candidate - Logical commit grouping when changes are mixed - Created commit hash after approval, if requested Creates/Modifies: - No changes in message-only mode - May stage files and create commits after approval External Side Effects: - None unless another workflow pushes the commit later Confirmation Required: - Before staging files - Before creating a commit - Before amending or squashing existing commits Delegates To: - `github-pr-publish` when the commit should be pushed and opened as a PR - `git-safety` when secrets or sensitive files appear in the diff ## Workflow 1. Inspect repository state: ```bash git status -sb git log --oneline -5 git diff --stat git diff --cached --stat ``` 2. Determine whether changes are already staged: - If staged changes exist, generate the message from `git diff --staged`. - If nothing is staged, inspect unstaged changes and propose logical groups. - If unrelated changes are mixed, recommend separate commits. 3. Guard against unsafe commits: - Do not stage secrets, `.env`, credentials, private keys, local databases, build caches, or large generated artifacts. - If sensitive files appear, stop and delegate to `git-safety`. - Do not include unrelated formatting churn in a feature/fix commit unless it is required by the change. 4. Choose the Conventional Commit type: - `feat`: user-visible feature or capability - `fix`: bug fix - `docs`: documentation only - `style`: formatting only, no behavior change - `refactor`: code restructuring without behavior change - `perf`: performance improvement - `test`: tests only - `build`: build system, package manager, dependencies - `ci`: CI/CD workflow changes - `chore`: maintenance with no user-facing behavior - `revert`: revert a previous commit 5. Detect scope: - Prefer package, app, domain, or subsystem names already used in history. - Omit scope if it would be vague (`misc`, `stuff`, `changes`). 6. Detect breaking changes: - Public API contract changes - CLI flags or output changes - Database/schema migrations requiring user action - Removed config keys, env vars, routes, events, or exported symbols Format as `type(scope)!: summary` and include a `BREAKING CHANGE:` footer. 7. Generate the commit message: ```text type(scope): imperative summary Optional body explaining why and any non-obvious implementation detail. Optional footer such as: BREAKING CHANGE: migration required because ... Refs: #123 ``` 8. If the user asked to commit, show the exact message and proceed within that authorization. Obtain approval only if the selected files or operation exceed the request: ```bash git add <approved-paths> git diff --staged --stat git commit -m "<subject>" -m "<body-or-footer>" ``` ## Quality Bar - Subject is imperative and under 72 characters. - Body explains why when the diff alone is not enough. - Message does not overstate behavior. - Commit contains one logical change. - Verification commands are not placed in the commit message unless the repo convention asks for them. ## Gotchas - **`git add .` can stage unintended files.** If `.gitignore` does not exclude `node_modules`, `.env*`, or build artifacts, always prefer `git add <specific-paths>`. Verify with `git diff --staged --stat` before committing. - **Breaking-change footer is case-sensitive.** The token must be exactly `BREAKING CHANGE:` (with a space, all caps) for tools like `semantic-release` and `conventional-changelog` to detect it. `BREAKING-CHANGE:` is not equivalent. - **Amended commits rewrite history.** Never amend a commit that has already been pushed to a shared branch. If the commit exists on the remote, create a new fix commit instead. - **Co-authored-by trailers conflict with repo conventions.** Some repos (including this project) explicitly forbid `Co-Authored-By` trailers. Check the repo's agent instruction file (`AGENTS.md`, `CLAUDE.md`, or equivalent) or recent commit history for the project convention before adding them. ## Examples - `feat(auth): add password reset flow` - `fix(api): handle null provider response` - `ci(actions): restrict pull request token permissions` - `refactor(utils): extract date formatting helper` - `docs: update GitHub project board workflow`
Ver en GitHub