Azure DevOps Create Work Item
Turn loose context into a local Azure DevOps work item packet grounded in the official Azure Boards work item model.
Verified against Microsoft Learn pages for About work items and work item types, Agile workflow in Azure Boards, Define, capture, triage, and manage bugs in Azure Boards, and Choose a process on April 15, 2026.
Call-Bluff First
This skill drafts a local packet. It does not create or update a live Azure DevOps work item unless the user separately asks for REST, CLI, or UI automation.
What this skill does well:
- extract the working context and commit to one primary Agile work item type
- create a deterministic folder in the caller's current directory
- produce a copy-pastable
work-item.mdplus supporting artefacts - keep the writing readable for mixed technical and non-technical audiences
- use official Azure Boards work item primitives instead of invented ticket shapes
Decision Tree
- If the user wants a local Azure DevOps-ready draft from notes, chat context, or rough requirements, use this skill.
- If they want the item created directly in Azure DevOps through the browser, REST API, or Azure CLI, stop and route to an automation or API workflow instead.
- If the work item type is explicit, use the matching template.
- If the type is missing, infer it with
references/official-primitives.md. If the choice is still ambiguous betweenFeature,User Story, andTask, ask one short question. - If the context is too thin to explain the problem or outcome, ask for missing context before drafting.
Default Save Path Rule
When the user does not give a destination, create the packet in the current working directory. Do not send it to a hidden cache, temp directory, or home-folder default.
The generated packet layout is:
<current-working-directory>/azure-devops-work-item-<type>-<slug>-<timestamp>/
work-item.md
context.md
sources.md
metadata.jsonQuick Reference
| Task | Command | Why |
|---|---|---|
| Create a feature packet in the current directory | python3 scripts/create_work_item_packet.py --type feature --title "Restore team login after token expiry" | Creates the default packet folder beside the command |
| Create a packet from saved notes | python3 scripts/create_work_item_packet.py --type bug --title "Checkout button freezes on Safari" --context-file./notes/checkout-bug.md | Seeds context.md from existing notes |
| Save the packet under an explicit directory | python3 scripts/create_work_item_packet.py --type user-story --title "Resend invite from team page" --save-root./work-items | Keeps the packet under a chosen visible folder |
| Check the packet workflow end to end | python3 scripts/probe_create_work_item_packet.py | Verifies the scaffold command creates the expected artefacts |
| Confirm type selection and writing rules | Read references/official-primitives.md | Keeps the draft aligned to Azure Boards semantics |
Operating Rules
- Default to the Agile process unless the user explicitly says their project uses Basic, Scrum, or CMMI.
- Extract the context first. Capture the raw source material in
context.mdeven whenwork-item.mdbecomes more concise. - Pick one primary type only:
Epic,Feature,User Story,Task,Issue, orBug. - Keep
work-item.mdsimple. Do not use#,##, or###headings. Use bold section labels such as**Problem**and ordinary paragraphs, bullets, and numbered lists. - Write for mixed audiences. Prefer plain language, explain the business effect, and keep implementation detail only where it materially changes the request.
- Use the type template as the contract.
FeatureandBugare strict; the other types should stay close to their templates unless the context forces a small adjustment. - Put supporting detail, assumptions, raw notes, and source excerpts in
context.md, not in the main work item draft.
Type Contract
Epic: use for a larger scenario or initiative that groups multiple features.Feature: use for a concrete capability with user or business value. Usetemplates/feature-template.md.User Story: use for who/what/why statements that describe a user need without prescribing implementation. Usetemplates/user-story-template.md.Task: use for sprint-scale execution work. Usetemplates/task-template.md.Issue: use for blockers or non-code project issues that could slow or stop delivery. Usetemplates/issue-template.md.Bug: use for a code defect with reproducible behavior. Usetemplates/bug-template.md.
Recommended Workflow
- Read the source context and extract the core problem, audience, and desired outcome.
- Choose the best-fit work item type with
references/official-primitives.md. - Run
python3 scripts/create_work_item_packet.py --type <type> --title "<title>"in the caller's current directory, adding--context-filewhen notes already exist on disk. - Fill
work-item.mdusing the selected template and the writing rules inreferences/output-packet.md. - Keep the final file surgical, plain, and ready to paste into Azure DevOps.
Reading Guide
| Need | Read |
|---|---|
| Official Azure Boards type semantics and cross-process notes | references/official-primitives.md |
| Packet layout, section-writing rules, and current-directory behavior | references/output-packet.md |
| Failure modes and classification traps | references/gotchas.md |
| Epic template | templates/epic-template.md |
| Feature template | templates/feature-template.md |
| User story template | templates/user-story-template.md |
| Task template | templates/task-template.md |
| Issue template | templates/issue-template.md |
| Bug template | templates/bug-template.md |
Gotchas
- This skill creates a local packet, not a live Azure DevOps item.
Feature,User Story, andTaskare not interchangeable. AUser Storyexpresses a user need, aFeaturegroups or frames a deliverable capability, and aTaskcaptures execution work.Bugmeans a code defect. If the item is a blocker or dependency without defective behavior, useIssueinstead.- Microsoft documents that Azure DevOps work item types depend on the process. If the user is on Basic, Scrum, or CMMI, confirm the mapping before you draft.
- The main work item draft should stay light on markup. Use bold section labels only and avoid heading syntax.
- Bugs need reproducible steps and expected behavior. If the context lacks that detail, ask for it or call out the gap in
context.md. - Do not bury the business impact in engineering detail. Mixed audiences should understand why the item matters after the first short section.