pr-creator
引导式拉取请求创建,强制执行仓库模板和安全标准。通过关键检查防止对主分支的提交和推送,确保分支安全。从.github/目录中定位并应用仓库特定的PR模板,支持多种模板变体。指导描述起草,保留模板结构、完成清单并关联问题。包含通过npm run preflight进行的预检验证,以在PR前捕获构建、代码检查和测试失败...
npx skills add https://github.com/google-gemini/gemini-cli --skill pr-creatorPull Request Creator
This skill guides the creation of high-quality Pull Requests that adhere to the repository's standards.
Workflow
Follow these steps to create a Pull Request:
-
Branch Management: CRITICAL: Ensure you are NOT working on the
mainbranch.- Run
git branch --show-current. - If the current branch is
main, you MUST create and switch to a new descriptive branch:git checkout -b <new-branch-name>
- Run
-
Commit Changes: Verify that all intended changes are committed.
- Run
git statusto check for unstaged or uncommitted changes. - If there are uncommitted changes, stage and commit them with a descriptive
message before proceeding. NEVER commit directly to
main.git add . git commit -m "type(scope): description"
- Run
-
Locate Template: Search for a pull request template in the repository.
- Check
.github/pull_request_template.md - Check
.github/PULL_REQUEST_TEMPLATE.md - If multiple templates exist (e.g., in
.github/PULL_REQUEST_TEMPLATE/), ask the user which one to use or select the most appropriate one based on the context (e.g.,bug_fix.mdvsfeature.md).
- Check
-
Read Template: Read the content of the identified template file.
-
Draft Description: Create a PR description that strictly follows the template's structure.
- Headings: Keep all headings from the template.
- Checklists: Review each item. Mark with
[x]if completed. If an item is not applicable, leave it unchecked or mark as[ ](depending on the template's instructions) or remove it if the template allows flexibility (but prefer keeping it unchecked for transparency). - Content: Fill in the sections with clear, concise summaries of your changes.
- Related Issues: Link any issues fixed or related to this PR (e.g., "Fixes #123").
-
Preflight Check: Before creating the PR, run the workspace preflight script to ensure all build, lint, and test checks pass.
npm run preflightIf any checks fail, address the issues before proceeding to create the PR.
-
Push Branch: Push the current branch to the remote repository. CRITICAL SAFETY RAIL: Double-check your branch name before pushing. NEVER push if the current branch is
main.# Verify current branch is NOT main git branch --show-current # Push non-interactively git push -u origin HEAD -
Create PR: Use the
ghCLI to create the PR. To avoid shell escaping issues with multi-line Markdown, write the description to a temporary file first.# 1. Write the drafted description to a temporary file # 2. Create the PR using the --body-file flag gh pr create --title "type(scope): succinct description" --body-file <temp_file_path> # 3. Remove the temporary file rm <temp_file_path>- Title: Ensure the title follows the
Conventional Commits format if the
repository uses it (e.g.,
feat(ui): add new button,fix(core): resolve crash).
- Title: Ensure the title follows the
Conventional Commits format if the
repository uses it (e.g.,
Principles
- Safety First: NEVER push to
main. This is your highest priority. - Compliance: Never ignore the PR template. It exists for a reason.
- Completeness: Fill out all relevant sections.
- Accuracy: Don't check boxes for tasks you haven't done.