← ClaudeAtlas

ticket-createlisted

Create an Azure DevOps work item (Technical task / User Story / Bug …) with a Markdown description, parent link, area/iteration, and tags, in a single `az rest` call. Trigger when the user says "create azdo ticket", "new work item", "create technical task", "child ticket under
lttr/claude-marketplace · ★ 2 · AI & Automation · score 78
Install: claude install-skill lttr/claude-marketplace
# Create AzDO Work Item (Markdown-aware) `az boards work-item create` stores `--description` as **HTML** with no flag to override. To get a Markdown-rendered description, create the item via `az rest` POST with a JSON-Patch body that includes `/multilineFieldsFormat/System.Description = "Markdown"` alongside the field op. The format cannot be flipped reliably after creation. To convert an existing HTML item, delete and recreate. ## Step 1: Resolve org and project (always first) Shell variables do **not** survive between Bash calls, so resolve these once, read the printed values, and paste the literals into every later command. Never carry `$BASE` across calls. ```bash # cut -f2- + sed, not `tr -d ' '`. AzDO project names may contain spaces. TRIM="s/^ *//; s/ *$//" ORG_URL="${AZDO_ORG_URL:-$(az devops configure --list | grep '^organization' | cut -d= -f2- | sed "$TRIM")}" PROJECT="${AZDO_PROJECT:-$(az devops configure --list | grep '^project' | cut -d= -f2- | sed "$TRIM")}" : "${ORG_URL:?no organization, set AZDO_ORG_URL or run az devops configure --defaults}" : "${PROJECT:?no project, set AZDO_PROJECT or run az devops configure --defaults}" echo "ORG_URL=$ORG_URL" echo "BASE=$ORG_URL/$PROJECT/_apis/wit" ``` **If this command aborts with either `:?` message, stop and ask the user for their AzDO organization URL and project.** They are team-specific. Never guess them, never fall back to an org name seen elsewhere in the repo or conversation. How the user persists the value