一键导入
identify-commits
Partition the current working tree into the smallest coherent commit chunks. Use when a diff spans multiple concerns and needs to be split.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Partition the current working tree into the smallest coherent commit chunks. Use when a diff spans multiple concerns and needs to be split.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a feature branch using this repo's branch-naming conventions.
Creates a new vcs branch. Should rarely be called directly.
Decompose the working tree into clean commits and open a PR. Use when the user asks to ship the current change end-to-end.
Create a commit following this repo's conventions (Conventional Commits). Use when the user asks to commit changes. Optional file list scopes the commit.
Creates a vcs commit. Should rarely be called directly.
Opens a vcs pull request. Should rarely be called directly.
| name | identify-commits |
| description | Partition the current working tree into the smallest coherent commit chunks. Use when a diff spans multiple concerns and needs to be split. |
| allowed-tools | Bash, Read |
Given a messy working tree, propose the smallest coherent commit chunks the user can ship. Output is a plan the user approves (or edits) before any commit runs.
Read the diff surface. Run the deterministic diff parse:
.claude/skills/identify-commits/scripts/diff-summary.sh
This prints a list of changed files with per-file line counts (insertions + deletions) and whether each is staged, unstaged, or untracked. The script is mechanical — treat its output as the ground truth for what changed.
Read the conventions. Read docs/harness/vcs/commits.md so the
proposed commit messages follow this repo's format.
Cluster by concern. Group the changed files into chunks where each chunk is one coherent idea (one type + scope). Signals:
chore chunk on their own.Draft a proposed message per chunk. Conventional Commits format, imperative mood, under 72 chars, scope when localised.
Output the plan. Present as a numbered list the user can accept or edit:
1. feat(api): add due_date to Todo model
files: api/app/models.py, api/tests/test_models.py
2. feat(api): expose due_date on /todos endpoint
files: api/app/routes/todos.py, api/tests/test_todos.py
3. feat(web): show due_date on cards
files: web/src/components/Card.tsx, web/src/styles/card.css
Wait for approval. Do not run any commits. Hand the approved plan
to whoever called this skill (usually /commit-and-push, occasionally
the user directly).