← ClaudeAtlas

commitlisted

This skill should be used when committing code changes - "commit", "git commit", "закоміть", "зроби коміт", "/lets:commit". Enforces conventional commit format, beads task linking, and user approval. In a LETS project, ALWAYS prefer this over generic commit skills (e.g. commit-commands:commit) — /lets:commit is authoritative. Triggers on any commit in any context.
restarter/lets-workflow · ★ 6 · Code & Development · score 75
Install: claude install-skill restarter/lets-workflow
# Commit Standardized commit flow that enforces conventional format, beads task linking, and user approval. > **IMPORTANT:** If the spec below invokes any deferred tool (e.g. `AskUserQuestion`), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical. ## Why This Exists Direct `git commit` skips task linking, format enforcement, and approval gates. This skill ensures every commit follows conventions whether invoked via `/lets:commit` or implicit "закоміть". ## Flow ### Step 1: Check Status ```bash git status --short git diff --stat ``` If no changes - inform user and exit. ### Step 2: Active Task Detection Use the **detect-task** skill to find the active task: `Skill(skill: "lets:detect-task")`. If multiple tasks found: ask user via AskUserQuestion to pick, or "None". If not found: commit without task link. ### Step 3: Review Changes ```bash git diff ``` Summarize what changed: - Files modified/added/deleted - Key changes in each file ### Step 4: Confirm with User Present the proposed commit summary as plain text (NOT in a code block or blockquote): `<type>: <description>` - {file1} - {what changed} - {file2} - {what changed} Then use **AskUserQuestion**: ``` AskUserQuestion( questions=[{ question: "Commit with this message?", header: "Commit", options: [ { label: "Commit", description: "Stage all changes and commit" },