Skip to main content
skill CX Codex

task-to-pr — Claude Code skill: from task to reviewed PR

Turns a spec or a settled task into a tested pull request with an independent review. Keeps fixing CI and findings until every check passes.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add owainlewis/blueprint --skill task-to-pr -a claude-code
Open on GitHub

What task-to-pr does

The skill takes a Markdown spec, a GitHub issue or a decided task with acceptance checks and ships each one as a single pull request. It treats the spec as the ticket and does not invent a second definition of the work. When a consequential decision is missing, it hands back to /spec or reports what is needed instead of guessing.

The delivery loop is explicit. It reads repository instructions, architecture and tests, sets up an isolated branch and worktree, writes the code plus tests for changed behavior, then proves acceptance with /test. A Conventional Commit, a push and a PR built from the repository template follow. Review comes from a fresh subagent that did not touch the implementation. Valid findings get fixed, the affected checks and a new review run again, and the cycle repeats until CI and automated review are clean.

Ready PRs stay open for a human by default. Merging requires explicit /factory or /codex-issue-coordinator authority, or a direct request from the user. Automatic skill selection grants nothing, so a pending approval blocks the merge without counting as a failed implementation.

What it helps with

  • turn an accepted spec into one focused pull request
  • drive the CI and review repair loop to a green state
  • get an independent review from a subagent that wrote none of the code
  • link the PR back to the tracker and update delivery status
  • stack dependent tasks as branches in dependency order

Example prompts for the agent

  • Take the spec in specs/billing-export.md and deliver it as a PR
  • Split this task with /plan and carry each piece to green CI
  • Address the review findings on this PR and wait for a fresh /review

How to install task-to-pr

1Skills CLI (Vercel)

npx skills add owainlewis/blueprint --skill task-to-pr -a claude-code

2Manually: put the files in place

~/.claude/skills/task-to-pr/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/task-to-pr/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about task-to-pr

How do I install task-to-pr in Claude Code?

Run npx skills add owainlewis/blueprint --skill task-to-pr -a claude-code. The skill file lands at ~/.claude/skills/task-to-pr/SKILL.md.

What does task-to-pr do?

It carries a task from spec to a review-ready PR: implementation, tests, checks, plus repeated fixes of findings and CI. Passing PRs are left open unless merging was authorized.

When does the skill merge a PR on its own?

Only with explicit /factory or /codex-issue-coordinator authority, or when the user asks directly. Automatic skill selection does not cover merging.

Source text

SKILL.md · MIT
---
name: task-to-pr
description: "Delivers specs or decided tasks as tested, independently reviewed pull requests. Runs the CI and review repair loop, then leaves passing pull requests open unless merging was explicitly authorized."
user-invocable: true
argument-hint: "<specs, tasks, issues, PRs, or milestone>"
disable-model-invocation: true
---

# Task to PR

Deliver each task as one focused pull request with proof. The spec is the ticket;
accept a Markdown spec, GitHub issue, or decided task with acceptance checks.
Do not create a second work definition.

Read required skills directly from their `SKILL.md` files as instructions for this workflow. Do not invoke them through a skill command that the client blocks.

## Prepare

1. Read the source, repository instructions, relevant requirements and architecture, code, and tests. Reuse an existing branch, worktree, and pull request when continuing work.
2. Confirm the outcome, scope, decisions, and checks are sufficient. If a consequential choice is missing, return to `/spec` or report the needed decision before implementing. Do not write specs for small, decided work.
3. Split larger specs with `/plan` when useful. Each task delivers one working result. Identify dependencies and start independent work together when useful.

## Deliver and repair

1. Create or reuse an isolated branch and worktree. Start independent work from the latest remote default branch. Follow repository naming and worktree rules.
2. Implement the task and meaningful tests for changed behavior and affected failures. Update requirements, architecture, and the spec when the change affects them. Keep intended architecture and implementation status accurate.
3. Use `/test` to prove acceptance and affected rules. Fix failures before committing.
4. Create a Conventional Commit, push, and open or update the pull request. Follow the repository PR template. Lead with the problem and result; include proof and the source link. Mark it ready for review and move a tracker ticket to Review when supported.
5. Use `/review` with a fresh subagent that did not implement the change. Wait for configured CI and automated review on the current commit.
6. Fix valid findings and failures caused by the change. Reply to review findings with the fix or evidence for making no change. Resolve a thread only when fully addressed.
7. After changing the implementation, repeat affected `/test` checks and fresh `/review`, commit, push, and wait for CI and automated review again. Update PR proof. Continue until all available checks pass and no actionable finding remains.
8. Report a blocker when progress requires a missing decision, permission, unavailable check, or external repair. Do not weaken tests, bypass repository rules, or claim unrun checks passed.
9. Record final proof and the PR link in the source spec or task. Update delivery status to reflect the actual result, including whether the PR is open or merged. Update the original tracker item when one exists. Leave passing PRs open for human review by default. Pending human approval is a merge blocker, not a failed implementation check.

## Dependencies

Start dependent work only after each prerequisite has an open PR, a fresh
`Approve` review, and no known blocking finding. Stack its branch on the reviewed
prerequisite. If there are several prerequisites, combine them in dependency
order. Keep each PR diff focused on its own task.

When a prerequisite changes or merges, update dependent branches and PR bases.
Repeat affected tests, independent review, and CI against the new base.

## Merge only with authority

Explicit `/factory` or `/codex-issue-coordinator` use grants their scoped merge
authority. Otherwise merge only when the user asks. Automatic skill selection
does not grant it. Before merging, require:

- Complete scope and acceptance proof on the final commit.
- Passing tests, required CI, and a fresh `/review` verdict of `Approve`.
- No unresolved actionable review finding or consequential decision.
- Every repository-required approval.
- A ready, mergeable PR current with its required base.

Merge in dependency order using the repository's preferred method. Never bypass
branch protection. Confirm GitHub reports the merge, then update delivery status in the source
spec or task and update the original issue and project state. Remove manually created worktrees after merge or close;
use the host's lifecycle tools for managed worktrees. Keep open-PR worktrees.
Merge authority does not authorize deployment or release publication.

## Return

Report each PR, tests, review verdict, CI state, and blocker. Stop with passing
PRs open unless scoped merge authority was given. In merge mode, report verified
merges and any work that still needs human action.

© owainlewis · MIT · owainlewis/blueprint

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set5

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor