commit-plan

Organize working tree changes into cohesive, buildable commits ordered for PR review.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/Hallmanac/hall9k --skill commit-plan-hallmanac
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit-plan
Source: https://github.com/Hallmanac/hall9k/tree/main/.claude/skills/commit-plan
Command: npx skills add https://github.com/Hallmanac/hall9k --skill commit-plan-hallmanac

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Large change sets spanning domain logic, CLI code, tests, and docs are hard to review when dumped into one commit, and splitting them by hand often produces commits that do not build or violate dependency order. This Skill plans and executes a sequence of logically cohesive, individually buildable commits so a reviewer can follow the PR commit by commit. ## Core Features & Use Cases - Cohesive commit planning: Groups changes by functionality rather than file location, respecting dependency order (events before handlers, domain before CLI, package pins with first usage). - Build verification per commit: Verifies each commit builds in isolation using a throwaway git worktree or a tagged stash, avoiding the shared-stash hazards of bare git stash pop. - Recompose verification: After a reset-and-recompose workflow, validates the result with both git diff <pre-reset-tip> HEAD and git status --porcelain, with explicit recovery procedures for uncommitted or never-checkpointed files. - Use Case: After finishing a feature that touches domain events, handlers, CLI commands, and tests, run this Skill to produce an ordered series of conventional commits (e.g., S1-10: add task retry events) that each build cleanly and read naturally in review. ## Quick Start Organize the current uncommitted changes in this repository into cohesive, buildable commits ordered for PR review.

Frequently Asked Questions about commit-plan

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I split a large change set into multiple commits?

Inspect the full change set with git status and git diff, then group files by functionality rather than location, respecting dependency order such as events before handlers. Stage exactly the planned files per commit, using git add -p when a file's hunks split across commits.

How do I verify each commit builds on its own in git?

Building the working tree after committing does not prove the commit builds, since later changes remain uncommitted. Instead, use git worktree add with the commit SHA and run dotnet build there, then remove the throwaway worktree.

Why is a bare git stash pop dangerous with multiple worktrees?

The stash stack is shared across every worktree cut from the same bare repository, so a concurrent session's bare pop can apply another session's stashed changes. Use a tagged stash with git stash push -u -m and restore it by looking up its unique tag.

What commit message format should I use for feature branches?

Lead with the slice task ID if the branch names one (e.g., S1-10: summary), otherwise use conventional prefixes like feat:, fix:, or chore:. Add a blank line, a summary paragraph, and bullet points when the title alone is not enough, with no attribution trailers.

Why is git diff against the pre-reset tip not enough to verify a recompose?

A file never checkpointed before the pre-reset tip was recorded cannot appear in a diff against that tree, so the diff stays silent while the file sits uncommitted. git status --porcelain inspects the working tree directly and catches these files, so both checks must pass.