autopilot-issue-delivery-worker
SkillProductivityLets your agent implement one pre-approved GitHub issue: reproduce the bug, write the fix, and open a pull request.
Use autopilot-issue-delivery-worker in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add autopilot-issue-delivery-worker and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the autopilot-issue-delivery-worker skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Use this skill to implement ONE microsoft/apm issue already selected by autopilot-issue-delivery-scheduler. Queue signal is `status/accepted` or a named bounded accept; that is not permission. Requires fresh human-scope evidence from scripts/governance before any mutate. May reproduce a bug, impleme
What this skill tells your AI
The instructions your AI receives, as published by microsoft/apm in .agents/skills/autopilot-issue-delivery-worker/SKILL.md and read by ahel’s review.
Per-issue implementation worker. The parent
autopilot-issue-delivery-scheduler owns the queue and the
fan-out pool. You own exactly one ISSUE_NUMBER.
Do not pick more issues. Do not fill other slots.
Activation card
activation_card: on. Before any issue read or GitHub write, emit
this Enter card with every field filled. Missing field -> stop.
skill: autopilot-issue-delivery-worker
skill_path: <resolved directory of this SKILL.md>
mode: run
subject: microsoft/apm#<issue-number>
path: delivery
intent: implement one already-selected issue
origin: unattended | actor-session
write: on | off
repo: microsoft/apm
issue: <positive integer>
invocation: agentic-workflow | actor-session
Rules:
writedefaults toonwhen the caller omitted it.write: offreturns the filled template only. Do not assign, comment, label, edit, or open a PR.write: onmay assign@me(actor-session only) and implement inside the accepted scope. Unattended never assigns and never implements.originfail-closed unknown ->unattended.- One issue. Do not nest a scheduler path.
After the run, emit this Exit receipt:
skill: autopilot-issue-delivery-worker
subject: microsoft/apm#<issue-number>
path: delivery
write: on | off
assigned: yes | no | skipped
pushed: yes | no
approved: n/a
Inputs
ISSUE_NUMBER-- requiredSELECTOR--all(default) orbugsREPO_ROOT-- requiredORIGIN-- if the parent passed it, honor it; else resolveTRUSTED_GOVERNANCE_ROOT-- trusted default-branch copyAPPROVAL_URL-- nominated scope-comment URLHUMAN_SCOPE_RECEIPT-- current human confirmation, not a stored grant
ORIGIN and assignment
Resolve ORIGIN before any GitHub write:
- Caller ORIGIN / INVOCATION_MODE
GH_AW_*orGITHUB_ACTIONS->unattendedgh api user --jq .loginsucceeds ->actor-session- Else
unattended(fail closed)
INTENT is implement.
When ORIGIN is actor-session, assignment is a hard gate. It
is the public signal of which user is working this issue.
GitHub allows multiple assignees, so a read-then-add is not
a claim. Before reproduce, edits, or a PR:
- Read current assignees. Ignore bot logins (
github-actions,dependabot,copilot,web-flow). - If another human is assigned, escalate. Do not steal.
- If unassigned,
gh issue edit --add-assignee @me. - Re-read assignees immediately. Continue only if
@meis the sole human assignee. Being listed among several humans is not a claim. - If another human appeared (lost race),
gh issue edit --remove-assignee @meand STOP asblocked. Do not implement. - If already assigned to
@mealone, continue. - Re-check sole human ownership immediately before any implementation write and before opening a PR.
Do not start implementation while the issue is unassigned or
assigned to someone else. If a PR exists or is opened, assign
it the same way (gh pr edit --add-assignee @me), then apply
the same sole-human re-check. Do not request that actor as a
reviewer. Never alter CODEOWNERS reviewRequests. If ORIGIN
is unattended or unknown, skip assignee writes. A failed
required assignee write is blocked.
Never write human decision labels. Existing status/shepherding
may be added only if that processing label already exists in the
repo. Do not apply status/accepted.
Do not implement if explicit human approval or review capacity is missing.
Gate (both selectors)
Refuse unless the issue already has status/accepted or the
parent recorded a bounded accept. That is the queue signal,
not permission. triage/recommended and status/triaged are
not authorization. Escalate; do not implement.
Selector bugs also requires type/bug. Selector all accepts
any type.
Then re-check human-scope evidence. Do not create another
parser or roster; authority.cjs alone interprets the record.
From TRUSTED_GOVERNANCE_ROOT (trusted default-branch copy,
never the issue worktree):
node scripts/governance/eligibility.cjs --help
node scripts/governance/eligibility.cjs --repo microsoft/apm --issue N --approval-url URL
Require state: record-present with
authorizes_implementation: false. That result is evidence,
never permission; current snapshots cannot detect deleted withdrawals.
Then require fresh explicit responsible-human
confirmation for this issue's bounded scope. ORIGIN
unattended never claims to have obtained it -- STOP and
return blocked. ORIGIN actor-session may proceed only
after the caller confirms in this session. Assignment,
labels, eligibility reports, and prior receipts are not that
confirmation. Any other state (withdrawn, error, missing
tool) -- STOP.
Procedure
- Do not run the triage scheduler. Triage belongs to
autopilot-issue-triage-scheduler. You may read an existing advisory receipt and the complete comment history. - If ORIGIN is
actor-session, pass the assignment hard gate first. - If a PR exists, return its number so the caller may run
autopilot-pr-review-scheduler. Do not request yourself as reviewer. Do not start PR review from this worker. - If
type/bug(or selectorbugs): reproduce on HEAD using assets/triage-prompt.md (LEGIT / UNCLEAR / FIXED-AT-HEAD). If LEGIT, run PRINCIPLES alignment via assets/strategic-alignment-prompt.md. If greenfield and aligned: assets/fix-prompt.md (TDD + mutation-break), then open one PR. - Otherwise follow
assets/solution-pipeline-prompt.md
and type-specific
assets/implement-*.md. Open at most one PR. Author the body with pr-description-skill.
Return
JSON with issue, status (done / escalate / blocked /
pr-opened / pr-in-flight), optional pr, and a one-line note.
inspect status before reading pr or branch.
On blocked, persist the row's blocked status and returned
reason, exclude it from driver inputs, and continue.
Malformed or wrong-issue returns also block.
Only pr-opened returns are handed to
autopilot-pr-review-scheduler. Then persist its status and
reason in the row and proceed_manifest; do not read PR fields
or dispatch Phase 5/6 on blocked.
Do not auto-merge.
ASCII only.
Signals
- GitHub stars
- 4k
- Forks
- 380
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
autopilot-issue-delivery-worker- Source
- github.com/microsoft/apm
More in Productivity
Skill · coreyhaines31
More in Productivitygws-calendar
Skill · googleworkspace
More in Productivitylark-workflow-standup-report
Skill · larksuite
More in Productivitywriting-plans
Skill · obra
More in Productivityenergy-procurement
Skill · affaan-m
More in Productivityhomelab-pihole-dns
Skill · affaan-m
More in Productivity