standalone-commits

Split work into reviewable, dependency-ordered commits with acceptance checks.

4.8k|376|Updated Mar 16, 2023
One-click install
npx skills add https://github.com/EpicenterHQ/epicenter --skill standalone-commits
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: standalone-commits
Source: https://github.com/EpicenterHQ/epicenter/tree/main/.agents/skills/standalone-commits
Command: npx skills add https://github.com/EpicenterHQ/epicenter --skill standalone-commits

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Large changes often land as monolithic commits that reviewers cannot audit, bisect, or revert cleanly. This Skill guides you to split work into standalone commits that each compile, pass focused tests, and make sense on their own at their point in branch history.

Core Features & Use Cases

  • Commit Boundary Checks: Six acceptance checks (reviewable, buildable, complete, focused, auditable, revertible) validate each staged diff before committing.
  • Dependency-Ordered Waves: A wave pattern (foundation, factories, contracts, infrastructure, consumers) orders multi-file changes so every commit compiles.
  • Split/Combine Heuristics and Anti-Patterns: Concrete rules for when to split refactors from behavior changes and when to combine types with their implementations, plus examples of teaser commits, hidden behavior, and cleanup hitchhikers.
  • Use Case: When refactoring a schema across types, factories, contracts, and app code, plan five waves, stage each wave's files, verify with a type-check, and commit each as one coherent unit.

Quick Start

Ask the AI to review your staged changes and split them into standalone, dependency-ordered commits using the standalone-commits acceptance checks.

Frequently Asked Questions about standalone-commits

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

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

Plan dependency-ordered waves: types first, then factories, contracts, infrastructure, and consumers. Stage only the files proving each wave's one-sentence claim, run a type-check, and commit each wave separately with a conventional commit message.

What makes a commit reviewable and standalone?

A standalone commit passes six checks: it is reviewable from the diff alone, buildable, complete with all call sites and tests, focused on one concern, auditable, and revertible without dragging in unrelated work.

When should I split a commit versus combine changes?

Split when a refactor mixes with behavior changes or a rename hides logic. Combine when a type without its implementation would be dead surface, or a test without its fix would intentionally fail in the branch.

How do I order commits so every commit compiles?

Order by import dependency: files that import nothing (types) come first, files that import everything (apps, consumers) come last. Run a type-check after each wave to confirm the repo still builds.

What are common commit anti-patterns to avoid?

Avoid teaser commits with unused types, refactors that hide behavior changes, and cleanup hitchhikers mixed into fixes. Also avoid giant monolithic commits and overly granular micro commits that create noise.