← ClaudeAtlas

commitlisted

Generate a one-line Conventional Commits message from the current git changes, then offer to run the commit for the user. Use whenever the user asks for a commit message or wants to commit finished work — "commit message", "write a commit", "generate commit", "commit msg", "cm", "/commit" — even when they don't name this skill. Reads the actual diff to derive what was done. Prints the message; then shows the exact commands and asks whether to commit — runs git only on an explicit yes or a configured auto-consent policy. Works in fresh folders too: no repository yet → same flow, with git init prepended to the offered commands (init always asks, even in auto mode).
supermodo/skills · ★ 1 · Code & Development · score 74
Install: claude install-skill supermodo/skills
# commit > **Requires:** the sibling `protocols` skill (shared protocol masters); uses `skills.config.json` when present. Missing protocols → tell the user to install the full supermodo package. One line. Conventional Commits (conventionalcommits.org/en/v1.0.0). The diff is the source of truth; the message is its index entry — written for someone scanning `git log --oneline` a year from now. The message is always the deliverable. Running the commit is an **opt-in extra** the skill offers after the message exists — never the default, never silent. **Every invocation delivers all four, in order — none is optional:** 1. the message (clipboard + printed); 2. the changelog fragment WRITTEN to disk (default ON — see the fragment section for the only skip conditions); 3. the exact command plan printed in one fenced block; 4. ONE consent question under that plan. Stopping after the message alone is an incomplete run; running git without the yes (or a configured auto policy) is a violation. ## Read the changes FIRST, before any branching below: files in `<changelog.dir>/` (default `changes/`) whose `scope` frontmatter matches paths in the current uncommitted change are pending-fragment METADATA of that change, not part of it — exclude them from the substantive scope in EVERY case (staged, unstaged, no-HEAD, no-repository); they never drive the message or a mixed-concern split, and they route to the fragment section's reuse/replace check. 0. `git rev-parse --is-inside-work-