deliver-pr
Deliver one change end to end as a single pull request — clarify → plan → implement → simplify → review → validate → open-pr — resuming from wherever it left…
Skill by ronaknnathani
Chalk Labs
Need help deploying deliver-pr?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ronaknnathani-deliver-pr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/deliver-pr
What's inside
- Skill name
deliver-pr- Description
- Deliver one change end to end as a single pull request — clarify → plan → implement → simplify → review → validate → open-pr — resuming from wherever it left off. Use to take a task from intent to an open, mergeable PR with each phase run as a focused sub-agent. This is the default workflow the binary launches when you create a new project (`relay "<task>"`).
- License
- MIT
- Instructions
- 218 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Deliver PR
Drive one change from a task to an open PR by orchestrating the foundation skills, one phase at a time,
with durable resumable state. You are a **router, not a worker**: you read state, dispatch the next
phase as a sub-agent, record the result, and move on. You do not do the phase work yourself, and you
stay context-light — you read digests and state, never file dumps.
## Session goal
In every agent harness, set `/goal` to the user's requested outcome. The `deliver-pr` workflow is the
execution method, not the goal. Keep `task.md`, requirements, and `relay state` as the durable
definition and progress record across resumes.
## Managed assignment — before state routing
Bind the invocation argument to `$SLUG`, then check
`$HOME/.relay/projects/active/$SLUG/assignment.md`. If it exists, read it completely before asking
`relay state` for the next phase. This is a managed program worker: the assignment's contracts and
escalation commands are binding, while the worker still owns independent `clarify` and `plan` work.
Bind the exact `Program:` and `Work item:` values from the assignment to `$PROGRAM` and `$ITEM`, then
run and read:
```bash
relay program message inbox <program> <item> --json
```
Use the exact program and item from the assignment in place of the placeholders. Act on every unread
decision, feedback, or instruction before state routing. Acknowledge each message only after its
requested action or resulting state/artifact update is durable:
```bash
relay program message ack <program> <item> <inbox-id>
```
An open-PR grant instruction is the exception: keep it unread until `open-pr` succeeds and the PR is
recorded. If `open-pr` fails, do not acknowledge the grant.
A `feedback` message about a change the CEO asked for on your open pull request is work, not review
chatter: make the change on the branch and pull request you already have. Never open a second pull
request for this item and never start unrelated work from it. Acknowledge it once the change is
pushed.
After your pull request merges, the tech lead retires this session: it stops the pull request watcher
and sends `/exit`. Exiting on `/exit` is the expected end of a managed run, so leave nothing
uncommitted you still need — the child worktree is force-removed once the session is gone.
Herdr notification is only a payload-free doorbell and may be lost, so this inbox check is mandatory
even when no prompt arrived. Managed child sessions always run under Herdr: if `relay resume` reports
a Herdr readiness failure, report its exact setup or start instructions and stop instead of working
outside Herdr. If `assignment.md` does not exist, this is a standalone project: follow the standalone
path below exactly as before, with no Herdr requirement.
## Resume-first — always start here
`<slug>` is the argument this skill was invoked with — bind it to `$SLUG` before anything else. Every
invocation (first run or resume) then begins by asking the binary where this run is. State is owned by
`relay state`; never hand-edit it.
```bash
PHASE=$(relay state next "$SLUG" 2>/dev/null)
if [ $? -ne 0 ]; then # no state yet → first run: initialize, then ask again
relay state init "$SLUG" --workflow deliver-pr \
--phases "clarify,plan,implement,simplify,review,validate,open-pr"
PHASE=$(relay state next "$SLUG")
fi
```
Never assume a fresh start: an interrupted run returns its in-progress phase and continues it. When
`relay state next` prints empty, every phase is done — go to **Done**.
## The phase pipeline
Each phase is a foundation skill. Run the one `relay state next` reports, in this order:
| Phase | Skill | Consumes | Produces |
|---|---|---|---|
| clarify | `clarify` | the task | requirements + acceptance criteria |
| plan | `plan` | requirements | a blueprint + phased build sequence |
| implement | `implement` | the plan | code + tests, green (commits as it goes) |
| simplify | `simplify` | the diff | a cleaner diff, behavior unchanged |
| review | `review` (report mode) | the diff + criteria | a severity-ranked findings report |
| validate | `validate` | the diff + criteria | a pass verdict on the repo's gates |
| open-pr | `open-pr` | the committed branch | an open PR |
## Per-phase loop (the router contract)
For the phase `relay state next` reported:
1. For a managed assignment, run and process
`relay program message inbox <program> <item> --json` again at the top of every loop. Use the exact
program and item from `assignment.md`, and acknowledge each message only after its action is
durable.
2. If `PHASE` is `open-pr` and this is a managed assignment:
- Inspect `relay program message outbox <program> <item> --json`. If an unread `pr-open` request
exists and no grant-approved inbox instruction exists, stop without sending another request.
- If neither a request nor grant-approved instruction exists, send exactly one `pr-open` message
using the assignment's command and stop.
- Only after reading the tech lead's grant-approved inbox instruction, leave that message unread and
run
the exact `relay program can-open-pr <program> <item>` command from `assignment.md`. If it fails,
keep `open-pr` pending and stop. If it passes, continue to the `open-pr` phase.
- If a previously recorded pull request was closed without merging, Relay clears the stale reference
during `program tick`. Request a fresh `pr-open` grant and open a replacement pull request through
the same gate; never reopen or reuse the closed reference yourself.
3. `relay state set "$SLUG" "$PHASE" in-progress`
4. **Dispatch a sub-agent** (when available; otherwise run inline) to run the `$PHASE` skill on this
project. Hand it the task and the **upstream artifact only** — not your own conclusions. It does the
work and returns a **structured digest**: what it produced, the artifact path, test/gate results,
and any blocking question — never a file dump.
5. **On a blocking author-decision** (the sub-agent surfaces a real design/scope choice it shouldn't
guess): surface it to the author (use an interactive prompt when available; otherwise write it to
`questions.md` in the project dir, alongside `task.md`/`notes.md`, and stop). Do not advance. Resume
when the author answers. For a managed assignment, never prompt the worker or write
`questions.md`: run the exact `relay program message send <program> <item> --kind
question|conflict --body ...` command from `assignment.md`, then stop. Contract, scope,
dependency, and risk conflicts stop the affected work; tech lead-worker conflicts escalate to the CEO.
Never run `relay program decision open` or otherwise write program state.
6. **On success:** for a managed `open-pr`, first verify the PR is open and recorded, then acknowledge
the grant-approved inbox message. Never acknowledge it after a failed `open-pr`. Next runFrom ronaknnathani/relay, MIT.
More from ronaknnathani/relay
- 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-monitor
ronaknnathani
Handle one pull request attention event end to end — read the watcher digest, triage it, delegate the fixing to pr-fix, re-observe the pull request, and exit.
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
tl
ronaknnathani
Manage a Relay program as the CEO-facing tech lead: shape goals and contracts, prioritize dependency-aware work, dispatch senior worker agents, and surface…
SkillBFreshness: B★ 3Claude Code +9 - 0.544score
build-write-like-me
ronaknnathani
Use this skill whenever the user wants to capture, clone, or codify their own (or someone's) writing voice into a reusable skill.
SkillBFreshness: B★ 3Claude Code +9 - 0.519score
open-pr
ronaknnathani
Stage, commit, push, and open a pull request following the author's repository and AGENTS.md conventions — repo-style commit messages, a prose PR summary, and…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
commit
ronaknnathani
Create a single well-formed git commit from the working changes, following the repo's AGENTS.md and recent commit-message conventions.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
validate
ronaknnathani
Verify a change is ready to ship by checking it against its acceptance criteria and running the repo's own quality gates in order, then report a pass/fail…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
clarify
ronaknnathani
Turn a vague or underspecified task into a crisp requirements + testable acceptance-criteria document by closing the gap between what was asked and what is…
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 2, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ronaknnathani/relay
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ronaknnathani
- 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-monitor
ronaknnathani
Handle one pull request attention event end to end — read the watcher digest, triage it, delegate the fixing to pr-fix, re-observe the pull request, and exit.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get deliver-pr running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
deliver-pr skill. Agent Mart. https://agentmart.dev/skills/ronaknnathani-deliver-pr (last updated 2026-10-24)