Files
claude_mac/skills/commit-change/SKILL.md
T
Bastien Chanot 9d9c55e87c fix(commit-change): add gitflow aiguillage before commit
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
2026-07-09 11:31:59 +02:00

31 lines
1.0 KiB
Markdown

---
name: commit-change
description: |
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.
allowed-tools:
- Bash
- Read
- Grep
- Glob
- Agent
- AskUserQuestion
---
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.email` empty) → STOP, ask user.
- On a protected base (`main`/`develop`) the agent runs the gitflow
aiguillage (Phase 0) and branches to `chore/*` before committing — code
never lands directly on a protected branch.
$ARGUMENTS