git-factor

Split oversized Git commits into reviewable atomic commits with validation.

6|Updated Feb 6, 2026
One-click install
npx skills add https://github.com/dkubb/git-factor --skill git-factor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: git-factor
Source: https://github.com/dkubb/git-factor/tree/main
Command: npx skills add https://github.com/dkubb/git-factor --skill git-factor

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you break a large or messy Git commit history into smaller atomic commits without losing the correctness of the final result.

Core Features & Use Cases

  • Commit Splitting: Split a single commit or a contiguous commit span into review-sized commits.
  • Deterministic Validation: Use a strict gate before the session starts and before every emitted commit to ensure each step remains green.
  • Recovery and Control: Retry, continue, finish, abort, and inspect active sessions while preserving the intended final tree.
  • Use Case: A developer has one oversized feature commit and wants to turn it into a clean sequence of focused commits that are easier to review, test, and revert.

Quick Start

Use the git-factor skill to split the selected Git commit or contiguous commit span into atomic commits with a deterministic validation gate.

Frequently Asked Questions about git-factor

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

FAQPage Schema
How do I split a large Git commit into smaller atomic commits?

To split a large Git commit into atomic commits, you can use an interactive rebase approach that breaks oversized commits into review-sized sequences while applying a deterministic validation gate to ensure each step remains green.

What is the best way to rewrite Git history for an oversized feature commit?

Rewriting Git history for an oversized feature commit involves breaking it into a clean sequence of focused commits that are easier to review, test, and revert, while preserving the final target tree of the original code.

Can I split a contiguous commit span instead of just a single Git commit?

Yes, you can split a contiguous commit span as well as a single commit. The process applies to interactive rebase refactors for debugging and cleanup, rejecting invalid spans and merge commits to maintain history integrity.

Do I need a clean repository before rewriting Git commit history?

Yes, a clean repository is required before rewriting Git commit history. You also need a deterministic --exec validation gate and ancestry checks to ensure the refactoring preserves the intended final tree without losing correctness.

Why does interactive rebase fail when splitting commits in a dirty repository?

Interactive rebase fails in a dirty repository because history rewriting requires a clean working state to preserve the final target tree. Without it, ancestry checks and validation gates cannot guarantee that each emitted commit remains green.

Does git-factor support retrying or aborting an active commit splitting session?

Yes, you can retry, continue, finish, abort, and inspect active commit splitting sessions. This recovery and control ensures the intended final tree is preserved throughout the interactive rebase refactoring process.