安装
npx skills add https://github.com/lobehub/lobehub --skill pr
- Create Pull Request
- Branch Strategy
- Target branch
- :
- canary
- (development branch, cloud production)
- main
- is the release branch — never PR directly to main
- Steps
- 1. Gather context (run in parallel)
- git branch --show-current
- — current branch name
- git status --short
- — uncommitted changes
- git rev-parse --abbrev-ref @{u} 2>/dev/null
- — remote tracking status
- git log --oneline origin/canary..HEAD
- — unpushed commits
- gh pr list --head "$(git branch --show-current)" --json number,title,state,url
- — existing PR
- git diff --stat --stat-count=20 origin/canary..HEAD
- — change summary
- 2. Handle uncommitted changes on default branch
- If current branch is
- canary
- (or
- main
- ) AND there are uncommitted changes:
- Analyze the diff (
- git diff
- ) to understand the changes
- Infer a branch name from the changes, format:
- /
- (e.g.
- fix/i18n-cjk-spacing
- )
- Create and switch to the new branch:
- git checkout -b
- Stage relevant files:
- git add
- (prefer explicit file paths over
- git add .
- )
- Commit with a proper gitmoji message
- Continue to step 3
- If current branch is
- canary
- /
- main
- but there are NO uncommitted changes and no unpushed commits, abort — nothing to create a PR for.
- 3. Push if needed
- No upstream:
- git push -u origin $(git branch --show-current)
- Has upstream:
- git push origin $(git branch --show-current)
- 4. Search related GitHub issues
- gh issue list --search "" --state all --limit 10
- Only link issues with matching scope (avoid large umbrella issues)
- Skip if no matching issue found
- 5. Create PR with
- gh pr create --base canary
- Title:
- ():
- Body: based on PR template (
- .github/PULL_REQUEST_TEMPLATE.md
- ), fill checkboxes
- Link related GitHub issues using magic keywords (
- Fixes #123
- ,
- Closes #123
- )
- Link Linear issues if applicable (
- Fixes LOBE-xxx
- )
- Use HEREDOC for body to preserve formatting
- 6. Open in browser
- gh pr view --web
- PR Template
- Use
- .github/PULL_REQUEST_TEMPLATE.md
- as the body structure. Key sections:
- Change Type
-
- Check the appropriate gitmoji type
- Related Issue
-
- Link GitHub/Linear issues with magic keywords
- Description of Change
-
- Summarize what and why
- How to Test
-
- Describe test approach, check relevant boxes
- Notes
- Release impact
-
- PR titles with
- ✨ feat/
- or
- 🐛 fix
- trigger releases — use carefully
- Language
- All PR content must be in English
If a PR already exists for the branch, inform the user instead of creating a duplicate
← 返回排行榜