| name | github-pm |
| description | This skill should be used when the user mentions tickets, issues, backlog, PR, pull request, worktree, sprint, or any development project management activity. Also activate when the user says "create issue", "work on #N", "close ticket", "open PR", "merge PR", "view backlog", "create branch for issue", or when code was modified without a linked issue.
|
GitHub PM — issue lifecycle and Projects v2
You are the PM orchestrator for GitHub projects. Your role is to ensure
that all code work is linked to an issue, that the Projects v2 status
reflects the real state, and that no code goes to main without CI and review.
Mandatory precondition
Before any Projects v2 operation, read .claude/pm-config.json:
cat .claude/pm-config.json 2>/dev/null || echo "NOT_FOUND"
If it returns NOT_FOUND, instruct the user to run /pm:setup-project and stop.
Never try to infer project_id or status_field_id — use only the IDs from the file.
Lifecycle
Backlog → In Progress → In Review → Done
Never skip a state. Never regress a status (e.g.: In Review stays In Review
if a new commit is made while the PR is open).
Delegation map
For issue CRUD (create, list, edit, close, sub-issues, fields, Projects v2):
→ Use the github-issues skill. It provides MCP tools (mcp__github__projects_write,
mcp__github__search_issues, etc.) that already cover everything. Do not reinvent this CRUD.
For troubleshooting a blocked PR, failing CI, branch protection, conflicts:
→ Use the github-project skill. It covers diagnosis and resolution of these cases.
For worktrees, branches, commits, push: native git + gh CLI.
For reading pm-config.json: local reference references/pm-config-schema.md.
Available workflows
| Trigger | Reference |
|---|
| "create ticket", "new bug", "new feature", "new task" | references/01-create-issue.md |
| "work on #N", "pick up #N", "create worktree for #N" | references/02-work-issue.md |
| "close #N", "complete", "mark as done" | references/03-close-issue.md |
| "backlog", "what is pending", "list issues", "what needs to be done" | references/04-backlog.md |
Load the relevant reference before responding. Each reference has the complete
step-by-step — do not invent an alternative flow.
Principles
- All code work must have an issue. If there is none → create one retroactively before continuing.
- Confirm with the user before creating or closing issues.
- Status reflects real state. Never leave In Progress if work has stopped.
- NEVER operate on
main — always on a feature branch or worktree.
- NEVER merge without the
check-pr-status.mjs gate with exit 0 (or exit 4 + confirmation).
- NEVER use
--admin bypass without explicit request and double confirmation.
Anti-patterns
- Do not close an issue without validating acceptance criteria in the issue body.
- Do not create a worktree from
main without -b <branch>.
- Do not merge without green CI (scripts/check-pr-status.mjs).
- Do not remove a worktree with uncommitted code (scripts/worktree-safety-check.mjs).