commit-split
Inspect all changed files, group by logical concern, and guide atomic per-concern commits following DOTS's 50/72 rule and commit trailer convention.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Inspect all changed files, group by logical concern, and guide atomic per-concern commits following DOTS's 50/72 rule and commit trailer convention.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Author a culture's armor items and swap troop equipment rosters via the generator + validation pipeline. Use when adding/revamping armor. Enforces the canonical-folder + cover-attribute rules.
Give DOTS lords lore-driven skill values and traits via the DOTS SkillSet system. Use when a canonical lord has wrong stats or a culture roster needs a balance pass.
Author or revamp a DOTS culture's armor set, troop tree, and recruitment wiring end-to-end. Use for new cultures or troop-tree revamps. Follows docs/ai-includes/new-culture-authoring.md.
Use when reviewing an external repo or article to adopt practices into DOTS — security-vet first, map novel vs duplicative, port (never install), review, commit your changes.
Structured 4-phase self-debug for failing agent runs (looping, drifting, burning tokens). Capture, diagnose, contained recovery, report. Complements /investigate (which is for code bugs); this skill is for harness/agent failures.
Incrementally fix dotnet build errors with minimal diffs, one error at a time
| name | commit-split |
| description | Inspect all changed files, group by logical concern, and guide atomic per-concern commits following DOTS's 50/72 rule and commit trailer convention. |
Review all changed files, split them into logical atomic commits, and execute each one in sequence. Produces a clean, reviewable git history for multi-file session changesets.
git status
git diff --name-only
git diff --name-only --cached
git ls-files --others --exclude-standard
List ALL files: staged, unstaged, and untracked. Present a consolidated list.
Group files using these DOTS-specific heuristics. One group = one commit.
| Files | Commit type | Example message |
|---|---|---|
Main/Features/<Name>/**/*.cs | feat: or fix: | feat: add alignment-aware execution penalties |
DOTS.Tests/Features/<Name>/** | test: | test: add AlignmentService coverage |
Main/_Module/ModuleData/**/*.xml, *.xslt | data: | data: add gondor equipment templates |
docs/features/*.md | docs: | docs: add alignment-aware-execution feature doc |
CHANGELOG.md | docs: | docs: update changelog for execution system |
CLAUDE.md, .claude/** | chore: | chore: update claude code tooling |
Main/IoC.cs, Main/SubModule.cs | chore: | chore: register alignment feature in IoC (or bundle with feat:) |
docs/adrs/** | docs: | docs: add ADR-010 for execution alignment approach |
| Bug fixes spanning multiple files | fix: | fix: resolve null ref in WargAttackService |
Rules for grouping:
test: commitIoC.cs / SubModule.cs wiring → bundle with the feature commit it wires infeat: commitPresent the proposed groups as a numbered list:
Proposed commits (N total):
1. feat: [message] — [files]
2. test: [message] — [files]
3. data: [message] — [files]
4. docs: [message] — [files]
5. chore: [message] — [files]
Ask: "Does this grouping look right? Any changes before I start committing?"
For each proposed commit:
Stage exactly the files for this group:
git add [file1] [file2] ...
Review staged diff to confirm correct files:
git diff --cached --stat
Apply trailers — for each commit, assess which optional trailers apply:
Constraint: — if a TaleWorlds limitation forced a suboptimal approachRejected: — if a notable alternative was considered and droppedNot-tested: — if Harmony patches or in-game behavior can't be unit testedResearch: — if a TaleWorlds class was decompiled to inform this changeSave-compat: — if this change affects save file compatibilityWrite commit (50-char subject, 72-char body wrap, no AI attribution):
git commit -m "$(cat <<'EOF'
[type]: [subject under 50 chars]
[Optional body — context, why, not what]
[Optional trailers]
EOF
)"
Confirm: git log --oneline -1 — show user what was committed.
Repeat for each group.
After all commits:
git log --oneline -N # N = number of commits made
git status # should be clean
Remind: run /verify to confirm build + tests still pass after the commit split.