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.

소스 정보

저장소
shipshitdev/skills
최근 소스 활동
2026년 10월 5일 17:45
감지된 SKILL.md 언어
영어
스타
37
포크
3

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
7 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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`
GitHub에서 보기