refactor(claude/commands): defer file reads to agent in commit-push-pr

Avoid bloating the prompt context with file contents that may not be
needed. Instead of injecting AGENTS.md, CLAUDE.md, and PR template
via shell commands, instruct the agent to read them on demand. Also
tighten allowed-tools (git branch -m instead of wildcard), add git
log permission, and require PR descriptions to cover all branch
commits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 22:47:31 +00:00
parent 250279b40f
commit bcefc18e51

View File

@@ -1,5 +1,5 @@
---
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:*)
allowed-tools: Bash(git checkout --branch:*), Bash(git branch -m:*), Bash(git add:*), Bash(git diff:*), Bash(git log:*), 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
---
@@ -9,19 +9,17 @@ source: https://github.com/anthropics/claude-plugins-official/blob/main/plugins/
- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- PR template (if exists): !`cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || echo "No PR template found"`
- AGENTS.md (if exists): !`cat AGENTS.md 2>/dev/null || echo "No AGENTS.md found"`
- CLAUDE.md (if exists): !`cat CLAUDE.md 2>/dev/null || echo "No CLAUDE.md found"`
## Your Task
Based on the above changes:
1. **Check agent docs**: Review the AGENTS.md and CLAUDE.md content above
against the current changes. If the changes introduce new conventions,
commands, architecture, or development patterns that should be documented
(or invalidate existing documentation), update the relevant file as part of
this commit. Only update if clearly warranted — don't add noise.
1. **Check agent docs**: Read the project's AGENTS.md and/or CLAUDE.md if they
exist. Review their content against the current changes. If the changes
introduce new conventions, commands, architecture, or development patterns
that should be documented (or invalidate existing documentation), update the
relevant file as part of this commit. Only update if clearly warranted —
don't add noise.
2. Create a new branch if on main or master. If already on a non-main/master
branch, check if the branch name looks randomly generated (e.g. UUIDs, hex
strings, meaningless character sequences, or 1-3 random unrelated words like
@@ -33,9 +31,11 @@ Based on the above changes:
base the commit message solely on those changes. Do NOT stage additional
files. Otherwise, stage all relevant changes.
4. Push the branch to origin
5. Create a pull request using `gh pr create`. If a PR template exists in the
context above, use it as the base for the PR body and fill in the sections
appropriately based on the changes.
5. Create a pull request using `gh pr create`. The PR description should cover
all commits on the branch since main/master (use `git log` to review them),
not just the latest commit. Check for a PR template at
`.github/PULL_REQUEST_TEMPLATE.md` — if one exists, use it as the base for
the PR body and fill in the sections appropriately.
6. You have the capability to call multiple tools in a single response. You MUST
do all of the above in a single message. Do not use any other tools or do
anything else. Do not send any other text or messages besides these tool