一键导入
ito-commit
Create atomic git commits aligned to Ito changes. Use when you want to commit work after applying a change, optionally with auto-mode.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create atomic git commits aligned to Ito changes. Use when you want to commit work after applying a change, optionally with auto-mode.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
CLI for the Renzu MCP server. Call tools, list resources, and get prompts.
Use when implementing, executing, applying, building, coding, or developing a feature, change, requirement, enhancement, fix, or modification. Use when running tasks from a spec, proposal, or plan.
You MUST use this before any creative work - creating features, proposing changes,building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
| name | ito-commit |
| description | Create atomic git commits aligned to Ito changes. Use when you want to commit work after applying a change, optionally with auto-mode. |
Create atomic git commits aligned to Ito changes.
Concept: In Ito-driven workflows, you typically make progress by creating/applying a change. After applying and verifying a change, you should usually create a git commit that corresponds to that change.
Key behavior
001-02_add-tasks).When invoking this skill, check for these parameters in context:
auto_mode: boolean flag
true: create commits immediately without asking for confirmationfalse or missing: ask for confirmation of each commit messagechange_id: optional, a Ito change id (recommended)
ito list --jsonstacked_mode: optional boolean
true, create stacked branches per commit (only if tooling exists)false or missing, commit on current branchticket_id: optional identifier to include in commit messages
Verify repo has changes:
git status --shortIdentify Ito change context:
change_id not provided, run ito list --json and ask user to selectito status --change "<change-id>"Confirm the change is in a good commit state:
Use conventional commit format:
type(scope): descriptionExamples:
feat(todo): add task model and parsing (001-02_add-task-core)fix(storage): persist tasks atomically (002-01_storage-save)prek (the pre-commit runner) stashes unstaged changes before running hooks during git commit. If another process modifies the working tree mid-run, the stash pop can conflict or lose work.
Agents MUST use the check-then-commit pattern to avoid stash races:
# 1. Run all checks WITHOUT stashing (operates on all files, no stash involved)
make check
# 2. Stage files
git add <files>
# 3. Commit with --no-verify to skip the hook (checks already passed)
git commit --no-verify -m "type(scope): description"
Why --no-verify? The make check run already validated the code. Running the hook again during commit would re-stash and re-introduce the race condition. The --no-verify flag is safe here because validation already happened.
Advisory lock: When the pre-commit hook does run (human commits), it acquires an advisory lock at <gitdir>/precommit.lock. Before modifying the working tree, agents SHOULD check for this lock:
# Check if a pre-commit hook is currently running
if ito-rs/tools/precommit-lock.sh check 2>/dev/null; then
echo "Pre-commit hook is running — wait before modifying files"
ito-rs/tools/precommit-lock.sh wait --timeout 120
fi
Read diffs: git diff and git status --short
Run pre-commit checks: make check
--no-verify is only safe after make check passesStage files for the selected change (prefer staging only files touched by that change)
Decide commit messages:
auto_mode is true: commit immediatelyCommit with --no-verify flag: git commit --no-verify -m "<message>"
Verify after each commit: git status --short
After committing, show:
git log -1 --oneline)