microsoft-agent-skills-private-archive / rules
Cursor rule2 starsChanged 2 months agoMITView on GitHub
Work out whether the thing in front of you needs an agent at all, and if it does, whether you should consume one, govern the ones you already have, or build a new one. Use when someone has asked for \"an agent\" and you are not convinced they need one, when the honest answer might be a Power Automate flow or a better search box, when Scout, Copilot Studio and Azure-hosted agents are all being proposed for the same problem, when nobody in the room can say which Copilot they mean, or when the real problem is that twenty agents already exist and nobody knows what they do.
We split this what-should-i-build.mdc into the rules it gives an agent
12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 80
Treat this as a real outcome and deliver it with the same confidence as a recommendation to build.
- Distinctive: line 124
Check availability before you route anyone here.
- Distinctive: line 155
When you recognise these symptoms, stop the build conversation and say so.
- Very specific: line 165
Do not compare platforms here.
- Distinctive: line 177
Every branch above has a licensing and availability condition attached, and those conditions are the fastest-moving thing in this ecosystem.
- Distinctive: line 189
Ask whether the intended users are licensed for the surface you are pointing at, who pays if they are not, and whether anybody has …
- Distinctive: line 258
Do not produce a comparison table of the surfaces.
- Distinctive: line 261
Do not treat "you do not need an agent" as a failure to reach a recommendation.
- Distinctive: line 263
Do not quote licence tiers, prices, consumption rates or availability from memory, and do not repeat them from a blog post.
- Distinctive: line 265
Do not run the platform comparison here.
- Distinctive: line 267
Do not accept "an agent" as a requirement.
- Distinctive: line 289
If one of these 404s, the product was probably renamed rather than withdrawn.
≈ “Common” is an estimate: at least 1 in 5 of the 6,350 Cursor rule files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
--- description: "Work out whether the thing in front of you needs an agent at all, and if it does, whether you should consume one, govern the ones you already have, or build a new one. Use when someone has asked for \"an agent\" and you are not convinced they need one, when the honest answer might be a Power Automate flow or a better search box, when Scout, Copilot Studio and Azure-hosted agents are all being proposed for the same problem, when nobody in the room can say which Copilot they mean, or when the real problem is that twenty agents already exist and nobody knows what they do." alwaysApply: false --- <!-- Generated from SKILL.md by scripts/build-harnesses.mjs. Do not edit by hand; run `npm run build`. --> <!-- Source: skills/deliver/what-should-i-build/SKILL.md --> "Which agent should we build?" is the wrong question, and it is wrong in a way that is expensive to discover later. The question already contains a guess: that an agent is the answer, and that you are the one who builds it. Both halves of that guess are wrong often enough that answering as asked is the single most common way this conversation fails. There are four honest answers, and only one of them is "build something". - **Nothing.** The requirement is deterministic, and an agent would add cost and non-determinism to a problem that has neither. - **Consume.** Someone has already built this. You are the user, not the builder. - **Govern.** The agents exist. The problem is that nobody can see them. - **Build.** Genuinely new behaviour that nothing on the shelf covers. Your job is to find out which one, before anybody opens a designer. Say the answer out loud as a diagnosis in a single sentence before acting on it. If it is wrong, the user corrects you in ten seconds, which is cheaper than correcting a build in ten weeks. ## Ask these, in this order The order carries more of the value than the questions do. Each one is placed where it eliminates the most work for the least effort, so a cheap question that kills a project belongs before an expensive one that refines it. Ask a round, then stop and wait. Do not answer on the user's behalf. **Round 1 - does this repeat, or did it happen once?** First, because it is free and it ends more conversations than anything else. A great deal of requested automation is a description of one bad week. If it happened once, the answer is usually a person doing it once more, and a note in the calendar. Ask how many times it has happened in the last quarter and listen for a number rather than an adjective. "Constantly" is not a number. **Round 2 - who is the user: you, or somebody else?** This splits consume from build faster than any capability question. If the person describing the problem is also the only person with the problem, you are almost certainly looking for something to use, not something to ship. One person's recurring work is a product someone already sells. A hundred people's recurring work might be a build. **Round 3 - can you write down every output before it runs?** This is the determinism test, and it decides whether an agent is warranted at all. If the outputs are fully predictable from the inputs, you want a flow, not a model. Push for a concrete example rather than a principle: make them describe one real case end to end, and see whether anything in it required a judgement call. If nothing did, you have your answer and it is not an agent. **Round 4 - what happens when it is wrong, and does anybody approve it?** Drafting text a human reads before sending is a different system from posting a journal entry. Ask who sees the output before it takes effect. If the answer is "nobody", the bar for everything downstream just rose sharply, and evaluation and tracing stop being nice-to-have. If the answer is "a human approves every action", you may be describing an approval workflow that has an agent bolted onto the front of it for no reason. **Round 5 - does it need to remember?** Memory across sessions is the cleanest line between the lightweight options and the real ones. Something that answers a question from existing content and then forgets you is a different build from something that tracks state over weeks. Ask what it needs to know on Tuesday that it learned on Monday. **Round 6 - who is accountable when it acts?** Last, because people find it uncomfortable and it works best once the rest is concrete. Every agent acts as some identity, reaches whatever that identity can reach, and leaves someone holding the consequences. If nobody can name that person, you have found the actual blocker, and it is not a technical one. ## When the answer is nothing Treat this as a real outcome and deliver it with the same confidence as a recommendation to build. It is the most valuable thing this conversation produces, and the hardest to say, because nobody has ever been thanked in a steering committee for recommending less. The test is Round 3. If every output is knowable in advance, name the deterministic thing instead: - A scheduled notification when a record changes is a Power Automate flow or a Logic App. - A recurring report over structured data is a Power BI report on a refresh schedule. - Collecting structured input is a form and a table, not a conversation. A chat interface is a worse way to gather eight known fields. - Moving data between systems on a schedule is a pipeline. - Finding a document nobody can find is a search problem. A Graph connector that brings the content into scope, or fixing the search configuration that was never tuned, beats an agent wrapped around a bad index. - A published answer to a question asked repeatedly is a page. Write the page. Say plainly that these cost less to run, cannot hallucinate, and can be tested exhaustively. Then say the cost of the alternative out loud: an agent introduces per-message consumption, an output that has to be evaluated rather than asserted, and a maintenance owner who does not exist yet. Watch for the reflex where the answer is "an agent" because an agent is fundable and a flow is not. When you spot it, name it. The honest framing is that the deterministic answer ships this month. ## When the answer is consume Some of what people ask to build already exists as a product, and the correct response is a licence and thirty minutes of onboarding rather than a project. **Microsoft Scout** is a desktop application for Windows and macOS that acts on someone's behalf: it reads and writes files, runs shell commands, drives a browser, reaches their Microsoft 365 data, and can work in the background on schedules and triggers rather than only when prompted. If the request is "I want my own recurring work handled without me thinking about it", the person in front of you is an end user, and building them a bespoke agent means reproducing a product. Check availability before you route anyone here. Scout is a Frontier preview: the documentation is prerelease, access requires joining the Frontier program and accepting its terms, and preview features may never reach general availability. That makes it a real answer for "stop building this yourself" and a bad answer for "and it will be in production next quarter". See https://learn.microsoft.com/en-us/microsoft-scout/overview. **Microsoft 365 Copilot Cowork** carries out tasks across someone's Microsoft 365 environment - sending mail, scheduling meetings, drafting documents, posting in Teams, managing a calendar - with the user approving each action before it happens. If the ask is "I want it to actually send the follow-up, not tell me to", that is a licence, not a project. See https://learn.microsoft.com/en-us/microsoft-365/copilot/cowork/. The tell for this whole branch is that the requirement is phrased in the first person. "I want" is a consume signal. "Our customers need" is not. ## When the answer is govern There is a version of this conversation where the organisation does not need another agent and is in fact suffering from the ones it has. The symptoms are recognisable: nobody can produce a list of what exists, two teams have built the same thing, an agent is still running for someone who left, or somebody asks what these things can actually reach and the room goes quiet. **Microsoft Agent 365** is the surface for this. It exists to observe, govern and secure the agents already running in an organisation - a central agent registry, lifecycle management, access control and compliance, worked through the Microsoft 365 admin centre, Entra and Purview. See https://learn.microsoft.com/en-us/microsoft-agent-365/overview. When you recognise these symptoms, stop the build conversation and say so. Building agent twenty-one into an estate nobody can inventory makes the actual problem worse, and it does it with your name on it. The useful deliverable from that meeting is an inventory and an owner, not a design. ## When the answer is build Once the rounds have ruled out nothing, consume and govern, you have a build - and this skill stops here, deliberately. Do not compare platforms here. `choose-agent-platform` owns that decision, holds the canonical list of options, and asks a different set of questions to reach it. It is user-invoked, so it will not start by itself: tell the user to run it by name, and hand over what the rounds already established so they are not interrogated twice. Naming a shortlist in this skill as well is how two answers drift apart. There would then be two lists maintained in two places, and the one you are reading is the one nobody remembers to update when a product is renamed. ## Licensing gates this, and this skill will not answer it Every branch above has a licensing and availability condition attached, and those conditions are the fastest-moving thing in this ecosystem. Which tier a surface requires, whether it is available in a tenant at all, and what it consumes per message have each changed inside a single quarter more than once. So this skill deliberately does not name SKUs, tiers or prices. A confident number here is worse than a gap, because the reader repeats it to a customer without checking, and it turns out to be wrong in a meeting rather than in a document. Make licensing an explicit gate instead, before any recommendation hardens. Ask whether the intended users are licensed for the surface you are pointing at, who pays if they are not, and whether anybody has confirmed that in the tenant rather than inferring it from a blog post. If nobody has, record it as an open question with a named owner, and check the current Microsoft licensing documentation rather than repeating what this skill or anybody else told you. Treat availability the same way, particularly for newer surfaces, where "we saw it in a keynote" and "it is in this tenant" are frequently different facts. ## The wrong choices people actually make Each of these has a cause, and the cause is more useful than the error, because you can hear the cause in the room before the error is committed. **An agent where a flow belonged.** Caused by visibility. Agents demo well, have budget attached, and carry the word leadership is asking about; a flow does not. Symptom: the requirement contains the words "when this happens, do that", with no judgement anywhere in it. **Building what they should have consumed.** Caused by the builder's reflex. Somebody describes a personal productivity problem to a team whose job is to build, and gets a project instead of a licence. Symptom: the requester is also the only user. **Building when they should have governed.** Caused by the new thing being more interesting than the estate. Symptom: nobody can answer "how many agents do you have now?" and the conversation moves on anyway. **A declarative agent for something that must act.** Caused by both options being no-code and looking identical in a demo. The line is knowing versus doing: answering from content already in scope is one thing, writing to a system or calling an external API is another. Symptom: "and then it updates the record", said quietly, at the end of a sentence about answering questions. **Pro-code because the engineer wanted to write code.** Caused by professional preference dressed as a requirement, usually justified by flexibility nobody asked for. Symptom: the design has tickets for tracing, evaluation and deployment pipelines that a managed platform would have supplied. Ask who maintains it in a year, and watch how slowly the answer arrives. **"Everything is a Copilot."** Caused by branding, and it is not the user's fault. Several genuinely different products share the word, and two people can hold an entire meeting using it to mean different things. Make everybody name the specific product. A surprising share of the disagreement in this conversation dissolves at that point, because it was never a disagreement. ## Deliver it like this **The answer** - nothing, consume, govern or build. One word, then one sentence. **Because** - the two or three answers from the rounds that actually drove it, quoted back to them. Not generic properties of the options. **What we are not doing** - the option they arrived expecting, and the specific answer that ruled it out. This is the part that survives the meeting and stops the decision being relitigated by somebody who was absent. **Open questions** - anything unresolved, each with a named owner. Licensing and availability belong here unless somebody has actually checked the tenant. **Revisit if** - the condition that changes the answer. "If this has to serve customers rather than the four of you, this becomes a different decision." ## Do not - Do not produce a comparison table of the surfaces. Microsoft maintains those, they are more current than anything written here, and they do not answer this question. - Do not treat "you do not need an agent" as a failure to reach a recommendation. It is a recommendation, and usually the most valuable one. - Do not quote licence tiers, prices, consumption rates or availability from memory, and do not repeat them from a blog post. - Do not run the platform comparison here. Establish that it is a build, then hand the decision over. - Do not accept "an agent" as a requirement. Make them describe one real case, end to end, including what happens when it is wrong. ## Verified references Each returned HTTP 200 on 2026-08-18. Scout's and Cowork's pages were also read, not just pinged, on 2026-08-18: what each product actually does, and Scout's Frontier preview gating, are described from those pages. Both are moving surfaces. Re-read them before you rely on the consume branch. - Microsoft Scout: https://learn.microsoft.com/en-us/microsoft-scout/overview - Microsoft 365 Copilot Cowork: https://learn.microsoft.com/en-us/microsoft-365/copilot/cowork/ - Microsoft Agent 365: https://learn.microsoft.com/en-us/microsoft-agent-365/overview - Copilot Studio: https://learn.microsoft.com/en-us/microsoft-copilot-studio/fundamentals-what-is-copilot-studio - Declarative agents for Microsoft 365 Copilot: https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/overview-declarative-agent - Microsoft Foundry Agents: https://learn.microsoft.com/en-us/azure/ai-foundry/agents/overview If one of these 404s, the product was probably renamed rather than withdrawn. Say you could not verify it instead of guessing the new URL.
Other versions1 project uses a version of this.
Word for word · 1
- RagnarPitla/microsoft-agent-skills★ 0100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew Cursor rule files have more rules about planning and tracking tasks, and fewer about code style.
Of the Cursor rule files we read, the 3,978 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/ask-ragnar.mdcCursor rule
- .cursor/rules/assess-change-blast-radius.mdcCursor rule
- .cursor/rules/choose-agent-platform.mdcCursor rule
- .cursor/rules/copilot-studio-auth-patterns.mdcCursor rule
- .cursor/rules/copilot-studio-knowledge-grounding.mdcCursor rule
- .cursor/rules/copilot-studio-production-patterns.mdcCursor rule
- .cursor/rules/de-slop.mdcCursor rule
- .cursor/rules/discovery.mdcCursor rule
- .cursor/rules/evaluate-agent-quality.mdcCursor rule
- .cursor/rules/explain-concept.mdcCursor rule
- .cursor/rules/govern-agent-lifecycle.mdcCursor rule
- .cursor/rules/ground-agents-in-work-context.mdcCursor rule
- .cursor/rules/migrate-agent-to-skills.mdcCursor rule
- .cursor/rules/monitor-agent-telemetry.mdcCursor rule
- .cursor/rules/plan-agent-capacity-and-cost.mdcCursor rule
- .cursor/rules/power-platform-alm-connection-refs.mdcCursor rule
- .cursor/rules/respond-to-agent-incidents.mdcCursor rule
- .cursor/rules/review-copilot-studio-agent.mdcCursor rule
- .cursor/rules/structured-interview.mdcCursor rule
- .cursor/rules/write-a-skill.mdcCursor rule
- ask-ragnarSkill
- assess-change-blast-radiusSkill
- choose-agent-platformSkill
- copilot-studio-auth-patternsSkill
- copilot-studio-knowledge-groundingSkill
- copilot-studio-production-patternsSkill
- de-slopSkill
- discoverySkill
- evaluate-agent-qualitySkill
- explain-conceptSkill
- govern-agent-lifecycleSkill
- ground-agents-in-work-contextSkill
- migrate-agent-to-skillsSkill
- monitor-agent-telemetrySkill
- plan-agent-capacity-and-costSkill
- power-platform-alm-connection-refsSkill
- respond-to-agent-incidentsSkill
- review-copilot-studio-agentSkill
- structured-interviewSkill
- what-should-i-buildSkill
- write-a-skillSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

