awesome-commit-plan

Installation
SKILL.md

Commit Plan

Read a codebase, map how its parts depend on each other, and split it into a commit series where every commit builds and its tests pass. The output is one file: the commits, numbered #1 to #N, each with its message and its exact file set. Nothing is committed, nothing is pushed, and the repository under analysis is never written to.

Why the plan is a separate artifact: a split is a claim about a codebase — that these files form a unit, that this module compiles without the one landing three commits later, that this test has a subject to test. Claims are cheap to write and expensive to discover wrong at commit 14 of 40. A plan file is reviewable before any of that, re-splittable on one word from the user, and executable later by hand or by awesome-git-history-rebuild.

Core principle

BISECTABLE IS A MEASURED PROPERTY, NOT A DESIGN GOAL. A plan that says every commit builds has claimed something; a plan whose ladder was replayed in a scratch clone with the repository's own build and test commands run at every step has proven it. Phase 5 does the replay. A commit that fails its gate is regrouped and the ladder re-run — never shipped with a note that it "should" work.

Four invariants hold throughout:

  • Read-only against the user's code. All work happens in a scratch clone or a temporary worktree. The user's checkout is never staged, committed, cleaned or checked out. If the run dies halfway, nothing of theirs moved.
  • Every tracked path lands in exactly one commit. Coverage is proven by set arithmetic against git ls-files, not by inspection. An unassigned path is a stop.
  • Never invent work that did not happen. Split along seams that exist in the final tree. A fix: commit is honest only when the tree carries the fix; a fabricated bug-and-repair arc is a lie that reaches the changelog.
  • The repository's own rules outrank this skill's defaults. A commitlint config, a hook, CONTRIBUTING.md or the existing log decides the message format, always, including where this skill's default is nicer.

Invocation

Installs
1
GitHub Stars
22
First Seen
Sep 2, 2026