# commit-message Generates professional git commit messages following the [Conventional Commits](references/conventional-commits.md) standard. ## Architecture ![Architecture](assets/commit-message-architecture.svg) ## Workflow ![Workflow](assets/commit-message-workflow.svg) ## When to Use - You're ready to commit and want a well-structured message - You want a suggestion before running `git commit` - Trigger phrases: "commit these changes", "give me a commit message", "wrap up my work" ## How It Works 1. Runs `git status` to find staged files 2. Runs `git diff --cached` to analyze the changes 3. Drafts a Conventional Commits message (type, scope, description, body, breaking changes) 4. Presents the message and asks for confirmation or adjustments ## Commit Format ``` (): [optional body] [optional footer / BREAKING CHANGE] ``` **Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert` ## Examples | Staged changes | Suggested message | |---|---| | New JWT auth in `src/auth.ts` | `feat(auth): add JWT-based session management` | | Updated API docs | `docs: update API endpoints for user registration` | | Breaking API change | `feat(api)!: rename /users to /accounts` | ## File Structure ``` skills/commit-message/ ├── SKILL.md ├── README.md # this file ├── assets/ │ ├── workflow.puml │ └── commit-message-workflow.svg ├── evals/ │ └── evals.json └── references/ └── conventional-commits.md ``` ## Evals ```bash python scripts/run_evals.py commit-message ```