Skip to content
Back to skills

Autopilot Issue Delivery Worker

ASecurity

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, implement the accepted change, and open a fix PR. Not a queue manager and not a triage scheduler. Works in the scheduler's session, a child session, Cloud Agent, Remote Agent, or Agentic Workflow.

  • 3,953 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 20, 2026
ai-agentsrustgonodegitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add microsoft/apm --skill autopilot-issue-delivery-worker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Autopilot Issue Delivery Worker?

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

Security grade badge for Autopilot Issue Delivery Worker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/microsoft-autopilot-issue-delivery-worker/badge)](https://www.skillsdirectory.com/skills/microsoft-autopilot-issue-delivery-worker)

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: autopilot-issue-delivery-worker
activation_card: on
description: >-
  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,
  implement the accepted change, and open a fix PR. Not a queue
  manager and not a triage scheduler. Works in the scheduler's
  session, a child session, Cloud Agent, Remote Agent, or Agentic
  Workflow.
---

# autopilot-issue-delivery-worker

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.

```text
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:

- `write` defaults to `on` when the caller omitted it.
- `write: off` returns the filled template only. Do not assign,
  comment, label, edit, or open a PR.
- `write: on` may assign `@me` (actor-session only) and implement
  inside the accepted scope. Unattended never assigns and never
  implements.
- `origin` fail-closed unknown -> `unattended`.
- One issue. Do not nest a scheduler path.

After the run, emit this Exit receipt:

```text
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` -- required
- `SELECTOR` -- `all` (default) or `bugs`
- `REPO_ROOT` -- required
- `ORIGIN` -- if the parent passed it, honor it; else resolve
- `TRUSTED_GOVERNANCE_ROOT` -- trusted default-branch copy
- `APPROVAL_URL` -- nominated scope-comment URL
- `HUMAN_SCOPE_RECEIPT` -- current human confirmation, not a stored grant

## ORIGIN and assignment

Resolve ORIGIN before any GitHub write:

1. Caller ORIGIN / INVOCATION_MODE
2. `GH_AW_*` or `GITHUB_ACTIONS` -> `unattended`
3. `gh api user --jq .login` succeeds -> `actor-session`
4. 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:

1. Read current assignees. Ignore bot logins (`github-actions`,
   `dependabot`, `copilot`, `web-flow`).
2. If another human is assigned, escalate. Do not steal.
3. If unassigned, `gh issue edit --add-assignee @me`.
4. Re-read assignees immediately. Continue only if `@me` is
   the sole human assignee. Being listed among several humans
   is not a claim.
5. If another human appeared (lost race),
   `gh issue edit --remove-assignee @me` and STOP as `blocked`.
   Do not implement.
6. If already assigned to `@me` alone, continue.
7. 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

1. 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.
2. If ORIGIN is `actor-session`, pass the assignment hard gate
   first.
3. 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.
4. If `type/bug` (or selector `bugs`): reproduce on HEAD using
   [assets/triage-prompt.md](assets/triage-prompt.md)
   (LEGIT / UNCLEAR / FIXED-AT-HEAD). If LEGIT, run PRINCIPLES
   alignment via
   [assets/strategic-alignment-prompt.md](assets/strategic-alignment-prompt.md).
   If greenfield and aligned: [assets/fix-prompt.md](assets/fix-prompt.md)
   (TDD + mutation-break), then open one PR.
5. Otherwise follow
   [assets/solution-pipeline-prompt.md](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.

Files in this skill

  • SKILL.md6.8 KB
  • assets/acceptance-observer.md3.8 KB
  • assets/autopilot-triage-schema.json2.7 KB
  • assets/confidence-gate-rubric.md4.4 KB
  • assets/final-report-template.md1.6 KB
  • assets/fix-prompt.md4.1 KB
  • assets/ground-truth-table.md3.8 KB
  • assets/ideate-prompt.md3.1 KB
  • assets/implement-bug.md943 B
  • assets/implement-docs.md1.1 KB
  • assets/implement-feature.md1.1 KB
  • assets/implement-refactor.md1.4 KB
  • assets/model-routing.md15.8 KB
  • assets/plan-panel-prompt.md5.6 KB
  • assets/plan-schema.json6.2 KB
  • assets/solution-pipeline-prompt.md10.9 KB
  • assets/strategic-alignment-prompt.md4.6 KB
  • assets/task-implement-prompt.md3.4 KB
  • assets/triage-digest-template.md1.9 KB
  • assets/triage-prompt.md1.8 KB

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.