ado-work-items
Skill5 starsChanged 5 months agoMITView on GitHub
Use when the user wants to create, read, update, or manage Azure DevOps work items — including bugs, user stories, tasks, epics, features, and PBIs. "create a bug for the login timeout issue", "update story #42 to In Progress", "add a comment to work item #55", "link bug #77 to user story #42", "show me the backlog for the Platform project", "what work items are assigned to me", "run a work item query for open bugs in Sprint 12", "attach a file to work item #99", "close all resolved bugs in the Mobile App project", "set the story points on task #88 to 3"
In this repository10 other files it gives its agents.
- ado-contextSkill
- ado-pipelinesSkill
- ado-pm-reportingSkill
- ado-project-discoverySkill
- ado-pull-requestsSkill
- ado-repositoriesSkill
- ado-searchSkill
- ado-sprints-capacitySkill
- ado-test-plansSkill
- ado-wikiSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 1 is distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Create, read, update, link, comment, and query Azure DevOps work items.
- Very specific: line 47
Call wit_work_item(id) — returns all fields: title, state, assignee, area, iteration, story points, tags, description, and comment count.
- Very specific: line 56
Call wit_work_item_write with the field patch document.
- Very specific: line 63
Call wit_work_item_write(id, patchDocument) with only the changed fields.
- Very specific: line 75
Call wit_backlog(project, team) to get the ordered backlog.
- Very specific: line 81
If the user provides a saved query name, call wit_query(queryName).
- Very specific: line 82
If the user describes criteria in plain English, build a WIQL WHERE clause and call wit_query(wiql).
- Very specific: line 119
When creating linked items in one user request (e.g.
- Very specific: line 129
If activeProject is set, use it automatically as the project parameter — do not ask the user to re-specify it.
- Very specific: line 131
If no context is set and a project is required, invoke Workflow E of ado-context to resolve it (list projects, ask user to pick, then …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ADO Work Items
Create, read, update, link, comment, and query Azure DevOps work items. Supports all work item types: User Story, Bug, Task, Epic, Feature, PBI, Issue.
When to use
- User wants to create a new work item (any type)
- User wants to update fields on an existing work item (state, assignee, story points, etc.)
- User wants to add a comment or resolve a comment thread
- User wants to link two work items (Parent/Child, Related, Blocks, Duplicate)
- User wants to browse the product backlog
- User wants to run a saved or ad-hoc WIQL query
- User wants to attach a file or screenshot to a work item
MCP tools used
| Tool | Purpose |
wit_work_item | Read a work item by ID |
wit_work_item_write | Create or update a work item |
wit_work_item_comment_write | Add a comment to a work item |
wit_work_item_link_write | Add a link between two work items |
wit_work_item_attachment | Attach a file to a work item |
wit_backlog | List work items in a project/team backlog |
wit_query | Run a WIQL query or saved query |
Workflow
Reading a work item
- Call
wit_work_item(id)— returns all fields: title, state, assignee, area, iteration, story points, tags, description, and comment count. - Present the key fields in the Work Item Detail format below.
Creating a work item
- Extract required fields from the user's request: work item type, title, project.
- Extract optional fields: description, assignee, area path, iteration path, story points, priority, tags, acceptance criteria.
- Call
wit_work_item_writewith the field patch document. - Confirm creation with the new ID and a deep link to the work item.
Updating a work item
- Identify the work item ID from the user's request.
- Identify the field(s) to change.
- Call
wit_work_item_write(id, patchDocument)with only the changed fields. - Confirm the update.
Linking work items
- Identify source ID, target ID, and link type (Parent, Child, Related, Blocks, Duplicate).
- Call
wit_work_item_link_write(sourceId, targetId, linkType). - Confirm the link was created.
Backlog
- Identify project and team name.
- Call
wit_backlog(project, team)to get the ordered backlog. - Apply optional filters (type, state, assignee) in the result.
- Present as a Backlog table.
Query
- If the user provides a saved query name, call
wit_query(queryName). - If the user describes criteria in plain English, build a WIQL WHERE clause and call
wit_query(wiql). - Return results as a table (ID, Type, Title, State, Assignee).
Output Format
Work Item Detail
| Field | Value |
| ID | 1042 |
| Type | User Story |
| Title | Add MFA to login flow |
| State | Active |
| Assigned To | Alice Martin |
| Story Points | 5 |
| Iteration | Sprint 12 |
| Area | Platform/Auth |
| Tags | security, auth |
Backlog
| # | ID | Type | Title | State | Points | Assignee |
| 1 | 1042 | Story | Add MFA to login flow | Active | 5 | Alice |
| 2 | 1058 | Bug | Session token not refreshed | New | — | — |
| 3 | 1071 | Task | Write ADR for auth service | Active | 2 | Bob |
Query results
| ID | Type | Title | State | Assignee |
| 1058 | Bug | Session token not refreshed | New | (unassigned) |
| 1063 | Bug | Null ref in OrderService | Active | Alice Martin |
Notes
- When creating linked items in one user request (e.g. "create a bug and link it to #42"),
create the work item first, capture the new ID, then call
wit_work_item_link_write. - Story Points field name varies by process template:
Microsoft.VSTS.Scheduling.StoryPoints(Agile) orMicrosoft.VSTS.Scheduling.Effort(Scrum). Usewit_work_itemon an existing item first to confirm the correct field name. - To bulk-update multiple items, iterate
wit_work_item_writecalls; there is no bulk API.
Active context
This skill respects the session context set by the ado-context skill.
- If
activeProjectis set, use it automatically as theprojectparameter — do not ask the user to re-specify it. - If no context is set and a project is required, invoke Workflow E of
ado-contextto resolve it (list projects, ask user to pick, then proceed).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

