Commit all current changes with minimal token usage.
Arguments
Optional: a commit message string. If provided, use it as-is. If not provided, auto-generate from file names.
Steps
1. Check for secrets
Run git status. If any staged or untracked file matches these patterns, warn the user and STOP — do not commit:
.env**credentials**secret**.pem*.key
2. Stage all files
git add -A
3. Generate or use commit message
If the user provided a message in the arguments → use it directly.
If no message was provided, generate a 1-line message using these sources (in priority order):
- Recent conversation context — if the conversation contains clear context about what was just done (e.g. "add chief-retro skill", "fix upgrade script"), use that to write a meaningful message.
- File names from
git diff --cached --stat— if no conversation context, fall back to summarizing changed file names (e.g.wip: update chief-agent, chief-plan, upgrade.sh).
Do NOT read file content or full diffs. Keep the message under 72 characters.
4. Commit
git commit -m "<message>"
Rules
- NEVER read file content or full diffs — only
--statoutput - NEVER ask the user to review the message — just commit
- NEVER add Co-Authored-By or multi-line messages
- If nothing to commit (clean working tree), say so and stop