一键导入
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 职业分类
Implement Ito Lite markdown changes by reading proposal/spec/design/tasks artifacts and updating manual task statuses. Use when applying or executing a prompt-only Ito Lite change without the ito CLI.
Archive completed Ito Lite changes by manually merging spec deltas into current specs and moving the change to archive. Use after implementation and verification when no ito CLI is available.
Create prompt-driven Ito Lite change proposal packages in markdown. Use for drafting proposal.md, spec deltas, optional design.md, and tasks.md without the ito CLI or validation executable.
Review Ito Lite markdown proposal packages before implementation. Use to check proposal.md, spec deltas, design.md, and tasks.md for consistency, risk, testability, and manual validation without the ito CLI.
Initialize a markdown-only Ito Lite workspace with no executables. Use when setting up prompt-driven change proposals, creating .ito-lite/project.md, or preparing a repo for Ito-style specs, changes, and tasks without the ito CLI.
Coordinate the prompt-only Ito Lite workflow for proposals, specs, tasks, reviews, implementation, and archive without the ito executable. Use when the user asks for Ito-style planning, change proposals, lightweight specs, or markdown-only change management.
| 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.
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, an 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 reasonable commit state:
WIP or waitUse 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? make check already validated the code; rerunning the hook would re-stash and recreate the race.
When the pre-commit hook does run (for example a human commit), it acquires an advisory lock at <gitdir>/precommit.lock. Before modifying the working tree, agents SHOULD check for it:
# 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 the message:
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)