一键导入
commit-all
Commit all dirty files in the worktree, grouped into semantically coherent commits. Excludes temporary artifacts and scratch notes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Commit all dirty files in the worktree, grouped into semantically coherent commits. Excludes temporary artifacts and scratch notes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | commit-all |
| description | Commit all dirty files in the worktree, grouped into semantically coherent commits. Excludes temporary artifacts and scratch notes. |
| argument-hint | [--dry-run] [--include-untracked] |
| allowed-tools | Bash(*) Read Glob Grep |
Commit all uncommitted changes in the worktree, organized into semantically coherent groups. Each group becomes a separate commit with a descriptive message.
Parse $ARGUMENTS for:
--dry-run (optional): Show the planned commit groups without actually committing. Default: false.--include-untracked (optional): Include untracked files even if they look temporary. Default: false (temporary files are excluded).Run git status --porcelain to collect all dirty files (modified, added, deleted, untracked).
Display the full list to the user.
Exclude files that appear to be temporary artifacts or scratch notes unless --include-untracked is set. Exclusion criteria:
git status --ignored --porcelain if needed.*.tmp, *.bak, *.swp, *.swo, *~scratch.*, memo.*, notes.*, TODO.txt, todo.txttmp/, temp/, scratch/, .scratch/__pycache__/, *.pyc, *.pyonode_modules/, dist/, build/, .cache/*.log (unless in a committed logs/ directory structure)For each excluded file, note the reason. Present the exclusion list to the user.
If any exclusion seems questionable (e.g., a file with a real extension like .md or .sh in a scratch-like directory), flag it explicitly and ask the user.
Group the remaining files into semantically coherent commits. Criteria for grouping:
Use these heuristics to form groups, then determine commit order (dependencies first).
Present the grouping plan:
## Planned Commits
### Commit 1: <summary>
Files:
- path/to/file1 (modified)
- path/to/file2 (new)
Message: "<draft commit message>"
### Commit 2: <summary>
Files:
- path/to/file3 (modified)
Message: "<draft commit message>"
...
### Excluded (temporary/generated)
- path/to/temp (reason)
If --dry-run, stop here.
Otherwise, ask the user to confirm the plan. Accept adjustments (move files between groups, change messages, include/exclude files).
For each commit group, in order:
git add <file1> <file2> ...Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>.git status that the expected files were committed.Use heredoc format for commit messages:
git commit -m "$(cat <<'EOF'
<commit message>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
EOF
)"
Report:
## Commit Summary
| # | Commit | Files | Hash |
|---|--------|-------|------|
| 1 | <message> | N files | abc1234 |
| 2 | <message> | N files | def5678 |
...
Total: N commits, M files committed
Excluded: K files (temporary/generated)
This skill is project-agnostic. Do NOT hardcode project-specific directory names, file patterns, or conventions into this file. Instead:
CLAUDE.md at runtime for project directory structure, conventions, and testing policies..gitignore at runtime for project-specific exclusion patterns.This keeps the skill portable across repositories.
git add -A or git add . — always add specific files.--no-verify).git log --oneline -10).