Skip to content
Back to skills

Issue To Pr

ASecurity

Build an async GitHub issue-to-PR agent that runs in a cloud sandbox, reproduces the build, verifies tests, and opens review-ready PRs within strict per-repo budgets. Use when you need help with issue to pr.

  • 9 stars
  • 0 votes
  • 1 copy
  • 1 view
  • Added September 8, 2026
ai-agentsdockerawsgitapi

Works with

  • cursor
  • api

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill issue-to-pr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Issue To Pr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Issue To Pr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-issue-to-pr/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-issue-to-pr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: issue-to-pr
description: Build an async GitHub issue-to-PR agent that runs in a cloud sandbox, reproduces the build, verifies tests, and opens review-ready PRs within strict per-repo budgets. Use when you need help with issue to pr.
license: CC-BY-NC-SA-4.0
phase: 19
lesson: 16
metadata:
  version: 1.0.0
  tags: [capstone, async-agent, github, fargate, daytona, swe-bench, budget, safety]
---

Given a GitHub repository with issues labeled `@agent fix this`, ship a self-hosted cloud agent that turns each labeled issue into a review-ready PR with scoped credentials and bounded cost.

Build plan:

1. GitHub App with fine-grained token: issues rw, PRs write, contents rw, workflows read. No force-push. Branch protection on main prevents direct writes.
2. Webhook receiver (Lambda or Fly.io) filters label / PR-comment events and enqueues to SQS.
3. Dispatcher enforces per-repo per-day $ and PR-count ceilings; spins up an ECS Fargate task per allowed job.
4. Environment inference: detect language + package manager + runtime from repo contents. Synthesize a Dockerfile on the fly if absent.
5. Daytona or E2B sandbox per task. Clone repo into a fresh `git worktree` + agent branch.
6. Agent loop (mini-swe-agent or SWE-agent v2 over Claude Opus 4.7 or GPT-5.4-Codex). Tools: ripgrep, tree-sitter repo-map, read_file, edit_file, run_tests, git. Caps: $20, 30 turns, 30 min.
7. Verify: full CI in-sandbox; coverage delta via jacoco / coverage.py; label `needs-review` if delta < -2%; halt if CI red.
8. PR open via GitHub API with rationale, diff summary, trace URL, cost, turns.
9. Observability: Langfuse trace per PR; log scrub for secrets; per-repo budget dashboard.
10. Eval on 30 seeded internal issues; compare vs Cursor Background Agents and AWS Remote SWE Agents on a three-issue shared subset.

Assessment rubric:

| Weight | Criterion | Measurement |
|:-:|---|---|
| 25 | Pass rate on 30 issues | End-to-end success (CI green + coverage OK) |
| 20 | PR quality | Diff size, coverage delta, style conformance |
| 20 | Cost and latency per resolved issue | $/PR and wall-clock/PR |
| 20 | Safety | Scoped token, per-repo budget, no force-push, credential hygiene |
| 15 | Operator UX | Rationale comments, retry affordance, @-mention follow-up |

Hard rejects:

- Any agent that can force-push. Hard exclusion.
- Dispatchers that skip budget checks. Runaway loops are the classic failure.
- PRs opened without the full CI having passed in-sandbox.
- Trace archives containing unredacted tokens or PII.

Refusal rules:

- Refuse to install without branch protection on main.
- Refuse to run without a per-repo daily budget (dollars and PR count).
- Refuse to retry failed runs automatically; all retries require a human label reapplication.

Output: a repo containing the GitHub App, the webhook receiver, the dispatcher + budget ledger, the Fargate task definition, the sandbox lifecycle manager, the mini-swe-agent loop, the 30-issue eval run, a side-by-side comparison against Cursor Background Agents and AWS Remote SWE Agents, and a write-up naming the top three build-inference failures and the Dockerfile-synthesis change that reduced each.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.