一键导入
ado-work-my-backlog
Internal helper. Load only when explicitly named by another skill or agent.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Internal helper. Load only when explicitly named by another skill or agent.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill should be used when the user asks to "babysit a PR", "babysit my pull request", "monitor my PR", "watch my pull request", "keep my PR green", "fix PR build failures automatically", "handle PR review comments", or wants autonomous Azure DevOps PR monitoring that fixes build breaks, test failures, code coverage gaps, and review comments on a polling loop.
Internal helper. Load only when explicitly named by another skill or agent.
Internal helper. Load only when explicitly named by another skill or agent.
Publish local changes as an Azure DevOps pull request — analyzes commits, creates or links a work item (bug, task, or user story), pushes the branch, composes a PR description, and optionally tends to reviewer feedback and build failures until the PR is merged.
Internal helper. Load only when explicitly named by another skill or agent.
Internal helper. Load only when explicitly named by another skill or agent.
| name | ado-work-my-backlog |
| description | Internal helper. Load only when explicitly named by another skill or agent. |
| user-invocable | true |
| disable-model-invocation | false |
Autonomous sprint processor. Single-pass design — scan, classify, advance
eligible items, report, exit. Designed to run in a loop via
/loop 15m /ado-work-my-backlog.
All querying, classification, and context-gathering is handled by the
scripts/scan.mjs scanner. The LLM only handles the actions that
require reasoning (planning, implementing, reviewing).
The scanner is zero-dependency (uses Node.js built-in fetch()). Just run:
node <skill-dir>/scripts/scan.mjs --repo-root <repo-root>
Auth: requires AZURE_DEVOPS_PAT environment variable (or
AZURE_DEVOPS_BEARER_TOKEN). Org/project auto-detected from git remote, or
set via AZURE_DEVOPS_ORG_URL and AZURE_DEVOPS_PROJECT env vars.
The scanner outputs a ScanResult JSON to stdout (logs go to stderr).
Capture the JSON output and parse it.
The scanner handles ALL of:
.ai/work-my-backlog/The JSON has this structure:
{
"timestamp": "...",
"sprint": "...",
"passCount": 5,
"devName": "...",
"actionable": [ ... ],
"skipped": [ ... ],
"errors": [ ... ],
"summary": "..."
}
Print the summary field — it's a pre-formatted text overview of the scan.
For each item in the actionable array, the action field tells you what to do:
action: "plan" — Stage 1 (Fresh, needs planning)Spawn a background agent that invokes ado:ado-work-on <workItemId>.
The packet includes the work item's title, description, acceptance criteria,
area path, and linked items — but ado-work-on will fetch its own context anyway.
The key value is knowing THIS item needs a plan.
Concurrency: All Stage 1 items can run in parallel (planning is read-only).
action: "revise_plan" — Stage 2b (Feedback, needs revision)Spawn a background agent that invokes ado:ado-work-on <workItemId>.
The packet includes:
planVersion: Current plan version (e.g., 2)planText: The full plan textfeedback[]: Array of { author, date, text } — the exact human feedbackPass the feedback array to the agent so it has context without needing to
re-fetch comments. ado-work-on auto-detects revision mode.
Concurrency: All Stage 2b items can run in parallel (only posting comments).
action: "implement" — Stage 2c/2d (Approved or revision cap)GATE CHECK: Verify approvalSource is either "human" (explicit approval)
or "revision_cap" (plan v3+). This is the safety gate — never implement
without one of these conditions.
For each item:
.worktrees/wi-<id>/ with branch
work-item/<id>-<slugified-title> if not already present.ado:ado-work-on <workItemId>.The packet includes the approved plan text and any approver feedback.
Concurrency: Independent items can run in parallel (isolated worktrees). Items with dependency relationships (from the scanner's state files) should be sequenced.
action: "babysit_pr" — Stage 3 (PR published)The packet includes everything pre-fetched:
prId, sourceBranch, targetBranchmergeStatus: { hasConflicts, status }reviewerVotes[]: { name, vote }builds[]: { buildId, result, definitionName, failureSummary }unresolvedThreads[]: { threadId, status, filePath, lineNumber, comments[] }addressedThreadIds[]: Thread IDs already addressed in previous passesSpawn the ado:ado-babysit-pr-worker agent (NOT the full babysit-pr skill)
for a single pass. Provide all the pre-fetched context so the agent
doesn't need to re-query ADO.
Concurrency: All Stage 3 items can run in parallel (each in its own worktree).
Process items in this order (closest to done first):
Wait for each stage group to complete before starting the next only if there are dependency relationships between items across groups.
Print a summary of what was done:
Backlog Processing Complete — Pass #<passCount>
================================================
Stage 3 (PR Babysitting):
#1234 — Fixed 2 review comments, builds green
#1235 — No-op, already healthy
Stage 2c/2d (Implementation):
#1240 — Implementation complete, PR !570 created
Stage 2b (Plan Revision):
#1243 — Plan revised to v2, reposted
Stage 1 (Planning):
#1250 — Implementation plan posted
Skipped:
#1244 — Plan v1 awaiting review (no human response)
#1245 — No changes since last scan
Errors:
#1246 — API timeout (will retry next pass)
Next loop iteration will pick up feedback and advance items further.
node --version is 18+. If persistent, report the error.ado:setup-ado-mcp
to auto-configure, then retry the scan.errors[] — log and continue.
The scanner tracks errorCount per item; after 3 consecutive errors it
auto-skips the item.ado-work-on or ado-babysit-pr-worker fails, log the error
and continue with remaining items.All state is managed by the scanner at .ai/work-my-backlog/:
| File | Purpose |
|---|---|
scan-state.json | Global: pass count, sprint, dev identity |
last-scan.json | Latest ScanResult (for daemon consumption) |
wi-<id>.json | Per-work-item: stage, sub-state, timestamps, PR link |
pr-<id>.json | Per-PR: last commit, build result |
activity.jsonl | Append-only event log |
The LLM does NOT need to manage state — the scanner handles it.
/ado-work-on <id> directly/ado-babysit-pr <pr-id> directly/ado-draft-work-item/ado-work-items