--- description: Create conventional commits for session changes category: version-control-git tools: Bash, Read model: inherit version: 2.0.0 --- # Commit Changes You are tasked with creating git commits using conventional commit format for the changes made during this session. ## Process: 1. **Analyze what changed:** - Review the conversation history and understand what was accomplished - Run `git status` to see current changes - Run `git diff --cached` to see staged changes (if any) - Run `git diff` to see unstaged changes - Get changed file list: `git diff --name-only` and `git diff --cached --name-only` 2. **Auto-detect conventional commit components:** **Type detection (suggest to user):** - If only `*.md` files in `docs/`: suggest `docs` - If only test files (`*test*`, `*spec*`): suggest `test` - If `package.json`, `*.lock` files: suggest `build` - If `.github/workflows/`: suggest `ci` - If mix of changes: suggest `feat` or `fix` based on context - Otherwise: ask user to choose from: `feat`, `fix`, `refactor`, `chore`, `docs`, `style`, `perf`, `test`, `build`, `ci` **Scope detection (suggest to user):** - Parse changed file paths - Map to scopes: - `agents/*.md` → `agents` - `commands/*.md` → `commands` - `hack/*` → `hack` - `docs/*.md` → `docs` - `.claude/` → `claude` - Multiple dirs or root files → empty scope (cross-cutting) **Extract ticket reference:** - Get current branch: `git branch --show-current` - Extract ticket pattern: `{PREFIX}-{NUMBER}` (e.g., RCW-13, ENG-123) - Will be added to commit footer 3. **Generate conventional commit message:** **Format:** ``` ():