← ClaudeAtlas

git-stagelisted

Groups staged files by concern and generates one conventional commit per group. Use when asked to "group these changes into commits", or when staged changes span multiple concerns and need to ship as separate commits. Do NOT use on a single-concern staged set. That is `git-commit`, which also preserves a hunk-level selection this skill's unstage and restage over whole files would widen.
erclx/canon · ★ 2 · Code & Development · score 68
Install: claude install-skill erclx/canon
# Git stage Read these files in parallel: - `${CLAUDE_SKILL_DIR}/../../standards/commit.md`: format, types, scopes, and constraints - `${CLAUDE_SKILL_DIR}/../../standards/markdown.md`: banned words, punctuation, and formatting for all generated text - The `write-human` skill: voice, rhythm, and sentence construction for all generated text ## Context Run these commands in parallel to gather git context: - `git diff --cached --name-status 2>/dev/null || echo "NO_STAGED_FILES"` - `git diff --cached -- . ':(exclude)*.lock' ':(exclude)*-lock.json' 2>/dev/null || echo "NO_DIFF"` ## Guards - If staged files output is `NO_STAGED_FILES`, stop and output: `❌ No staged files. Stage files first with git add before committing.` ## Grouping rules - Analyze the diff to understand what each file changes and why. - Group files by shared concern. A group is a single commit. - Files belong together when they implement or modify the same logical unit. - A file that clearly stands alone is its own group. - Order commits by dependency: commit dependencies before the files that import them. - Prefix the full command sequence with `git restore --staged .` to unstage everything, then stage and commit each group in order. - For `D` status files, use `git rm <file>`. For `A` or `M` files, use `git add <file>`. - For `R<score>` status rows, `--name-status` emits three tab-separated fields: `R<score>\t<old>\t<new>`. Treat the pair as one file, keep both paths in the same group, and restage the