| name | pr-creation |
| description | Take owner-compatible backlog tickets from idea to open PR/MR: knowledge phase → branch/worktree → TDD → checks → follow-up tickets → push/open/link. Does not auto-run code review. Use on /pr-creation or 'start work on a ticket'. |
/pr-creation — Ticket to PR/MR
Implements one assigned-agent lane into one PR/MR. The canonical owner,
knowledge, artifact, and follow-up contract is
docs/workflow/agent-process.md.
This skill stops when the PR/MR is open and linked. It does not run
the code-review agent and never merges.
MCP Fast Path
Use MCP for deterministic bookkeeping when available:
get_ticket({slug}) / list_tickets({repo, status})
update_ticket({slug, status: 'in-progress'})
update_ticket_run({slug, runId: $TERMINAL_RUN_ID, runSource: 'agent', runStartedAt, runStatus: 'running'}) when a run id exists
list_agents({repo})
request_agent_artifact({repo, title, prompt, agentId, agentScope, agentKind})
file_ticket({repo, title, body, type, priority, source, agentId, agentScope, agentKind})
update_ticket({slug, appendPrUrl})
emit_activity({kind: 'pr-opened', repo, title, detail})
set_run_outcome({runId: $TERMINAL_RUN_ID, outcome: 'pr-opened'}) when a run id exists
Fallback commands:
.claude/bin/list-agents
.claude/bin/request-agent-artifact --agent knowledge-base --title "Question" -- "Prompt..."
Inputs
ticket_id / slug — preferred. Multiple tickets are allowed only when
they share the same assigned owner and form one cohesive PR/MR.
task_description — file a ticket first, then continue.
Process
- Read and validate tickets. Confirm each ticket is runnable, testable,
and has exactly one owner. If multiple supplied tickets have different
owners, split the work and run one owner lane at a time.
- Start work. Set each ticket to
in-progress and link the run with
update_ticket_run when $TERMINAL_RUN_ID exists.
- Knowledge phase. Follow
docs/workflow/agent-process.md: read the
minimal relevant context and request delegated artifacts for cross-domain
questions.
- Branch/worktree. Create a feature branch from the target base. Use a
worktree when other agents may touch the repo in parallel.
- Implement TDD-first. Write the failing test before new behavior, then
make the smallest scoped change.
- Check locally. Run the relevant type/build/test smoke checks and inspect
the diff for unrelated files or secrets.
- File follow-up tickets. Before opening the PR/MR, file owner-scoped
tickets for deferred work and link dependencies with
depends_on.
- Push and open PR/MR. Use
gh pr create or glab mr create according to
.claude/bin/forge. Do not pass merge/automerge flags.
- Link back. Append the PR/MR URL to each ticket's
prs: and leave status
in-progress; /merge-sync closes tickets after human merge.
- Handoff. Report ticket ids, owner agent, PR/MR URL, branch/head SHA,
checks, delegated artifact paths, and follow-up ticket ids or
none.
PR/MR Body
Closes #<ticket-id>.
## Summary
<2-3 sentences>
## What's covered
- <notable surfaces>
## Test plan
- <commands / manual checks>
Generated by the project workflow /pr-creation
If the diff is only docs/tickets/reports/agent specs, optionally apply the
auto-mergeable label. Skip the label when unsure.
Hard Rules
- Never merge.
- Never push directly to
main/master unless this repo explicitly opts out.
- No ownerless tickets.
- No implementation before the knowledge phase.
- No handoff before follow-up tickets are filed or explicitly marked
none.