feat(claude/commands): support staged-only commits and add git diff permission

Allow commit commands to operate on only staged changes when requested,
rather than always staging everything. This enables more granular control
over what gets committed.

- Add `Bash(git diff:*)` to allowed-tools in both commit and
  commit-push-pr commands
- Add instructions to check staged changes with `git diff --staged`
  and skip staging additional files when asked for staged-only commits
- Restructure commit.md flow to clarify staged-only vs full commit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 17:30:35 +00:00
parent 40903707e7
commit 27330ceae1
2 changed files with 15 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
---
allowed-tools: Bash(git checkout --branch:*), Bash(git branch:*), Bash(git add:*), Bash(git status:*), Bash(git push:*), Bash(git commit:*), Bash(gh pr create:*)
allowed-tools: Bash(git checkout --branch:*), Bash(git branch:*), Bash(git add:*), Bash(git diff:*), Bash(git status:*), Bash(git push:*), Bash(git commit:*), Bash(gh pr create:*)
description: Commit, push, and open a PR, rename branch appropriately if needed
source: https://github.com/anthropics/claude-plugins-official/blob/main/plugins/commit-commands/commands/commit-push-pr.md
---
@@ -19,7 +19,10 @@ Based on the above changes:
character sequences, or 1-3 random unrelated words like "brave-fox" or
"purple-mountain") rather than descriptive of the changes. If so, rename it
to something that aligns with the changes using `git branch -m <new-name>`.
2. Create a single commit with an appropriate message
2. Create a single commit with an appropriate message. If asked to commit only
staged changes, run `git diff --staged` to see exactly what is staged, and
base the commit message solely on those changes. Do NOT stage additional
files. Otherwise, stage all relevant changes.
3. Push the branch to origin
4. Create a pull request using `gh pr create`
5. You have the capability to call multiple tools in a single response. You MUST