commit
Create well-structured atomic commits with conventional commit messages. Use when ready to commit working changes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create well-structured atomic commits with conventional commit messages. Use when ready to commit working changes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Write a feature spec from requirements in .claude/input/. Use when starting a new feature, before implementation begins.
Orchestrate the full spec → implement → review → fix → commit pipeline. Use when shipping a complete feature end-to-end.
Break a concept document, draft, or product brief into independent PRDs that each feed into /ship. Use when input contains multiple features or a big-picture vision.
Ship decomposed PRDs in parallel. Analyzes file conflicts, groups into batches, runs /ship in isolated worktrees, merges results. Use after /decompose.
Implement a feature from a spec file in .claude/specs/. Use after a spec is written and approved.
Audit dependencies for vulnerabilities and scan for committed secrets. Use periodically or when security alerts flag a dependency.
| name | commit |
| description | Create well-structured atomic commits with conventional commit messages. Use when ready to commit working changes. |
| disable-model-invocation | true |
| argument-hint | [--all] |
| effort | medium |
| metadata | {"note":"When invoked by /ship, runs with sonnet model for cost efficiency"} |
Create one or more commits from the current working tree changes.
$ARGUMENTS is optional. Pass --all to skip the diff analysis and commit everything as a single commit.
git status to see staged and unstaged changesgit diff HEAD (staged + unstaged) to understand the full scope of changesIf multiple distinct concerns are detected (and --all was not passed):
If a single concern (or --all was passed):
Read project commit conventions: Check if .claude/rules/branch-management.md exists. If it does, read it to understand project-specific branch naming and commit message conventions. Then:
git branch --show-current to get the current branch name^(\d+)\.(Bug|Improvement|Feature)\.([^.]+)\.(.+)$ extracts ticket ID from segment 1)^(\d+)\.(.+)$ to extract at least the ticket numberbranch-management.md exists, skip this stepBacklog check: if the commit message references a task/PRD identifier (e.g. PRD-17, TASK-5), search for a backlog or tracker file in .claude/input/ that contains that identifier as a heading. If found and the heading does not already have a ✅ marker, add ✅ to the heading and include the file in the commit. Skip this step if no backlog file exists.
Run pre-commit checks in this order — read the commands from CLAUDE.md (skip any not listed):
a. Typecheck (e.g. tsc --noEmit)
b. Lint (e.g. npm run lint)
/4_test, not commit gatesStage the appropriate files:
git add <files>git add -ACompose the commit message using conventional commit format:
<emoji> <type>(<scope>): <short description>
<scope> is optional — use the primary directory or module affected (e.g. scoring, ui, store)Type → emoji mapping:
| Type | Emoji | Use when |
|---|---|---|
feat | ✨ | New feature or capability |
fix | 🐛 | Bug fix |
docs | 📝 | Documentation only |
refactor | ♻️ | Code restructured, no behaviour change |
test | ✅ | Tests added or updated |
chore | 🔧 | Build, config, tooling, dependencies |
perf | ⚡️ | Performance improvement |
style | 🎨 | Formatting, whitespace, no logic change |
ci | 🚀 | CI/CD pipeline changes |
revert | ⏪️ | Reverts a previous commit |
Project-specific ticket suffix: If a ticket ID was extracted in step 4, append #<ticketId> to the end of the commit message. Ensure the # is NOT at the start of the message (git treats leading # as a comment). The final format becomes:
<emoji> <type>(<scope>): <short description> #<ticketId>
Example: ✨ feat(ui): add loading spinner to search results #1234
If the project's branch-management.md defines a different commit message format, follow that format instead.
Create the commit:
git commit -m "<message>"
If multiple commits were planned, repeat steps 7–9 for each remaining group
Report: