create-pull-request
/create-pull-request
Tworzy pull request na GitHubie zgodnie z konwencjami projektu: analizuje commity, zarządza gałęziami i szablonem, a potem otwiera PR przez gh.
- Autor
- 1438998005 ↗
- Repozytorium
- era-harness ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 14.11.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 14.11.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Tworzy pull request na GitHubie zgodnie z konwencjami projektu: analizuje commity, zarządza gałęziami i szablonem, a potem otwiera PR przez gh.
Oryginalny opis (EN)
Create a GitHub pull request following project conventions. Use when the user asks to create a PR, submit changes for review, or open a pull request. Handles commit analysis, branch management, PR template usage, and PR creation using the gh CLI tool.
Jak działa
- Prerequisites Check
- Gather Context
- Information Gathering
- Git Best Practices
- Create the Pull Request
- Post-Creation
- Error Handling
- Summary Checklist
Podgląd SKILL.md
--- name: create-pull-request description: Create a GitHub pull request following project conventions. Use when the user asks to create a PR, submit changes for review, or open a pull request. Handles commit analysis, branch management, PR template usage, and PR creation using the gh CLI tool. --- # Create Pull Request > ⛔ **本项目禁用**:本 skill 只可执行到「本地 commit + 生成 PR 描述」为止。`git push`、`gh pr create/edit`、`gh pr merge` 一律不执行,改为把命令与 PR 正文原样打印给用户手动跑(工作区根 `AGENTS.md` §3.8;用户 GitHub 账号已因自动化推送被风控)。 This skill guides you through creating a well-structured GitHub pull request that follows project conventions and best practices. ## Prerequisites Check Before proceeding, verify the following: ### 1. Check if `gh` CLI is installed ```bash gh --version ``` If not installed, inform the user: > The GitHub CLI (`gh`) is required but not installed. Please install it: > - macOS: `brew install gh` > - Other: https://cli.github.com/ ### 2. Check if authenticated with GitHub ```bash gh auth status ``` If not authenticated, guide the user to run `gh auth login`. ### 3. Verify clean working directory ```bash git status ``` If there are uncommitted changes, ask the user whether to: - Commit them as part of this PR - Stash them temporarily - Discard them (with caution) ## Gather Context ### 1. Identify the current branch ```bash git branch --show-current ``` Ensure you're not on `main` or `master`. If so, ask the user to create or switch to a feature branch. ### 2. Find the base branch ```bash git remote show origin | grep "HEAD branch" ``` This is typically `main` or `master`. ### 3. Analyze recent commits relevant to this PR ```bash git log origin/main..HEAD --oneline --no-decorate ``` Review these commits to understand: - What changes are being introduced - The scope of the PR (single feature/fix or multiple changes) - Whether commits should be squashed or reorganized ### 4. Review the diff ```bash git diff origin/main..HEAD --stat ``` This shows which files changed and helps identify the type of change. ## Information Gathering Before creating the PR, you need the following information. Check if it can be inferred from: - Commit messages - Branch name (e.g., `fix/issue-123`, `feature/new-login`) - Changed files and their content If any critical information is missing, use `ask_followup_question` to ask the user: ### Required Information 1. **Related Issue Number**: Look for patterns like `#123`, `fixes #123`, or `closes #123` in commit messages 2. **Description**: What problem does this solve? Why were these changes made? 3. **Type of Change**: Bug fix, new feature, breaking change, refactor, cosmetic, documentation, or workflow 4. **Test Procedure**: How was this tested? What could break? ### Example clarifying question If the issue number is not found: > I couldn't find a related issue number in the commit messages or branch name. What GitHub issue does this PR address? (Enter the issue number, e.g., "123" or "N/A" for small fixes) ## Git Best Practices Before creating the PR, consider these best practices: ### Commit Hygiene 1. **Atomic commits**: Each commit should represent a single logical change 2. **Clear commit messages**: Follow conventional commit format when possible 3. **No merge commits**: Prefer rebasing over merging to keep history clean ### Branch Management 1. **Rebase on latest main** (if needed): ```bash git fetch origin git rebase origin/main ``` 2. **Squash if appropriate**: If there are many small "WIP" commits, consider interactive rebase: ```bash git rebase -i origin/main ``` Only suggest this if commits appear messy and the user is comfortable with rebasing. ### Push Changes Ensure all commits are pushed: ```bash git push origin HEAD ``` If the branch was rebased, you may need: ```bash git push origin HEAD --force-with-lease ``` ## Create the Pull Request **IMPORTANT**: Read and use the PR template at `.github/pull_request_template.md`. The PR body format must **strictly match** the template structure. Do not deviate from the template format. When filling out the template: - Replace `#XXXX` with the actual issue number, or keep as `#XXXX` if no issue exists (for small fixes) - Fill in all sections with relevant information gathered from commits and context - Mark the appropriate "Type of Change" checkbox(es) - Complete the "Pre-flight Checklist" items that apply ### Create PR with gh CLI **Use a temporary file for the PR body** to avoid shell escaping issues, newline problems, and other command-line flakiness: 1. Write the PR body to a temporary file: ``` /tmp/pr-body.md ``` 2. Create the PR using the file: ```bash gh pr create --title "PR_TITLE" --body-file /tmp/pr-body.md --base main ``` 3. Clean up the temporary file: ```bash rm /tmp/pr-body.md ``` For draft PRs: ```bash gh pr create --title "PR_TITLE" --body-file /tmp/pr-body.md --base main --draft ``` **Why use a file?** Passing complex markdown with newlines, special characters, and checkboxes directly via `--body` is error-prone. The `--body-file` flag handles all content reliably. ## Post-Creation After creating the PR: 1. **Display the PR URL** so the user can review it 2. **Remind about CI checks**: Tests and linting will run automatically 3. **Suggest next steps**: - Add reviewers if needed: `gh pr edit --add-reviewer USERNAME` - Add labels if needed: `gh pr edit --add-label "bug"` ## Error Handling ### Common Issues 1. **No commits ahead of main**: The branch has no changes to submit - Ask if the user meant to work on a different branch 2. **Branch not pushed**: Remote doesn't have the branch - Push the branch first: `git push -u origin HEAD` 3. **PR already exists**: A PR for this branch already exists - Show the existing PR: `gh pr view` - Ask if they want to update it instead 4. **Merge conflicts**: Branch conflicts with base - Guide user through resolving conflicts or rebasing ## Summary Checklist Before finalizing, ensure: - [ ] `gh` CLI is installed and authenticated - [ ] Working directory is clean - [ ] All commits are pushed - [ ] Branch is up-to-date with base branch - [ ] Related issue number is identified, or placeholder is used - [ ] PR description follows the template exactly - [ ] Appropriate type of change is selected - [ ] Pre-flight checklist items are addressed
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · 1438998005/era-harness | 100 | Apache-2.0 |
| cline/cline | 100 | Apache-2.0 |
| microsoft/vscode-pull-request-github | 100 | MIT |
| makeplane/plane | 100 | AGPL-3.0 |
| erikaax08/erikas-skills | 100 | Apache-2.0 |
| agustinusnathaniel/maestria | 100 | MIT |
| agustinusnathaniel/maestria | 100 | MIT |
| OutlineDriven/outline-driven-development | 100 | Apache-2.0 |
| outlinedriven/odin-claude-plugin | 100 | Apache-2.0 |
Migawka bazy z 13.11.2026 · wersja paczki 1b1c521cc63a (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100create-pr
Tworzy pull requesty zgodnie z konwencjami projektu, gdy trzeba opublikować zmiany do przeglądu. - 100create-github-pr
Tworzy pull requesty na GitHubie przez CLI gh i przekazuje kod do przeglądu. - 100create-pr
Tworzy szkicowy pull request zgodnie z konwencjami projektu, gdy trzeba przygotować gałąź do przeglądu. - 100create-pr
Tworzy szkicowy pull request zgodnie z konwencjami projektu, gdy trzeba przygotować gałąź do przeglądu. - 100create-pr
Otwiera lub aktualizuje pull request na GitHubie dla bieżącej gałęzi, także z wypchnięciem zmian. - 100create-pr
Dodaje zmiany, zapisuje commit, wypycha je i otwiera pull request zgodnie z konwencjami projektu i Conventional Commits, gdy praca na gałęzi jest gotowa do przeglądu.