git-commit-writer-freelisted
Install: claude install-skill justhandledlabs/skills
# Git Commit Writer
Generate a conventional commit message from staged changes only.
## Workflow
1. Run `git status --short`.
2. Determine whether any files are staged by checking the first status column for anything other than a space or `?`.
3. If no files are staged, do not suggest a commit message. Tell the user to stage changes first with `git add <files>` or `git add .`.
4. Run `git diff --cached --stat` to summarize staged file impact.
5. Run `git diff --cached` to inspect the staged patch.
6. Analyze the staged changes and return one primary commit recommendation in conventional commit format, plus optional alternatives if useful.
Use only staged changes. Do not base the commit message on unstaged, untracked, or working-tree-only changes.
## Required Commands
```bash
git status --short
git diff --cached --stat
git diff --cached
```
If `git diff --cached` is empty, the correct response is:
```text
No staged changes found. Run `git add <files>` first, then ask me to write the commit message.
```
## Commit Format
Use this format:
```text
type(scope): imperative summary
- Optional bullet describing notable staged change
- Optional bullet describing another notable staged change
```
Use `type(scope)!: summary` when the staged changes introduce a breaking change.
Keep the summary under 72 characters when practical. Use imperative mood: `add`, `fix`, `update`, `remove`, `refactor`, not `added`, `fixed`, or `updates`.
## Type Reference
- `feat`: Adds or expose