| name | create-pr |
| description | Create a pull request for current branch. Trigger khi user noi "create pr", "tao PR", "open pull request", "pr cho issue |
| allowed-tools | Bash(git *), Bash(gh *), Read, Glob, Grep |
| priority | medium |
Create PR Skill
Overview
Tao pull request tu branch hien tai len base branch (main/develop). Skill nay se:
- Phan tich tat ca commits va changes tren branch
- Doc spec issue lien quan de hieu context
- Tao PR title va description tu dong dua tren changes + spec
- Su dung
gh CLI de tao PR tren GitHub
Steps (thuc hien tuan tu)
-
Thu thap thong tin branch hien tai
- Lay branch name:
git branch --show-current
- Extract issue number tu branch name (pattern:
feature/hung-#{number}-{slug})
- Xac dinh base branch:
main (hoac develop neu co)
- Kiem tra branch da push chua:
git log origin/{branch}..HEAD (neu loi -> chua push)
-
Doc spec issue lien quan
- Tim file spec:
specs/issues/{issue_number}-*.md
- Doc Acceptance Criteria, Implementation details
- Dung lam context cho PR description
-
Phan tich changes
- Lay danh sach commits:
git log {base_branch}..HEAD --oneline
- Lay danh sach files thay doi:
git diff --name-only {base_branch}...HEAD
- Doc diff chi tiet:
git diff {base_branch}...HEAD (de hieu noi dung thay doi)
- Phan loai changes: new files, modified files, deleted files
-
Tao PR title va description
-
Push va tao PR
-
Output ket qua
-
Hien thi PR URL
-
Summary:
PR Created
- Title: {title}
- URL: {pr_url}
- Base: {base_branch} <- {branch_name}
- Files changed: X
- Commits: Y
- Closes: #{issue_number}
Luu y quan trong
- Luon kiem tra
git status truoc -> neu co uncommitted changes, nhac user commit truoc
- Khong force push (
--force) truoc khi hoi user
- Neu PR da ton tai cho branch nay -> bao user va hoi co muon update khong
- Title va description viet bang tieng Anh (code convention)
- Luon them link den issue trong PR body