commitlisted
Install: claude install-skill svyatov/agent-toolkit
# Git Commit
Conventional commits with optional branch creation, push, and PR.
## Modes
| Mode | Triggers | Steps |
|------|----------|-------|
| commit | "commit", "/commit" | analyze → stage → commit |
| commit-branch | "commit new branch", "commit to new branch", "cb" | analyze → create branch → stage → commit |
| commit-push | "commit and push", "cp" | analyze → stage → commit → push |
| commit-pr | "commit and pr", "commit push pr", "commit pr", "cpr" | analyze → (create branch if on main/master) → stage → commit → push → PR |
Detect mode from user input. Default to **commit** if ambiguous.
## Message Format
Follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) strictly: `<type>(<scope>): <description>`. Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert. Description: present tense, imperative mood, under 72 chars.
Apply the `repo-prose` skill to every commit message, PR title, and PR description you write here. It owns the writing rules; this skill owns the workflow.
## Branch Naming
Format: `<type>/<short-description>` — lowercase kebab-case, max 50 chars total.
Derive the type and description from the same diff analysis used for the commit message.
Examples: `feat/add-user-auth`, `fix/null-pointer-in-parser`, `refactor/extract-db-layer`
## Workflow
### 1. Analyze Diff (all modes)
```bash
git branch --show-current && git status --porcelain && git diff HEAD
```
If no changes exist — warn user and stop