with one click
n8n-create-pr
Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.
Menu
Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.
| name | n8n:create-pr |
| description | Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request. |
| allowed-tools | Bash(git:*), Bash(gh:*), Read, Grep, Glob |
Creates GitHub PRs with titles that pass n8n's check-pr-title CI validation.
<type>(<scope>): <summary>
| Type | Description | Changelog |
|---|---|---|
feat | New feature | Yes |
fix | Bug fix | Yes |
perf | Performance improvement | Yes |
test | Adding/correcting tests | No |
docs | Documentation only | No |
refactor | Code change (no bug fix or feature) | No |
build | Build system or dependencies | No |
ci | CI configuration | No |
chore | Routine tasks, maintenance | No |
API - Public API changesbenchmark - Benchmark CLI changescore - Core/backend/private APIeditor - Editor UI changes* Node - Specific node (e.g., Slack Node, GitHub Node)(no-changelog) suffix to exclude from changelogCheck current state:
git status
git diff --stat
git log origin/master..HEAD --oneline
Check for implementation plan: Look for a plan file in the repository plan directories (.claude/plans/ or .agents/plans/ when present)
that matches the current branch's ticket ID (e.g. if branch is
scdekov/PAY-1234-some-feature, check for PAY-1234.md).
If a plan file exists, ask the user whether they want to include it in the
PR description as a collapsible <details> section (see Plan Section below).
Only include the plan if the user explicitly approves.
If this is a security fix, audit every public-facing artifact before proceeding (see Security Fixes below).
Analyze changes to determine:
Push branch if needed:
git push -u origin HEAD
Create PR using gh CLI. Read .github/pull_request_template.md as the
body structure, then populate each section with actual content before
creating the PR:
https://linear.app/n8n/issue/[TICKET-ID]) and any GitHub issue linksgh pr create --draft --title "<type>(<scope>): <summary>" --body "$(cat <<'EOF'
<populated body based on pull_request_template.md>
EOF
)"
Based on .github/pull_request_template.md:
https://linear.app/n8n/issue/[TICKET-ID]closes #123 / fixes #123 / resolves #123All items should be addressed before merging:
release/backport label added if urgent fix needs backportingfeat(editor): Add workflow performance metrics display
fix(core): Resolve memory leak in execution engine
fix(Slack Node): Handle rate limiting in message send
feat(API)!: Remove deprecated v1 endpoints
refactor(core): Simplify error handling (no-changelog)
chore: Update dependencies to latest versions
The PR title must match this pattern:
^(feat|fix|perf|test|docs|refactor|build|ci|chore|revert)(\([a-zA-Z0-9 ]+( Node)?\))?!?: [A-Z].+[^.]$
Key validation rules:
If a matching plan file was found in a repository plan directory and the user has approved
including it, add a collapsible section at the end of the PR body (after the
checklist, before EOF):
<details>
<summary>Implementation plan</summary>
<!-- paste plan file contents here -->
</details>
This repo is public. Never expose the attack vector in any public artifact. Describe what the code does, not what threat it prevents.
| Artifact | BAD | GOOD |
|---|---|---|
| Branch | fix-sql-injection-in-webhook | fix-webhook-input-validation |
| PR title | fix(core): Prevent SSRF | fix(core): Validate outgoing URLs |
| Commit msg | fix: prevent denial of service | fix: add payload size validation |
| PR body | "attacker could trigger SSRF…" | "validates URL protocol and host" |
| Linear ref | URL with slug (leaks title) | URL without slug or ticket ID only |
| Test name | 'should prevent SQL injection' | 'should sanitize query parameters' |
Before pushing a security fix, verify: no branch name, commit, PR title, PR body, Linear URL, test name, or code comment hints at the vulnerability.
When in doubt, check the Linear issue for possible extra precautions
Based on SOC occupation classification
Default path for all single-workflow work: new one-off workflows, existing- workflow edits, verification repairs, and workflow-local data tables. Use build-workflow directly — do not load planning or create-tasks first. Load planning only when multiple coordinated workflows or shared cross-task data tables require a dependency-aware task graph.
Handles workflow verification and setup after build-workflow succeeds, or when the message contains workflow-verification-follow-up or workflow-setup-required. Load after direct builds, when verificationReadiness requires action, or on orchestrator verify/setup follow-up turns.
Guides users through creating effective Agent Skills. Use when you want to create, write, or author a new skill, or asks about skill structure, best practices, or SKILL.md format.
Checks if a community pull request is ready for human review. Verifies CLA signature, PR title format, description completeness, test coverage, and cubic-dev-ai issues, then triages to the right Linear team or recommends a close. Use when given a PR number or branch name to review, or when the user says /community-pr-readiness-check, or asks to check if a PR is ready for review.
Create Linear tickets or GitHub issues following n8n conventions. Use when the user asks to create a ticket, file a bug, open an issue, or says /create-issue.
Guides work on `packages/frontend/editor-ui` experiments. Use when creating, extending, wiring, testing, reviewing, or retiring editor-ui experiments, PostHog feature flags, experiment key indexes, variants, stores/composables, persisted experiment state, or experiment telemetry.