Use this skill when creating a git branch for a Linear issue, writing a PR description, opening a pull request, or linking a PR to a Linear issue. Trigger phrases: "create a branch", "new branch for this issue", "open a PR", "write the PR description", "link to Linear", "push this up".
From project-managernpx claudepluginhub nthplusio/functional-claude --plugin project-managerThis skill uses the workspace's default tool permissions.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Enforce consistent branch naming and PR descriptions that trigger Linear's auto-close via PR link.
One PR closes one Linear issue. If extra work surfaces mid-PR:
pm-pivotFor larger features, use Linear's parent/sub-issue hierarchy. Parent issue needs no PR — it closes when all sub-issues close. Each sub-issue gets its own branch (feat/NTH-44-auth-middleware) and PR with Closes <SUB-ID>.
Target: ~200-400 lines changed. Under 200 is ideal. Over 500 warrants a check-in.
Before opening a PR, verify every changed file relates to the issue's acceptance criteria, there are no unrelated changes, and test changes match code changes.
Check in with the user after completing the core change, when the diff crosses ~300 lines, or when unexpected complexity appears. If the diff exceeds ~500 lines, suggest splitting into a shippable subset + follow-up issue.
Format: <type>/<LINEAR-ID>-<short-description>
type = feat, fix, chore, refactor, docs, testLINEAR-ID = the Linear issue identifier (e.g., ENG-42)short-description = 2-4 words, lowercase, hyphenatedExamples:
feat/ENG-42-auth-middleware-refactor
fix/ENG-45-pagination-off-by-one
chore/ENG-51-update-dependencies
git checkout -b feat/ENG-42-auth-middleware-refactor
Always confirm the Linear issue ID before creating the branch. If the work isn't tracked yet, use the pm-issues skill to create the issue first.
## Summary
[1-3 bullet points describing what changed and why]
## Changes
- [Specific change 1]
- [Specific change 2]
## Testing
- [ ] [How to verify this works]
- [ ] [Edge cases tested]
Closes ENG-42
Critical: The Closes <ID> line at the end of the PR description is what triggers Linear to auto-close the issue when the PR merges. Always include it. One PR, one Closes line.
When the user says "open a PR" or "push this up":
git push -u origin <branch>gh pr create \
--title "<LINEAR-ID>: <concise title>" \
--body "<description with Closes ENG-XX>"
ENG-42: Refactor auth middleware to support OAuth
The Linear ID at the front of the title makes it easy to scan in GitHub's PR list.
After creating the PR, confirm the Linear issue shows the PR as attached:
get_issue { id: "<issue_id>" } → check attachments or relations
If Linear doesn't pick it up automatically within a few minutes, the Closes keyword in the PR body is what matters — Linear scans it on merge.