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

View File

@@ -1,5 +1,5 @@
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
allowed-tools: Bash(git add:*), Bash(git diff:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
source: https://github.com/anthropics/claude-plugins-official/blob/main/plugins/commit-commands/commands/commit.md
---
@@ -15,6 +15,12 @@ source: https://github.com/anthropics/claude-plugins-official/blob/main/plugins/
Based on the above changes, create a single git commit.
You have the capability to call multiple tools in a single response. Stage and
create the commit using a single message. Do not use any other tools or do
anything else. Do not send any other text or messages besides these tool calls.
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 and create the commit.
You have the capability to call multiple tools in a single response. Do not use
any other tools or do anything else. Do not send any other text or messages
besides these tool calls.