← スキル一覧に戻る

pr-push
by syntrixbase
⭐ 0🍴 0📅 2026年1月25日
SKILL.md
name: pr-push description: | Push local commits to remote, check for uncommitted changes, and create a PR with structured summary, changes list, and test plan.
PR Push
Instructions
- Gather Info:
git status,git log origin/<branch>..HEAD --oneline,git remote -v - Check Uncommitted: If exist, ask user whether to commit first
- Push:
git push -u origin <current-branch> - Check Existing PR: Run
gh pr view --json url -q .url 2>/dev/nullto check if a PR already exists for this branch- If PR exists: inform user and provide the PR URL, skip PR creation
- If no PR exists: proceed to create one
- Analyze Diff: Compare branch vs base (main/master/develop)
- Create PR: Use
gh pr createwith structured body
Commands Reference
# Check commits to push
git log origin/<branch>..HEAD --oneline
# Compare with base branch
git log <base>..HEAD --oneline
git diff <base>...HEAD --stat
git diff <base>...HEAD
# Push with upstream
git push -u origin <branch>
# Check if PR already exists for current branch
gh pr view --json url -q .url 2>/dev/null
# Create PR with heredoc
gh pr create --title "<type>: <subject>" --body "$(cat <<'EOF'
## Summary
...
## Changes
- ...
## Test Plan
...
EOF
)"
PR Message Format
## Summary
Brief description of what this PR accomplishes.
## Changes
- Bullet points of specific changes
- Reference actual files/functions modified
- Group related changes together
## Test Plan
How to verify the changes work correctly.
PR Title Convention
| Type | Use Case |
|---|---|
feat: | New feature |
fix: | Bug fix |
docs: | Documentation |
refactor: | Code restructuring |
test: | Test changes |
chore: | Build/config |
Guidelines
- Always write PR messages in English
- Be specific, reference actual changes from diff
- Avoid verbosity - focus on what/why
- No co-author credits or "Generated with..." tags
Edge Cases
| Situation | Action |
|---|---|
| No commits to push | Inform user |
| Push fails | Report error, suggest solutions |
| Uncommitted changes | Ask user to commit first |
| No base branch | Ask user which branch to compare |
| PR already exists | Inform user and provide PR URL, skip creation |
Examples
Example 1: Feature PR
Title: feat(auth): add JWT token refresh mechanism
Body:
## Summary
Implement automatic JWT token refresh to prevent session expiration during active use.
## Changes
- Add `refreshToken()` method in `auth/token.go`
- Implement secure cookie storage for refresh tokens
- Add retry logic with exponential backoff
- Update auth middleware to trigger refresh
## Test Plan
1. Login and wait for token to near expiration
2. Verify automatic refresh occurs without logout
3. Check refresh token rotates correctly
Example 2: Bug Fix PR
Title: fix(api): handle empty response body gracefully
Body:
## Summary
Fix null pointer exception when API returns empty body instead of JSON.
## Changes
- Add nil check in `parseResponse()` before JSON unmarshal
- Return empty struct instead of error for 204 responses
- Add unit test for empty body case
## Test Plan
1. Send request that returns 204 No Content
2. Verify no panic, returns empty result
Example 3: Refactor PR
Title: refactor(streamer): consolidate test mocks
Body:
## Summary
Extract common mock implementations to reduce duplication across test files.
## Changes
- Move `mockGRPCStreamClient` to `mock_query.go`
- Remove 4 duplicate mock definitions
- Update all test files to use shared mock
## Test Plan
Run `make test` - all tests should pass unchanged.
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です