Install any skill in seconds. Free to start, no credit card required.
Get Started Free →MUST use this skill when user asks to create PR, open pull request, submit for review, or mentions "PR 생성/만들기". This skill OVERRIDES default PR creation behavior. Analyzes commits, validates task completion, generates Conventional Commits title and description, suggests labels.
.claude/skills/aiskillstore-github-pr-creation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 150% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 122% | 0% |
Creates Pull Requests with task validation, test execution, and Conventional Commits formatting.
bash# 1. Verify GitHub CLI gh --version && gh auth status # 2. Gather information git log develop..HEAD --oneline git diff develop --stat git rev-parse --abbrev-ref HEAD # 3. Run project tests make test # or: pytest, npm test # 4. Create PR gh pr create --title "..." --body "..." --base develop --label feature
bashgh --version && gh auth status
If not installed: brew install gh then gh auth login
Always ask user:
I'm about to create a PR from [current-branch] to [target-branch]. Is this correct?
- feature branch → develop (90% of cases)
- develop → master/main (releases)bash# Current branch git rev-parse --abbrev-ref HEAD # Commits since base branch git log [base-branch]..HEAD --oneline # Files changed git diff [base-branch] --stat # Remote tracking status git status -sb
Look for task files in these locations:
.kiro/specs/*/tasks.mddocs/specs/*/tasks.mdspecs/*/tasks.mdtasks.md in project rootFor each commit, identify:
task X.Y, Task X, #X.Y patternsBREAKING CHANGE in bodyDetect and run project tests:
make testnpm testpytestTests MUST pass before creating PR.
| Branch Flow | PR Type | Title Prefix | |-------------|---------|--------------| | feature/ → develop | Feature | `feat(scope):` | | fix/ → develop | Bugfix | fix(scope): | | hotfix/ → main | Hotfix | `hotfix(scope):` | | develop → main | Release | `release:` | | refactor/ → develop | Refactoring | refactor(scope): |
Title format: <type>(<scope>): <description>
Body structure:
markdown## Summary - Key change 1 - Key change 2 ## Changes - List of specific changes ## Test Plan - [ ] Unit tests passing - [ ] Integration tests passing - [ ] Manual testing done ## Related - Refs: Task N, Issue #X
| Commit Type | Labels | |-------------|--------| | feat | feature, enhancement | | fix | bug, bugfix | | refactor | refactoring, tech-debt | | docs | documentation | | ci | ci/cd | | security | security |
Check available labels: gh label list
Show content to user first, then:
bashgh pr create --title "[title]" --body "$(cat <<'EOF' [body content] EOF )" --base [base_branch] --label [labels]
Before generating PR, ensure you have:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,847 | 11,306 | +15% | 1 | 1 | 0% | 699 | 1,497 | +114% | 0 | 0 | — |
case-02 | fail→fail | 3,334 | 6,792 | +104% | 1 | 1 | 0% | 376 | 1,454 | +287% | 0 | 0 | — |
case-03 | fail→fail | 10,988 | 11,986 | +9% | 1 | 1 | 0% | 323 | 1,454 | +350% | 0 | 0 | — |
case-04 | fail→fail | 9,188 | 12,327 | +34% | 1 | 1 | 0% | 620 | 2,403 | +288% | 0 | 0 | — |
case-05 | fail→fail | 15,513 | 11,804 | -24% | 1 | 1 | 0% | 278 | 1,424 | +412% | 0 | 0 | — |
case-06 | fail→fail | 17,345 | 3,952 | -77% | 1 | 1 | 0% | 2,162 | 1,494 | -31% | 0 | 0 | — |
case-07 | fail→pass | 11,339 | 9,945 | -12% | 1 | 1 | 0% | 1,118 | 2,796 | +150% | 0 | 0 | — |
case-08 | fail→pass | 11,111 | 8,707 | -22% | 1 | 1 | 0% | 1,035 | 1,731 | +67% | 0 | 0 | — |
case-09 | fail→pass | 6,894 | 2,581 | -63% | 1 | 1 | 0% | 1,103 | 1,520 | +38% | 0 | 0 | — |
case-10 | fail→pass | 9,120 | 8,284 | -9% | 1 | 1 | 0% | 746 | 1,608 | +116% | 0 | 0 | — |
case-11 | fail→pass | 6,976 | 14,441 | +107% | 1 | 1 | 0% | 1,106 | 2,454 | +122% | 0 | 0 | — |
case-12 | fail→pass | 9,669 | 7,496 | -22% | 1 | 1 | 0% | 1,671 | 1,454 | -13% | 0 | 0 | — |
case-13 | fail→pass | 10,706 | 7,501 | -30% | 1 | 1 | 0% | 1,117 | 1,483 | +33% | 0 | 0 | — |
case-14 | pass→pass | 11,412 | 13,885 | +22% | 1 | 1 | 0% | 1,095 | 1,868 | +71% | 0 | 0 | — |
case-15 | fail→pass | 7,051 | 10,466 | +48% | 1 | 1 | 0% | 977 | 1,958 | +100% | 0 | 0 | — |
case-16 | pass→pass | 7,983 | 7,837 | -2% | 1 | 1 | 0% | 1,295 | 1,477 | +14% | 0 | 0 | — |
case-17 | pass→pass | 7,588 | 7,973 | +5% | 1 | 1 | 0% | 1,229 | 1,653 | +34% | 0 | 0 | — |
case-18 | fail→pass | 9,448 | 10,026 | +6% | 1 | 1 | 0% | 700 | 2,019 | +188% | 0 | 0 | — |
case-19 | fail→fail | 5,560 | 9,151 | +65% | 1 | 1 | 0% | 846 | 1,821 | +115% | 0 | 0 | — |
case-20 | pass→pass | 12,406 | 3,632 | -71% | 1 | 1 | 0% | 1,268 | 1,662 | +31% | 0 | 0 | — |
case-21 | pass→pass | 12,369 | 12,252 | -1% | 1 | 1 | 0% | 2,054 | 2,206 | +7% | 0 | 0 | — |
case-22 | fail→fail | 15,817 | 7,644 | -52% | 1 | 1 | 0% | 1,742 | 1,481 | -15% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 20 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.