deliver-task

An end-to-end workflow for taking one ready GitHub issue from implementation to a reviewed pull request.

In plain words
What is it for?
Use it with a ready issue number to assign the work, create the change in a separate worktree, request independent review, and prepare the pull request.
Why use it?
It coordinates coding, an independent review, and a limited round of fixes so the task is ready for a person to merge.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/blakemartz/delivery-loop/deliver-task
Any agent
npx skills add blakemartz/delivery-loop --skill deliver-task
Clone the repo
git clone --depth 1 https://github.com/blakemartz/delivery-loop

Made for: Claude Code, Codex.

Per session 66 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 861 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00066 $0.00861
Opus 5 $0.00033 $0.00430
Sonnet 5 $0.00013 $0.00172
Haiku 4.5 $0.00007 $0.00086

Measured 2d ago against content hash 4699c7fe1440, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

deliver-task scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/delivery-loop/skills/deliver-task/SKILL.md · 38 lines

How it starts

The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.

deliver-task — one issue → a reviewed PR

You drive a single task through the whole loop yourself by dispatching the other roles as subagents (the Agent tool). One task, one branch, one PR, reviewed by a fresh agent, merged by a human. This is the single-task, Level-0 path (runbook §3); for continuous operation use delivery-tick.

Read .claude/delivery.conf for NOTIFY_ESCALATE_CMD. The sub-skills read the rest of the config themselves.

Input

The issue number to deliver (e.g. /delivery-loop:deliver-task 42). It must be a READY task. No argument → report that you need an issue number and stop.

Independence (the reason this is a composition, not one long session)

The reviewer must be a fresh agent with no implementer context. You spawn it as a separate Agent call whose prompt carries only the PR number — never your implementation reasoning. Never review the change yourself. That structural independence is the whole point (spec §3.4).

Protocol

  1. Implement. Spawn an agent: "Run the /delivery-loop:next-task skill on issue #. Report the PR number if you opened one, or why you stopped (claim lost, needs-human filed, queue conflict)."

    • If it did not open a PR (claim lost, blocked → needs-human, queue conflict), report that outcome and STOP — there is nothing to review.
  2. Review → patch loop, at most 3 iterations. For round i = 1..3:

    1. Spawn a fresh agent: "Run the /delivery-loop:review-task skill on PR #. You have NO prior context on this change — that independence is required and deliberate. Execute every acceptance criterion in a clean checkout, then approve or request changes via gh. Report the URL of the review you actually posted; if you could not post it, say so explicitly."
    2. Unposted verdict = escalate. If the reviewer reached a verdict but could not post it to the PR, do not trust it (an unposted review did not happen — spec §11, runbook §7). Label the PR and issue needs-human, comment that the review could not be posted, run NOTIFY_ESCALATE_CMD if it is set, and STOP.
    3. Approved → report "PR # ready for human merge" (with round number and the review URL) and STOP. You never merge.
    4. Unreviewable (e.g. CI red) → treat like changes-requested; proceed to patch.
    5. If this was round 3, break to step 3 (escalation).
    6. Patch. Spawn an agent: "Run the /delivery-loop:patch-task skill on PR #." If it escalates (or dies), label needs-human, run NOTIFY_ESCALATE_CMD if set, report, and STOP. Otherwise continue to round i+1.

Read the full file on GitHub · 38 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 38 lines · 66 tokens per session scan A 4699c7fe1440

Subscribe to this mod's changes

deliver-task is a skill published in the GitHub repository blakemartz/delivery-loop (4 stars, last pushed 1mo ago), licensed MIT. It adds 66 tokens to every session and 861 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

batch

Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use /batch followed by operation and file pattern.

QwenLM/qwen-code · 37 tokens

extension-creator

Create, scaffold, customize, validate, and locally test Qwen Code extensions. Use when the user wants a new Qwen Code extension, needs help choosing an extension template, wants to add QWEN.md context, commands, skills, agents, MCP servers, settings, hooks, channels, or LSP servers, or asks how to link and test an…

QwenLM/qwen-code · 96 tokens

notion

Notion API for creating and managing pages, databases, and blocks. Use when the user wants to create a Notion page, query a Notion database, update Notion properties, search Notion, add content to Notion, manage Notion blocks, or interact with Notion data sources and workspaces via the API.

elizaOS/eliza · 69 tokens

pr-feedback

Fetches PR review feedback and inline comments, categorizes them, and presents options to the user. Use when the user asks to get, read, address, or fix review comments on a pull request.

strands-agents/harness-sdk · 44 tokens

dev-pain-finder

Scrape real developer pain points for any keyword, technology, or problem space from Reddit, Hacker News, dev.to, and GitHub Discussions simultaneously — then group complaints by theme, score them by frequency and upvote weight, and return a ranked opportunity map showing where developer frustration is high and…

tinyfish-io/tinyfish-cookbook · 160 tokens

argent-native-profiler

Native profiling for CPU hotspots, UI hangs, memory issues. iOS via xctrace; Android via Perfetto. Use when diagnosing native-level performance issues.

software-mansion/argent · 37 tokens