Multi-Provider: ADO + Jira
Day 49 · Week 10 · Mastery
Slack Message — copy & paste
🤖 Tip #49 — One config value (tracker.provider) switches the entire skill pipeline between ADO and Jira — write once, deploy anywhere.
#49 Claude Code
How the Abstraction Works
- **Single config switch** — One value in .ai/config.yaml (tracker.provider: ado or jira) routes all skills to the correct MCP backend. No code changes, no skill duplication.
- **Business logic stays the same** — Requirements analysis, planning, and implementation logic is identical regardless of where the ticket lives. Only the API calls to fetch and update tickets differ between providers.
- **Field name abstraction** — ADO calls it 'Acceptance Criteria,' Jira calls it 'Description.' The shared/provider-config.md file maps these fields so skills can reference generic names like 'acceptance criteria' everywhere.
- **Practical adoption strategy** — Start with one provider and get all skills working perfectly. Then add the second provider as an abstraction layer. Don't try to build both at once.
ADO Jira Multi-Provider
#49 Mastery
Provider Mapping Details
- 1 **Provider mapping examples**
- › ADO: mcp__ado__wit_get_work_item, mcp__ado__wit_update_work_item
- › Jira: mcp__atlassian__get_issue, mcp__atlassian__update_issue
- 2 **Quick switch** — Check your .ai/config.yaml for the tracker.provider value. Changing this one line switches the entire pipeline.
- 3 **Customize field mappings** — Review shared/provider-config.md if your Jira instance uses custom field names that differ from the defaults
- 4 **Test both paths** — After adding a second provider, run /dx-req <ticket-id> with each provider setting to verify field mapping works correctly
ADO Jira Multi-Provider
Your screenshot here Optional — add a screenshot from your own workflow