com um clique
commit
Analyzes changes and generates Conventional Commit messages
Menu
Analyzes changes and generates Conventional Commit messages
Update stale documentation and comments to match current code
Tag a new version, push to trigger CI, monitor the build, and verify the GitHub release
Extract and persist conversation learnings before context loss. TRIGGER when: user runs /reflect, or before /clear or compaction.
Guidelines for creating and updating Claude Code skills. TRIGGER when: writing a new SKILL.md, modifying an existing skill, or the user asks about skill conventions.
Arrange a project's README and GitHub Pages documentation into a consistent user-first layout: short README that links out, just-the-docs Jekyll site with a user-facing index, one page per user-facing feature (split into child pages when long), and a developer guide with technical sub-pages. TRIGGER when: setting up docs/ for a new project, adding a GitHub Pages site, writing or restructuring a README that will link to GH Pages, adding a new user-facing feature page, or asked to align docs with this project or bga-assistant. DO NOT TRIGGER when: editing unrelated docs outside docs/, working on a project that already has an incompatible docs framework (Docusaurus, MkDocs, VitePress, etc.).
Create or update the data flow architecture document (docs/pages/data-flow.md).
| name | commit |
| description | Analyzes changes and generates Conventional Commit messages |
| allowed-tools | Read, Edit, Write, Grep, Glob, Bash(git diff:*), Bash(git add:*), Bash(git commit:*), Bash(git status:*), Bash(git log:*), Bash(git reset HEAD:*), Bash(git ls-files:*), Bash(git rev-list:*), Bash(git rev-parse:*), Bash(git push:*), Bash(bash ~/.claude/scripts/sanitize-project-memory.sh:*), Bash(rm:*) |
You are tasked with creating git commits for the changes made during this session.
Read ~/.claude/skills/shared/bash-rules.md for bash command constraints.
git rev-parse --show-toplevel 2>/dev/null || pwdR=$(git rev-parse --show-toplevel 2>/dev/null || pwd) && cat "$R/.gitignore" 2>/dev/null || trueR=$(git rev-parse --show-toplevel 2>/dev/null || pwd) && bash ~/.claude/scripts/sanitize-project-memory.sh "$R" 2>/dev/null || truegit reset HEAD 2>/dev/null || truegit fetch origin --quiet 2>/dev/null || true; git rev-list --count HEAD..@{upstream} 2>/dev/null || echo "n/a"git status --shortgit diff HEAD --statgit diff HEADgit log --oneline -10docs/plans/** paths and any file paths in this skill are relative to Repo root from Context. The cwd may be a subdirectory — prefix Repo root when calling Read/Edit/Write/Grep/Glob, and pass paths from git status --short to git add verbatim (they're already repo-root-relative; git resolves them from cwd up to the repo root automatically).
The ONLY direct file changes this skill may make are through /clean-code and /documentation. Never move, rename, or delete source files. Never restructure code beyond what those skills do. (Exception: untracked junk artifacts like *.stackdump may be discarded — see step 1.)
Pacing: Steps 1–6 are preparation. Sub-skills may legitimately pause when they find substantive changes needing approval (e.g. clean-code proposing dead-code removal, documentation proposing edits). Honor those gates. But when a sub-skill finishes with nothing to report, continue immediately to the next step — do not insert an extra confirmation gate. The only gates the commit skill itself owns are step 6 (plan-filename warning, if triggered), step 7 (commit-plan approval), and step 8 (push).
Assess the current state of the repository (use Context above):
git push will be rejected at the end. Surface this to the user immediately and propose git pull --rebase origin <branch> before proceeding. Wait for user confirmation before rebasing — it could conflict with the pending changes. After rebasing, re-check git status --short since the working tree may differ.*.stackdump (Git Bash crash dumps on Windows), core dumps. Remove them with rm so they don't clutter the change set or get staged. Only delete clearly-disposable, never-source artifacts; if an untracked file's purpose is at all unclear, leave it and mention it rather than deleting.Clean code: Run /clean-code to remove debug prints, dead code, duplication, and optimize imports. If /clean-code reports nothing to clean up, immediately proceed to step 3 in the same response — do not stop, do not ask for confirmation. Only pause if /clean-code proposes substantive changes that need user approval.
Update stale documentation — do this BEFORE planning commits:
Run /documentation to scan and fix stale references in README, docs, CLAUDE.md, and source comments. All documentation fixes become part of the commit(s) — do not commit code with outdated docs. If /documentation reports nothing to fix, immediately proceed to step 4 in the same response — do not stop, do not ask for confirmation. Only pause if /documentation proposes edits that need user approval.
Confidentiality check:
claude/learnings/): these are domain knowledge docs meant to be generic and reusable — flag any project-specific details, internal URLs, proprietary names, or customer data that leaked in from the source projectPlan your commit(s):
~/.claude/skills/shared/commit-message-rules.md for commit message formatting and validation rulesgit add -p or partial staging — assign the file to the commit where it fits best and note the mixed content in the plandocs/plans/**): bundle each plan file into the SAME commit as the implementation it describes. Match by filename slug / content keywords against the changed source paths. Only emit a separate docs(plans): commit if the plan file is the ONLY change (e.g. editing a plan mid-design without implementing yet, or archiving unrelated historical plans).Validate plan filenames:
For every plan file under docs/plans/ that's part of this change set (new, modified, or renamed — check both docs/plans/*.md and docs/plans/completed/*.md):
# H1 heading (on any line, outside fenced code blocks).plan-archive.py hook derives the filename slug from the plan's H1 and falls back to the original random codename (e.g. zesty-coalescing-crystal) when no H1 is present. Suggest a descriptive slug based on the plan's content, offer to rename the file and add an H1, and wait for user confirmation before proceeding. Do not silently include a codename-slug plan file in a commit.<!-- plan-archive: no ... fallback marker comment, treat it the same as a missing H1 — the hook explicitly flagged it. If the user fixes the title, offer to remove the now-stale marker comment in the same edit.Present your plan to the user:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━inline code followed by brief description. Pad each file entry with spaces so all entries match the length of the longest one, aligning descriptions into a column.Execute upon confirmation:
git add with specific files (never use -A or .)git commit -S to GPG-sign themgit log @{upstream}..HEAD --format="%h %ai %s" (fall back to origin/<branch>..HEAD if no upstream). Format each line as Mon DD, HH:MM [hash] message (e.g. Mar 28, 16:59 [a37da68] feat: add side panel). Display the full list as the end summary — this gives the user the complete picture of what will be pushed.git push./commit (even repeatedly) only restarts skill execution — it is NOT approval to proceed. Wait for a clear "yes", "proceed", or equivalent before running any git commit commands.**Commit 1**
**chore**: simplify commit skill, remove script
- Drop format_files.py in favor of inline alignment
- Make skill portable for global use
- Add Claude Code skills section to README
3 files, +7/−35 lines
`claude/skills/commit/SKILL.md` Remove script references, simplify formatting
`claude/skills/commit/scripts/format_files.py` Deleted
`README.md` Add Claude Code skills section
/reset to undo unpushed commits first, then /commit to re-commit*.stackdump are the only exception — discard them per step 1)