plugins/specweave/skills/ado-sync/SKILL.md
Help and guidance for Azure DevOps synchronization with SpecWeave increments. Use when asking how to set up ADO sync, configure credentials, or troubleshoot integration issues. For actual syncing, use sw-ado:sync command.
npx skillsauth add anton-abyzov/specweave plugins/specweave/skills/ado-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Purpose: Seamlessly sync SpecWeave increments with Azure DevOps work items for unified project tracking.
Default Behavior: Bidirectional (two-way) sync - Changes in either system are automatically synchronized
⚠️ IMPORTANT: This skill provides HELP and GUIDANCE about Azure DevOps sync. For actual syncing, users should use the sw-ado:sync command directly. This skill should NOT auto-activate when the command is being invoked.
Capabilities:
✅ Do activate when:
❌ Do NOT activate when:
sw-ado:sync command (command handles it)# Check if installed
/plugin list --installed | grep sw-ado
# Install if needed
/plugin install sw-ado@specweave
Create PAT:
Set Token:
export AZURE_DEVOPS_PAT="your-token-here"
Add to .specweave/config.json:
{
"sync": {
"enabled": true,
"preset": "bidirectional",
"activeProfile": "default",
"profiles": {
"default": {
"provider": "ado",
"config": {
"organization": "myorg",
"project": "MyProject",
"workItemType": "Epic",
"areaPath": "MyProject\\Team A",
"syncOnTaskComplete": true
}
}
}
}
}
Credentials (in .env, gitignored):
AZURE_DEVOPS_PAT=your-token-here
# Or org-specific: AZURE_DEVOPS_PAT_MYORG=your-token
sw-ado:create-workitem <increment-id>Purpose: Create ADO work item from increment
Example:
sw-ado:create-workitem 0005
Result:
specweave, increment-0005sw-ado:sync <increment-id>Purpose: Sync increment progress with ADO work item
Example:
sw-ado:sync 0005
Result:
sw-ado:close-workitem <increment-id>Purpose: Close ADO work item when increment complete
Example:
sw-ado:close-workitem 0005
Result:
sw-ado:status <increment-id>Purpose: Check ADO sync status for increment
Example:
sw-ado:status 0005
Result:
ADO Sync Status
===============
Increment: 0005-payment-integration
Work Item: #12345
URL: https://dev.azure.com/myorg/MyProject/_workitems/edit/12345
State: Active
Completion: 60% (6/10 tasks)
Last Synced: 2025-11-04 10:30:00
Sync Enabled: ✅
Trigger: Post-task-completion hook fires
Flow:
[x] T-005: Add payment tests## Progress Update
**Increment**: 0005-payment-integration
**Status**: 60% complete (6/10 tasks)
### Recently Completed
- [x] T-005: Add payment tests
### Remaining
- [ ] T-007: Add refund functionality
- [ ] T-008: Implement subscriptions
- [ ] T-009: Add analytics
- [ ] T-010: Security audit
---
🤖 Auto-updated by SpecWeave
Trigger: sw:done command
Flow:
sw:done 0005Use When: Large feature spanning multiple sprints
Mapping:
Use When: Medium-sized feature within a sprint
Mapping:
Use When: Small, single-sprint work
Mapping:
Enable: Set bidirectional: true in config
Flow: ADO → SpecWeave
Note: Bidirectional sync requires webhook or polling setup
.specweave/config.json:
{
"sync": {
"enabled": true,
"preset": "bidirectional",
"activeProfile": "default",
"profiles": {
"default": {
"provider": "ado",
"config": {
"organization": "myorg",
"project": "MyProject",
"workItemType": "Epic",
"areaPath": "MyProject\\Team A",
"iterationPath": "MyProject\\Sprint 1",
"syncOnTaskComplete": true,
"syncOnIncrementComplete": true,
"createWorkItemsAutomatically": true,
"bidirectional": false,
"tags": ["specweave", "increment"],
"customFields": {
"incrementId": "Custom.IncrementId"
}
}
}
}
}
}
Credentials (in .env, gitignored — never commit tokens):
AZURE_DEVOPS_PAT=your-token-here
Solution:
echo $AZURE_DEVOPS_PATSolution:
Solution:
Azure DevOps:
Config (add to your profile's config block):
{
"sync": {
"profiles": {
"default": {
"provider": "ado",
"config": {
"rateLimiting": {
"enabled": true,
"maxRequestsPerMinute": 150
}
}
}
}
}
}
AZURE_DEVOPS_PAT).env file (gitignored)sw:inc - Create increment (auto-creates ADO work item if enabled)sw:do - Execute tasks (auto-syncs progress to ADO)sw:done - Complete increment (auto-closes ADO work item)sw:status - Show increment status (includes ADO sync status)# User
"Create increment for payment integration"
# SpecWeave (if ADO enabled)
1. PM agent generates spec.md
2. Auto-create ADO Epic #12345
3. Link Epic to increment metadata
4. Display: "Created increment 0005 → ADO Epic #12345"
# User completed 3 tasks manually
# Now sync to ADO
sw-ado:sync 0005
# Result: ADO Epic #12345 updated with 30% progress
sw-ado:status 0005
# Output:
# Work Item: #12345
# URL: https://dev.azure.com/myorg/MyProject/_workitems/edit/12345
# State: Active
# Completion: 60%
# Last Synced: 5 minutes ago
Status: Ready to use Version: 0.1.0 Plugin: specweave-ado
tools
Generate AI videos from text prompts or images. Supports Google Veo 3.1 and Pollinations.ai (free). Use when generating video, creating animations, text-to-video, AI video, video generation, make clip, animate.
tools
Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
tools
Create and manage umbrella workspaces for multi-repo projects. Activate when the user wants to: create umbrella, umbrella init, wrap in umbrella, create workspace, setup multi-repo, migrate repos to umbrella, umbrella create, new workspace, restructure into umbrella, "wrap this repo", "create umbrella for these repos", "setup workspace with repos", "move repos into umbrella". Do NOT activate for: add a repo to existing umbrella (use sw:get), add a feature, add an increment, clone a repo (use sw:get).
tools
--- description: Merge completed parallel agent work and trigger GitHub sync per increment. Activates for: team merge, merge agents, combine work, team finish. --- # Team Merge **Verify all teammates completed, run quality gates, close increments, and trigger sync.** ## Usage ```bash sw:team-merge sw:team-merge --dry-run # Preview merge plan sw:team-merge --skip-sync # Merge without GitHub/JIRA sync ``` ## What This Skill Does 1. **Verify all teammates completed** -- bl