commit-changer committed code autonomously with no branch precondition
(gitflow-conformity §2a, verified MEDIUM CONFIRMED) — on develop/main it
attempted a direct code commit, backstopped only by the pre-commit hook.
Adds Phase 0: the same `gitflow-aiguillage.md` mechanism hotfixer/bugfixer/
feater already use (TYPE=chore) — branches to chore/* on a protected base,
no-op on a working branch — plus a report-only fallback (no develop / no
lib -> ask human, don't auto-branch). Commit-plan gate + scoped staging
untouched. SKILL.md pre-flight notes the aiguillage.
Dry-run (throwaway repos, REAL lib + REAL pre-commit hook) — both paths:
CASE 1 on develop: aiguillage -> chore/commit-pending, code commit
SUCCEEDS, hook never blocks; contrast: same commit direct on develop
is BLOCKED -> aiguillage is what avoids it. PASS
CASE 2 no develop: fallback -> no auto-branch, changes uncommitted,
no chore/* created, ask human. PASS
1.0 KiB
1.0 KiB
name, description, allowed-tools
| name | description | allowed-tools | ||||||
|---|---|---|---|---|---|---|---|---|
| commit-change | Analyze all pending changes (staged, unstaged, untracked) and create atomic commits grouped by logical unit, retracing the work. Any git repository. Triggers: "commit my changes", "smart commit", "auto commit", "commit everything", "analyse et commit", or any variation of committing messy pending work intelligently. |
|
Load and follow strictly: $HOME/.claude/agents/commit-changer.md.
If unreachable, emit Commit-changer agent missing. and STOP. Never auto-commit blind — a wrong group is harder to undo than not committing.
Pre-flight checks (the agent should also perform, but flag here):
- Detached HEAD or unmerged conflicts → STOP, report state.
- Identity unconfigured (
git config user.emailempty) → STOP, ask user. - On a protected base (
main/develop) the agent runs the gitflow aiguillage (Phase 0) and branches tochore/*before committing — code never lands directly on a protected branch.
$ARGUMENTS