Create GitHub Pull Request
Execute automated PR creation workflow with comprehensive quality validation and security scanning.
Context
- Current git status: !
git status - Current branch: !
git branch --show-current - Unpushed commits: !
git log --oneline -5 - GitHub authentication: !
gh auth status - Repository changes: !
git diff --stat HEAD~1..HEAD
Requirements Summary
Ensure repository readiness with clean state and authentication. Complete all quality checks (lint, test, build, security) before PR creation. Link related issues with auto-closing keywords and apply accurate labels. See references/requirements.md for complete checklist.
Phase 1: Validation and Analysis
Goal: Validate repository state, analyze changes, detect templates, and identify blockers.
Actions:
- Verify GitHub authentication from context
- Check branch status and unpushed commits
- Analyze commit history for conventional commit compliance
- Identify changed files and determine PR scope
- Check for contributing guidelines (
CONTRIBUTING.md) and follow its requirements - Detect PR templates (
.github/PULL_REQUEST_TEMPLATE.mdor root/docs locations) - Detect potential blockers (merge conflicts, missing tests, etc.)
See references/repository-templates.md for template detection and compliance details.
Phase 2: Quality and Security Checks
Goal: Execute comprehensive quality validation and security scanning.
Actions:
- Run project-specific quality checks (see
references/quality-validation.mdfor commands) - Execute security scanning for sensitive files and hardcoded secrets
- Validate commit message format against standards
- If checks fail: follow failure resolution process in
references/failure-resolution.md - Re-run all checks until passing
Phase 3: PR Assembly and Creation
Goal: Create pull request with proper structure, metadata, and links.
Actions:
- Consume
$ARGUMENTSbefore deriving anything. It may carry, in any combination:- An issue reference (
Closes #456,Fixes #12, or a bare#456) — use it verbatim as the auto-closing keyword in the PR body; do not re-derive or second-guess it./github:resolve-issuesdelegates here and passes the issue it just resolved this way. - A free-text description — use it as the basis for the PR title and the What/Why section.
--draft— pass through togh pr createin step 6.--no-monitor— a Phase 4 opt-out only; never treat it as description text.--auto-merge— pass through to/github:review-prin Phase 4; turns on auto-merge on green in the review loop. Never treat it as description text. Strip the flags before using the remainder as description/issue text.
- An issue reference (
- Identify and link any further related issues using GitHub CLI (in addition to any reference from
$ARGUMENTS) - Generate PR title (≤70 chars, imperative, no emojis)
- Assemble PR body following template in
references/pr-structure.md - Apply automated labels based on file changes
- CRITICAL: auto-closing keywords only fire when the PR merges into the repository's default branch. If targeting a non-default branch (e.g.
develop), explicitly warn the user that linked issues will NOT close automatically on merge and must be closed manually — seereferences/auto-closing-keywords.mdfor the full rule and keyword table. - Create PR using
gh pr createwith all metadata- Use
--draftif$ARGUMENTSrequested it, or if the PR requires early feedback or is not fully complete - Set reviewers with
--reviewerand assignees with--assigneewhen requested - Fill title/body automatically using
--fillfor simple changes
- Use
- Report final PR URL and status to user. Do NOT run a foreground
gh pr checks --watchhere — Phase 4 hands off to/github:review-pr, which owns the persistent CI watch; a blocking--watchwould stall the turn and duplicate that watch. - CRITICAL: Proceed to Phase 4. Creating the PR is not the end of this skill. Skip Phase 4 only if
$ARGUMENTScontains--no-monitoror the user explicitly opts out — never because CI looks green, no reviewers are assigned, or the change looks trivial.
Phase 4: Post-PR Handoff (default on)
Trigger: Default behavior — hand off unless $ARGUMENTS contains --no-monitor or the user opts out.
Goal: Delegate CI monitoring and reviewer-comment triage to the dedicated skill.
Action: After the PR is created, invoke Skill("github:review-pr", "<PR#>") to run the baseline review and launch the persistent CI + comment watch. The review-pr skill owns the Monitor script, the skeptical triage agent, the review → fix → commit+push → wait-for-review loop, through to the merge decision and the post-merge branch hygiene (remote + local head cleanup, fetch --prune, fast-forward main/develop). Once CI is green and every comment is triaged, review-pr asks the user whether to merge via AskUserQuestion (merge commit/squash/rebase/don't) BEFORE its closeout ceremony — the summary comment and body rewrite run only on a merge choice. The merge ask is enforced by the plugin's Stop hook: review-pr arms a closeout state the moment the stop conditions hold and one turn-end per user turn is blocked until the decision resolves — the handoff cannot silently skip the ask. See references/pr-creation-handoff.md for the handoff contract including post-merge hygiene. This skill does not duplicate that cleanup; it is the handoff target's responsibility.
--auto-merge passthrough: If $ARGUMENTS carried --auto-merge, pass it through to the review-pr invocation as Skill("github:review-pr", "<PR#> --auto-merge"). It instructs review-pr to skip the merge AskUserQuestion — the closeout ceremony (summary comment + body rewrite) still runs first — and auto-merge with gh pr merge --merge once CI is green and every non-escalate comment is triaged — see references/pr-creation-handoff.md for the contract and the escalate fallback. Pass it through only when the user explicitly set it; never infer it.
CRITICAL: this skill is the plugin's only PR-creating path. Other skills (e.g. /github:resolve-issues) delegate here instead of calling gh pr create themselves, precisely so no PR escapes the quality gate or this handoff. See references/pr-creation-handoff.md for the full contract. Do not add a bypass.
References
- Requirements:
references/requirements.md- Pre-creation checklist and commit standards - Repository Templates:
references/repository-templates.md- Contributing guidelines and PR templates - Quality Validation:
references/quality-validation.md- Node.js/Python validation commands - PR Structure:
references/pr-structure.md- Title guidelines, body template, labels - Auto-Closing Keywords:
references/auto-closing-keywords.md- Default-branch limitation and keyword table - PR Creation Handoff:
references/pr-creation-handoff.md- Only PR-creating path contract - Failure Resolution:
references/failure-resolution.md- Agent collaboration for fixing failures - Examples:
references/examples.md- Commit message examples