Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
craigspaterson avatar

Push To Ado

  • 1 installs
  • 1 repo stars
  • Updated July 5, 2026
  • craigspaterson/agent-skills

Push changes and updates to Azure DevOps from agent workflows.

About

Agent skill for pushing code and work items to Azure DevOps. Automates CI/CD pipeline triggers and project tracking updates.

  • Azure DevOps work item creation and updates
  • Pipeline automation from agents

Push To Ado by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #2,476 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/craigspaterson/agent-skills --skill push-to-ado

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedJuly 5, 2026
Repositorycraigspaterson/agent-skills

What it does

Push changes and updates to Azure DevOps from agent workflows.

Files

SKILL.mdMarkdownGitHub ↗

Push to ADO

Three scripts are available. Choose based on what the user provides:

ScenarioScript
Single story drafted by /user-story or /technical-storyupload.ps1
Full backlog with Epics → Features → Storiesupload-hierarchy.ps1
Bulk update existing work items with improved contentupdate-work-items.ps1

---

Single story — upload.ps1

Extracts structured fields from the story already in context and calls upload.ps1 to create the ADO work item. Do not re-derive the API logic — all implementation lives in the script.

Step 1 — Extract fields from the story in context

Parse the story markdown (output of /technical-story or /user-story) and collect:

FieldSource in story markdown
-Title**Title:** line
-StoryPointsnumeric value from **Story Points:** line
-Priorityvalue from **Priority:** line (Critical / High / Medium / Low)
-ParentIdparent feature ID — ask user if not already in context
-Descriptioncomposed markdown block: story statement + Out of Scope + Dependencies + Notes sections
-AcceptanceCriteriaall AC blocks only (AC1, AC2, … formatted as markdown)
-Tagsoptional; semicolon-separated tags (e.g. "Technical") — omit if none

Work item type is always User Story — hardcoded in the script.

Step 2 — Call the script

pwsh ~/.claude/skills/push-to-ado/scripts/upload.ps1 `
  -Title "..." `
  -Description "..." `
  -AcceptanceCriteria "..." `
  -StoryPoints 3 `
  -Priority "High" `
  -ParentId 2881288

Omit -ParentId if no parent was provided.

Pass -Org and -Project only if the user explicitly provides them; otherwise the script reads from $env:ADO_ORG / $env:ADO_PROJECT.

Step 3 — Report result

After the script completes, show the user the returned work item URL. If the script errors, surface the error message and do not retry silently.

---

Full hierarchy — upload-hierarchy.ps1

Use when the user provides a structured backlog with multiple Epics, Features, and Stories to create in one pass.

The script defines a New-WorkItem helper function that accepts any ADO work item type (Epic, Feature, User Story) and handles auth, parent linking, and field mapping. Technical stories are created as User Story type with the tag Technical.

How to use it

1. Open scripts/upload-hierarchy.ps1 and replace the placeholder comment with New-WorkItem calls for the user's backlog, following the call pattern documented below. 2. Run it:

ADO_ORG=myorg ADO_PROJECT=myproject pwsh ~/.claude/skills/push-to-ado/scripts/upload-hierarchy.ps1

New-WorkItem parameters

ParameterTypeRequiredNotes
-TypestringyesEpic, Feature, or User Story
-Titlestringyes
-DescriptionstringyesRendered as Markdown in ADO
-AcceptanceCriteriastringnoRendered as Markdown; omit for Epics/Features
-StoryPointsintnoOmit for Epics/Features
-PrioritystringnoCritical, High, Medium (default), Low
-ParentIdintnoADO work item ID of the parent
-TagsstringnoSemicolon-separated; use "Technical" to tag technical stories

Parent linking pattern

Capture the returned ID from each Epic/Feature call and pass it as -ParentId to its children:

$epicId    = New-WorkItem -Type "Epic"    -Title "My Epic" ...
$featureId = New-WorkItem -Type "Feature" -Title "My Feature" -ParentId $epicId ...
             New-WorkItem -Type "User Story" -Title "My Story" -ParentId $featureId ...

---

Bulk update existing items — update-work-items.ps1

Use when stories already exist in ADO (created via upload-hierarchy.ps1 or manually) and need their Title, Description, Acceptance Criteria, Story Points, or Priority replaced with improved content — for example, after re-drafting stories through /user-story or /technical-story.

How to use it

1. Open scripts/update-work-items.ps1 and replace the placeholder comment with one Update-WorkItem call per item, providing the known ADO work item ID for each. 2. Run it:

ADO_ORG=myorg ADO_PROJECT=myproject pwsh ~/.claude/skills/push-to-ado/scripts/update-work-items.ps1

Update-WorkItem parameters

ParameterTypeRequiredNotes
-IdintyesExisting ADO work item ID (e.g. 42)
-TitlestringyesReplaces the current title
-DescriptionstringyesReplaces System.Description; rendered as Markdown
-AcceptanceCriteriastringnoReplaces AC field; rendered as Markdown
-StoryPointsintyesReplaces current story points
-PrioritystringyesCritical, High, Medium, or Low
-TagsstringnoSemicolon-separated tags; replaces existing tags when provided

Typical workflow

1. Draft improved stories using /user-story or /technical-story 2. Note the ADO ID of each item to update 3. Populate update-work-items.ps1 with one Update-WorkItem call per item 4. Run the script — all fields are patched in a single PATCH request per item

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.