- Home
- Skills
- Workflow Automation
- issue-to-pr-runner
Works with the AI Agents you already use
Issue to pr Runner
Turns a plain-language prompt into a GitHub issue, branch, isolated-worktree implementation, tests, reviewed PR and a confirmed merge, using 8 specialized sub-agents.
$14
issue-to-pr-runner
Example session with this skill installed
run issue-runner on: add an optional "location" field to Event so organizers can say where it takes place. Show it on the event detail page and accept it in the creation form.
- Read your context and instructions
- Compiled the issue-to-pr-runner
Pipeline complete: issue #42 → PR #43, ready to merge (waiting for your confirmation).
SUMMARY
Classified as NEW_ISSUE (single feature, no matching open issue). Risk level: medium (public API contract changes). I paused once to confirm "location" should be optional; you chose optional. 9 phases ran, 0 retries needed.
DELIVERABLE
| Phase | Agent | Result |
|---|---|---|
| Intent | intent-classifier | NEW_ISSUE, confidence 0.94 |
| Spec | prompt-optimizer | 5 acceptance criteria, complexity: small |
| Risk | risk-analyzer | medium: 1 contract change, 1 test gap |
| Setup | orchestrator | issue #42, branch runner/issue-42-add-location-to-event |
| Code | implementer (worktree) | 5 files modified, 1 migration created |
| Review | regression-checker | pass, 0 major findings |
| Tests | test-writer | 6 tests added, 38/38 passing (pnpm test) |
| PR | orchestrator | #43, "Closes #42" |
| Review | pr-reviewer | approve, CI green, mergeable |
Files changed
- prisma/schema.prisma: Event.location String? (nullable)
- prisma/migrations/…_add_event_location/migration.sql
- src/events/dto/create-event.dto.ts: optional, max 200 chars
- src/events/events.service.ts: persists location
- web/components/EventForm.tsx: new "Location" input
- web/pages/events/[id].tsx: shows location when set
- src/events/events.service.spec.ts: create with/without location, read-back, length validation
Decisions recorded in the PR
- Field is nullable so already-deployed clients keep working (mitigation from risk-analyzer).
- No change to the list view, which was out of scope.
NEXT STEPS
- Merge PR #43 with squash (recommended): reply "merge" or choose "View diff first".
- Deploy the migration before the new web build.
- Follow-up worth its own issue: show location in the events list and filters.
State saved in .claude/runner-state/issue-42/state.json, so the run can be resumed at any time.
Connects securely to your tools. The creator never sees your data.
About this skill
From a one-line prompt to a reviewed pull request
issue-to-pr-runner is a Claude Code skill that runs the whole path from "I want X" to a merged PR. Describe the work in plain language. It creates the GitHub issue, opens a dedicated branch, implements the change in an isolated git worktree, writes the tests, opens a PR, reviews it, and asks you before merging.
Eight specialized sub-agents each do one job: they classify your intent, turn the prompt into a clear spec, assess risk, implement, check for regressions, write tests, and review the PR. Each step passes a structured result to the next.
What you get
- Prompt → issue → branch → PR in one run, with the issue linked to the PR (
Closes #N). - Risk analysis before any code is written. High-risk changes (data loss, public API changes) stop and ask you first.
- Isolated worktree. The implementation never touches your main checkout.
- Regression check and tests. A static review of the diff, then new tests in your existing framework.
- Independent PR review with a clear verdict and at most a handful of actionable comments.
- Parallel features. A prompt with several independent tasks becomes several pipelines, each with its own issue, branch and PR.
- Resumable. State is saved after every phase, so an interrupted run picks up where it stopped.
You stay in control
- Nothing is merged without your explicit confirmation.
- The implementer agent never commits or pushes; the orchestrator does, on a dedicated branch.
- Retries are capped (2 per phase by default) and failures are escalated to you with full context.
Works on any stack
Detects the test command automatically for npm, pnpm, yarn, bun, pytest, cargo, go, flutter, rspec, maven, gradle and dotnet. Prefer your own? Set testCommand in .claude/issue-runner.config.json.
Requirements
- Claude Code (uses sub-agents and worktree isolation)
nodeand an authenticatedghCLI on PATH- No npm dependencies
Good to know
- Cost depends on repo size and task complexity. The pipeline uses lighter models for classification and spec writing, and a stronger one for implementation and review.
- Works with prompts in any language.
- Commercial license for individual use on personal and client projects (see
LICENSE.txt).
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 4 days ago
- Passed all security checks, Safe to install
Requires