# Commit: One

> Generate a commit message. If nothing staged, stage all changes.

- Skill: `jasonwarrenuk/commit-one` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jasonwarrenuk/commit-one`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jasonwarrenuk/commit-one/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: JasonWarrenUK (https://skillmd.com/u/jasonwarrenuk)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/jasonwarrenuk/commit-one

---


## Current state

```!
git status --short
git diff --cached --stat
```

## Steps

1. Per the state above: if no changes staged, stage all. If files are already staged, *do not* stage more files.
2. Generate commit message per conventional commits format, honouring `$hint` (a type, scope or emphasis nudge) when given.
3. Show the message and await approval:
    - If approved, commit with it
    - If changes requested, revise and repeat
4. Report the commit and stop. **Do not push.** Publishing is a separate decision from committing; the user pushes, or asks for it explicitly.

<template format-reference="https://www.conventionalcommits.org/en/v1.0.0/">
  `type(scope?): description\n\nbody (optional)\n\nBREAKING CHANGE: footer (if applicable)`
</template>

<conventions>
  - Subject line: imperative mood, lowercase, no period, max 50 chars (`add feature` not `added feature` or `adds feature`)
  - Body: explain *what* and *why*, not *how*; wrap at 72 chars
</conventions>

