microsoft/microsoft-ai-platform-advisor
Use this skill when the user needs to choose the right Microsoft AI platform for a project, is comparing Microsoft 365 Copilot, Agent Builder, Copilot Studio, Microsoft Foundry, Foundry Agent Service, Windows AI Foundry, or Agent 365, needs to gather requirements for an AI or agent build, needs a solution architecture recommendation, needs to estimate effort as technical complexity and risk, or asks any variant of "which platform should I use", "how do I choose", "help me scope this AI project", or "what's the right tool for this AI use case".
npx skills add https://github.com/microsoft/cat-agent-skills --skill microsoft-ai-platform-advisor
Runs a structured discovery interview with the user, maps their answers to the right Microsoft AI platform using official Microsoft guidance, scores the build on technical complexity and risk, then plots those scores on a 2x2 quadrant chart — as an inline Mermaid chart and, when code interpreter is available, as a rendered PNG chart from a Python script. Returns a full recommendation brief the user can save.
Ask these in order. Store each answer for later use.
1. Project name. "What should I call this project? A short label is fine."
2. Audience. "Who is the primary user of this AI solution — just you, a small team, a whole department, the whole company, or external customers?"
3. Existing agent. "Do you already have an AI agent built somewhere else — for example on LangChain, OpenAI Agents SDK, another cloud, or from a vendor — that you want to bring into your Microsoft environment?"
4. Data sources. "What data does the AI need to read? Only Microsoft 365 files like SharePoint and Outlook, Microsoft 365 plus a few external systems, or enterprise data across many custom systems and databases?"
5. Actions. "What should the AI actually do — just answer questions from documents, answer plus take a simple action like sending an email or creating a ticket, run a multi-step workflow with approvals and branching, or operate autonomously without a human checking each step?"
6. Runtime location. "Where does the AI need to run — the cloud is fine, cloud but locked down with your own network isolation, or on the device itself with no cloud connection?"
7. Team skills. "How does your team prefer to build — no-code makers only, low-code with some Power Fx and Power Automate, or pro-code developers writing C#, Python, or JavaScript?"
8. Data sensitivity. "What's the sensitivity of the data involved — public, internal only, confidential or PII, or regulated (HIPAA, financial services, government)?"
9. Model requirements. "Do you need a specific AI model or is the default fine? For example, do you need to choose between GPT, Claude, Llama, DeepSeek, or fine-tune a model of your own?"
10. Deployment channels. "Where will users interact with the AI — inside Microsoft 365 Copilot chat, a standalone Teams bot or website, an embedded experience in your own product, or a Windows desktop app?"
11. Timeline. "When do you need something working — under 2 weeks, 1 to 3 months, 3 to 6 months, or 6 months and beyond?"
12. Existing licensing. "Which Microsoft licensing do you already have — Microsoft 365 Copilot, Copilot Studio, an Azure subscription, E7 or Agent 365 licensing?"
Apply this decision logic to pick the primary platform. Stop at the first match.
| Trigger | Primary platform |
|---|---|
| Answer to Q3 = "yes, existing agent needs to access M365 data" | Agent 365 (bring-your-own-agent) — use the Agent 365 SDK to register a blueprint, attach Work IQ (SharePoint, Teams, Outlook), and get Entra-based agent identity + DLP |
| Runtime = on-device / offline required, OR channel = Windows desktop app | Windows AI Foundry — Phi Silica, Foundry Local, Windows ML, or on-device Image AI APIs |
| Team = pro-code AND (custom model choice OR custom orchestration OR need to bring your own container) | Microsoft Foundry + Foundry Agent Service — Prompt agents for fully-managed, Hosted agents for bring-your-own-container |
| Team = pro-code AND (evaluations, RAG at scale, multi-model, agent framework) but no need for a managed agent runtime | Microsoft Foundry directly (Responses API from your own code) |
| Audience = department, org, or external customers, OR actions = multi-step workflow, OR channel = standalone bot/website | Copilot Studio |
| Audience = individual or small team AND actions = Q&A only AND data = M365 only | M365 Copilot Agent Builder (declarative agent) |
| None of the above and user just wants productivity gains inside Word/Excel/Outlook/Teams | Microsoft 365 Copilot (no build needed, just adoption) |
Apply this decision logic to add a governance layer on top of the primary:
Pick an alternative platform — usually the next-best fit if the primary isn't chosen. Common pairings:
Score each sub-factor 0, 1, or 2. Sum for a score out of 10. Show the sub-scores in the output.
a) External integrations — how many systems must the agent read from or write to?
b) Code approach — how much custom code is required?
c) Orchestration complexity — how complex is the conversation and control flow?
d) Model customization — how much do we deviate from the default model?
e) Data pipeline — how complex is the knowledge grounding?
Score each sub-factor 0, 1, or 2. Sum for a score out of 10. Show the sub-scores in the output.
a) Data sensitivity
b) Autonomy level
c) Blast radius — who is affected if the agent misbehaves?
d) Team novelty — how new is this tech to the team?
e) Change management
Produce both outputs.
Emit this Mermaid block in the response. Replace <X> with complexity/10 and <Y> with risk/10 as decimals between 0 and 1 (e.g., complexity 6 → 0.60).
quadrantChart
title Effort profile — <PROJECT_NAME>
x-axis "Low complexity" --> "High complexity"
y-axis "Low risk" --> "High risk"
quadrant-1 "Govern hard, ship fast"
quadrant-2 "PoC → phased rollout, exec sponsor"
quadrant-3 "Move fast, iterate"
quadrant-4 "Invest in engineering, add evaluations"
"<PROJECT_NAME>": [<X>, <Y>]
Quadrant meanings:
If the code interpreter tool is available in the environment, run the bundled
scripts/effort_profile_chart.py, passing the values from the interview as
arguments:
python scripts/effort_profile_chart.py \
--project-name "<project name from Q1>" \
--complexity <0–10 integer, Phase 3 sum> \
--risk <0–10 integer, Phase 4 sum>
It renders a 2×2 quadrant chart — the four quadrants labeled with planning
guidance and the project plotted as a labeled orange point — and saves the image
as effort_profile.png. Depends on matplotlib; runs headless. Run it with no
arguments to produce a sample chart.
Channel rule (runtime): images created by code interpreter do NOT render in the Teams or Microsoft 365 Copilot channels — they render in the Copilot Studio test pane, the demo website, and custom web channels. When delivering to Teams or Microsoft 365 Copilot, rely on the Mermaid chart from step 5a instead of the PNG.
If code interpreter is not available, skip this step and rely on the Mermaid chart from step 5a alone. Do not fabricate a chart image.
Format the final response exactly like this template. Fill in every field from the interview.
Primary platform: {{PRIMARY_PLATFORM}}
Why: {{2–3 sentences citing the specific answers that drove the choice}}
Documentation: {{Microsoft Learn URL from the References section}}
Alternative platform: {{ALTERNATIVE_PLATFORM}} — {{one line on when to switch to it}}
Governance layer: {{Yes / No}} — {{one line on Agent 365 rationale}}
Technical complexity: {{COMPLEXITY}}/10
Risk: {{RISK}}/10
{{Mermaid quadrantChart block from Phase 5a}}
{{If code interpreter is available, also include the PNG rendered from Phase 5b immediately below the Mermaid block.}}
Based on the quadrant, {{one paragraph tailored to the specific quadrant the point falls in — pull from the quadrant meanings in Phase 5a}}.
{{List only the ones the user does NOT already have based on Q12, with a one-line explanation of what each unlocks}}
Cite these Microsoft Learn URLs by pasting the relevant one under "Documentation" in the final brief.
Take microsoft/microsoft-ai-platform-advisor from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.