[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-review-areas":3,"mdc--czzx47-key":39,"related-org-microsoft-review-areas":571,"related-repo-microsoft-review-areas":764},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"review-areas","perform parallel multi-perspective code reviews","In-depth code review that fans out parallel subagents across different review perspectives (correctness, tests, security, performance, product). It is CRITICAL to use this skill after ANY non-trivial development phase — changes are usually not 100% correct. Development CANNOT be called done until the code has been reviewed. Use when the user asks for a review, PR feedback, bug hunt, or code quality check.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Security","security","tag",{"name":17,"slug":18,"type":15},"Performance","performance",{"name":20,"slug":21,"type":15},"Code Review","code-review",{"name":23,"slug":24,"type":15},"Product Management","product-management",{"name":26,"slug":27,"type":15},"Engineering","engineering",25,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode-team-kit","2026-05-13T06:14:54.62167",null,5,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"Plugins the VS Code team uses","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode-team-kit\u002Ftree\u002FHEAD\u002Freview-areas\u002Fskills\u002Freview-areas","---\nname: review-areas\ndescription: \"In-depth code review that fans out parallel subagents across different review perspectives (correctness, tests, security, performance, product). It is CRITICAL to use this skill after ANY non-trivial development phase — changes are usually not 100% correct. Development CANNOT be called done until the code has been reviewed. Use when the user asks for a review, PR feedback, bug hunt, or code quality check.\"\n---\n\n# Skill: Review Areas\n\nFan out parallel read-only subagents, each assigned a different review area, then synthesize the highest-signal findings. This surfaces issues that a single-pass review misses because each subagent goes deep on its area instead of skimming everything.\n\n## Review Areas\n\nPick 2–4 areas based on the nature of the change. Not every review needs all areas — match the areas to the risk profile.\n\n| Area | When to include | Focus |\n|------|----------------|-------|\n| **Correctness** | Always | Logic errors, type safety, race conditions, null\u002Fundefined paths, unsafe casts, wrong behavior |\n| **Tests** | When tests exist or should exist | Run tests, check failing\u002Fmissing coverage, validate assertions match intent |\n| **Security** | Auth, input handling, data flow changes | Input validation, auth checks, injection, data exposure |\n| **Performance** | Hot paths, data structures, async changes | Algorithm complexity, unnecessary allocations, blocking async patterns |\n| **Product** | UI, UX, or user-facing behavior changes | UX implications, feature completeness, accessibility gaps |\n\n## Workflow\n\n### 1 — Scope\n\n- Prefer the active pull request, current git diff, or an explicit file list from the user.\n- If there is nothing to review, ask the user to point at a branch, PR, diff, or file set.\n\n### 2 — Build a Change Summary\n\nBefore fanning out, build a concise change summary. Do **not** paste raw diffs into the subagent prompts — each subagent has tools to read files and inspect changes itself.\n\nThe summary should include:\n1. **Intent** — what the change is trying to accomplish (from PR description, commit messages, or conversation context).\n2. **Changed files** — list each file path with a one-line description of what changed (e.g., \"added input validation\", \"refactored into helper\").\n3. **Risk areas** — anything risky: new dependencies, auth changes, hot-path modifications, API surface changes.\n4. **How to inspect** — branch\u002FPR\u002Fcommit info so subagents can use their tools.\n\nKeep the summary under ~50 lines. Subagents get better results reading code in context than scanning a wall of diff.\n\n### 3 — Fan Out\n\nLaunch 2–4 parallel subagents using the area prompts below. Each subagent works in isolation — do not share one area's findings with another before synthesis.\n\nUse unnamed subagents (no custom agent needed). Each gets a self-contained prompt with its area, the change summary, and the return format.\n\n### 4 — Synthesize\n\nWhen all subagents return:\n\n1. Deduplicate findings that overlap across areas (e.g., a correctness bug that also shows up as a missing test).\n2. Order by severity: breaking > wrong behavior > security > missing coverage > performance > product.\n3. Apply the signal filter — drop anything that wouldn't block a PR.\n4. If no blocking issues survive, say so and mention any meaningful testing gaps.\n\n### 5 — Save Findings\n\nAlways save the synthesized findings to session memory at `\u002Fmemories\u002Fsession\u002Freview.md`. This makes them available for follow-up turns, fix planning, and cross-referencing with future reviews.\n\n### 6 — Fix or Report\n\n- **Review-only**: if the user said \"only review\", \"just review\", or \"read-only\", stop after reporting.\n- **Default (review-and-fix)**:\n  1. For each fixable finding, launch one or more parallel `Explore` subagents to investigate the fix — this is faster and deeper than reading files inline. Give each Explore agent the finding, the relevant file paths, and ask it to return the specific change needed (what to replace, where).\n  2. Apply fixes in severity order based on the Explore agents' recommendations.\n  3. After applying, re-check the changed lines and diagnostics to validate.\n  4. Report what was fixed and any remaining items that need the user's input.\n\n## Signal Filter\n\nKeep only findings a senior engineer would block a PR for:\n- Will fail to compile, type-check, or produce wrong results\n- Clear, citable violation of workspace coding standards\n- Security vulnerability with a concrete exploit path\n- Missing error handling that causes silent failures\n\nDrop: style preferences, linter-catchable issues, pre-existing problems, speculative concerns.\n\n## Area Prompt\n\nEach subagent gets this prompt with `{AREA}` and `{FOCUS}` filled in from the Review Areas table.\n\n```text\nYou are a focused code review subagent. Your area is: {AREA}\n\n## What changed\n\u003Cchange summary from step 2: intent, changed files with one-line descriptions, risk areas>\n\n## How to inspect\n\u003Cbranch, PR number, or commit range the subagent can use with its tools>\n\nFocus on: {FOCUS}\n\nUse your tools to read the changed files, check diagnostics, and run focused tests. Do not rely solely on this summary — dig into the code yourself. Read functions end-to-end. Trace inputs through branches and error paths. Check callers when contracts change.\n\nRules:\n- Stay read-only. Do not edit files.\n- Only flag issues that would block a PR — things that break, regress, or expose a concrete vulnerability.\n- Do not report issues outside your area.\n- Do not suggest code edits — describe the problem and why it matters.\n- Check loaded workspace instructions and skills before flagging standard violations.\n- Keep your response short. No preamble, no style commentary.\n\nReturn format:\n\n**Area**: {AREA}\n\n**Findings** (0–5 items, severity order):\n- [file:line] One-sentence description. Why it matters.\n\nIf nothing blocks approval: \"No blocking issues found in {AREA}.\"\n```\n\n## Output Shape\n\n**Changes Summary** (50 words max):\nWhat changed, why, and expected impact.\n\n**What's Done Well** (1–3 items):\nAcknowledge good patterns worth reinforcing.\n\n**Critical Issues** (0–5 items, severity order):\nEach with file references and the area that surfaced it.\n\n**Improvements** (0–5 items):\nHigh-value suggestions that didn't quite reach \"blocking\" but are worth addressing.\n\n**Verdict**: Ready \u002F Needs Revisions \u002F Blocked — with a specific next step.\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,53,59,65,70,207,213,220,235,241,253,258,302,307,313,318,323,329,334,357,363,377,383,437,443,448,471,476,482,503,515,521,531,541,551,561],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"skill-review-areas",[50],{"type":51,"value":52},"text","Skill: Review Areas",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57],{"type":51,"value":58},"Fan out parallel read-only subagents, each assigned a different review area, then synthesize the highest-signal findings. This surfaces issues that a single-pass review misses because each subagent goes deep on its area instead of skimming everything.",{"type":45,"tag":60,"props":61,"children":62},"h2",{"id":4},[63],{"type":51,"value":64},"Review Areas",{"type":45,"tag":54,"props":66,"children":67},{},[68],{"type":51,"value":69},"Pick 2–4 areas based on the nature of the change. Not every review needs all areas — match the areas to the risk profile.",{"type":45,"tag":71,"props":72,"children":73},"table",{},[74,98],{"type":45,"tag":75,"props":76,"children":77},"thead",{},[78],{"type":45,"tag":79,"props":80,"children":81},"tr",{},[82,88,93],{"type":45,"tag":83,"props":84,"children":85},"th",{},[86],{"type":51,"value":87},"Area",{"type":45,"tag":83,"props":89,"children":90},{},[91],{"type":51,"value":92},"When to include",{"type":45,"tag":83,"props":94,"children":95},{},[96],{"type":51,"value":97},"Focus",{"type":45,"tag":99,"props":100,"children":101},"tbody",{},[102,125,146,166,186],{"type":45,"tag":79,"props":103,"children":104},{},[105,115,120],{"type":45,"tag":106,"props":107,"children":108},"td",{},[109],{"type":45,"tag":110,"props":111,"children":112},"strong",{},[113],{"type":51,"value":114},"Correctness",{"type":45,"tag":106,"props":116,"children":117},{},[118],{"type":51,"value":119},"Always",{"type":45,"tag":106,"props":121,"children":122},{},[123],{"type":51,"value":124},"Logic errors, type safety, race conditions, null\u002Fundefined paths, unsafe casts, wrong behavior",{"type":45,"tag":79,"props":126,"children":127},{},[128,136,141],{"type":45,"tag":106,"props":129,"children":130},{},[131],{"type":45,"tag":110,"props":132,"children":133},{},[134],{"type":51,"value":135},"Tests",{"type":45,"tag":106,"props":137,"children":138},{},[139],{"type":51,"value":140},"When tests exist or should exist",{"type":45,"tag":106,"props":142,"children":143},{},[144],{"type":51,"value":145},"Run tests, check failing\u002Fmissing coverage, validate assertions match intent",{"type":45,"tag":79,"props":147,"children":148},{},[149,156,161],{"type":45,"tag":106,"props":150,"children":151},{},[152],{"type":45,"tag":110,"props":153,"children":154},{},[155],{"type":51,"value":13},{"type":45,"tag":106,"props":157,"children":158},{},[159],{"type":51,"value":160},"Auth, input handling, data flow changes",{"type":45,"tag":106,"props":162,"children":163},{},[164],{"type":51,"value":165},"Input validation, auth checks, injection, data exposure",{"type":45,"tag":79,"props":167,"children":168},{},[169,176,181],{"type":45,"tag":106,"props":170,"children":171},{},[172],{"type":45,"tag":110,"props":173,"children":174},{},[175],{"type":51,"value":17},{"type":45,"tag":106,"props":177,"children":178},{},[179],{"type":51,"value":180},"Hot paths, data structures, async changes",{"type":45,"tag":106,"props":182,"children":183},{},[184],{"type":51,"value":185},"Algorithm complexity, unnecessary allocations, blocking async patterns",{"type":45,"tag":79,"props":187,"children":188},{},[189,197,202],{"type":45,"tag":106,"props":190,"children":191},{},[192],{"type":45,"tag":110,"props":193,"children":194},{},[195],{"type":51,"value":196},"Product",{"type":45,"tag":106,"props":198,"children":199},{},[200],{"type":51,"value":201},"UI, UX, or user-facing behavior changes",{"type":45,"tag":106,"props":203,"children":204},{},[205],{"type":51,"value":206},"UX implications, feature completeness, accessibility gaps",{"type":45,"tag":60,"props":208,"children":210},{"id":209},"workflow",[211],{"type":51,"value":212},"Workflow",{"type":45,"tag":214,"props":215,"children":217},"h3",{"id":216},"_1-scope",[218],{"type":51,"value":219},"1 — Scope",{"type":45,"tag":221,"props":222,"children":223},"ul",{},[224,230],{"type":45,"tag":225,"props":226,"children":227},"li",{},[228],{"type":51,"value":229},"Prefer the active pull request, current git diff, or an explicit file list from the user.",{"type":45,"tag":225,"props":231,"children":232},{},[233],{"type":51,"value":234},"If there is nothing to review, ask the user to point at a branch, PR, diff, or file set.",{"type":45,"tag":214,"props":236,"children":238},{"id":237},"_2-build-a-change-summary",[239],{"type":51,"value":240},"2 — Build a Change Summary",{"type":45,"tag":54,"props":242,"children":243},{},[244,246,251],{"type":51,"value":245},"Before fanning out, build a concise change summary. Do ",{"type":45,"tag":110,"props":247,"children":248},{},[249],{"type":51,"value":250},"not",{"type":51,"value":252}," paste raw diffs into the subagent prompts — each subagent has tools to read files and inspect changes itself.",{"type":45,"tag":54,"props":254,"children":255},{},[256],{"type":51,"value":257},"The summary should include:",{"type":45,"tag":259,"props":260,"children":261},"ol",{},[262,272,282,292],{"type":45,"tag":225,"props":263,"children":264},{},[265,270],{"type":45,"tag":110,"props":266,"children":267},{},[268],{"type":51,"value":269},"Intent",{"type":51,"value":271}," — what the change is trying to accomplish (from PR description, commit messages, or conversation context).",{"type":45,"tag":225,"props":273,"children":274},{},[275,280],{"type":45,"tag":110,"props":276,"children":277},{},[278],{"type":51,"value":279},"Changed files",{"type":51,"value":281}," — list each file path with a one-line description of what changed (e.g., \"added input validation\", \"refactored into helper\").",{"type":45,"tag":225,"props":283,"children":284},{},[285,290],{"type":45,"tag":110,"props":286,"children":287},{},[288],{"type":51,"value":289},"Risk areas",{"type":51,"value":291}," — anything risky: new dependencies, auth changes, hot-path modifications, API surface changes.",{"type":45,"tag":225,"props":293,"children":294},{},[295,300],{"type":45,"tag":110,"props":296,"children":297},{},[298],{"type":51,"value":299},"How to inspect",{"type":51,"value":301}," — branch\u002FPR\u002Fcommit info so subagents can use their tools.",{"type":45,"tag":54,"props":303,"children":304},{},[305],{"type":51,"value":306},"Keep the summary under ~50 lines. Subagents get better results reading code in context than scanning a wall of diff.",{"type":45,"tag":214,"props":308,"children":310},{"id":309},"_3-fan-out",[311],{"type":51,"value":312},"3 — Fan Out",{"type":45,"tag":54,"props":314,"children":315},{},[316],{"type":51,"value":317},"Launch 2–4 parallel subagents using the area prompts below. Each subagent works in isolation — do not share one area's findings with another before synthesis.",{"type":45,"tag":54,"props":319,"children":320},{},[321],{"type":51,"value":322},"Use unnamed subagents (no custom agent needed). Each gets a self-contained prompt with its area, the change summary, and the return format.",{"type":45,"tag":214,"props":324,"children":326},{"id":325},"_4-synthesize",[327],{"type":51,"value":328},"4 — Synthesize",{"type":45,"tag":54,"props":330,"children":331},{},[332],{"type":51,"value":333},"When all subagents return:",{"type":45,"tag":259,"props":335,"children":336},{},[337,342,347,352],{"type":45,"tag":225,"props":338,"children":339},{},[340],{"type":51,"value":341},"Deduplicate findings that overlap across areas (e.g., a correctness bug that also shows up as a missing test).",{"type":45,"tag":225,"props":343,"children":344},{},[345],{"type":51,"value":346},"Order by severity: breaking > wrong behavior > security > missing coverage > performance > product.",{"type":45,"tag":225,"props":348,"children":349},{},[350],{"type":51,"value":351},"Apply the signal filter — drop anything that wouldn't block a PR.",{"type":45,"tag":225,"props":353,"children":354},{},[355],{"type":51,"value":356},"If no blocking issues survive, say so and mention any meaningful testing gaps.",{"type":45,"tag":214,"props":358,"children":360},{"id":359},"_5-save-findings",[361],{"type":51,"value":362},"5 — Save Findings",{"type":45,"tag":54,"props":364,"children":365},{},[366,368,375],{"type":51,"value":367},"Always save the synthesized findings to session memory at ",{"type":45,"tag":369,"props":370,"children":372},"code",{"className":371},[],[373],{"type":51,"value":374},"\u002Fmemories\u002Fsession\u002Freview.md",{"type":51,"value":376},". This makes them available for follow-up turns, fix planning, and cross-referencing with future reviews.",{"type":45,"tag":214,"props":378,"children":380},{"id":379},"_6-fix-or-report",[381],{"type":51,"value":382},"6 — Fix or Report",{"type":45,"tag":221,"props":384,"children":385},{},[386,396],{"type":45,"tag":225,"props":387,"children":388},{},[389,394],{"type":45,"tag":110,"props":390,"children":391},{},[392],{"type":51,"value":393},"Review-only",{"type":51,"value":395},": if the user said \"only review\", \"just review\", or \"read-only\", stop after reporting.",{"type":45,"tag":225,"props":397,"children":398},{},[399,404,406],{"type":45,"tag":110,"props":400,"children":401},{},[402],{"type":51,"value":403},"Default (review-and-fix)",{"type":51,"value":405},":\n",{"type":45,"tag":259,"props":407,"children":408},{},[409,422,427,432],{"type":45,"tag":225,"props":410,"children":411},{},[412,414,420],{"type":51,"value":413},"For each fixable finding, launch one or more parallel ",{"type":45,"tag":369,"props":415,"children":417},{"className":416},[],[418],{"type":51,"value":419},"Explore",{"type":51,"value":421}," subagents to investigate the fix — this is faster and deeper than reading files inline. Give each Explore agent the finding, the relevant file paths, and ask it to return the specific change needed (what to replace, where).",{"type":45,"tag":225,"props":423,"children":424},{},[425],{"type":51,"value":426},"Apply fixes in severity order based on the Explore agents' recommendations.",{"type":45,"tag":225,"props":428,"children":429},{},[430],{"type":51,"value":431},"After applying, re-check the changed lines and diagnostics to validate.",{"type":45,"tag":225,"props":433,"children":434},{},[435],{"type":51,"value":436},"Report what was fixed and any remaining items that need the user's input.",{"type":45,"tag":60,"props":438,"children":440},{"id":439},"signal-filter",[441],{"type":51,"value":442},"Signal Filter",{"type":45,"tag":54,"props":444,"children":445},{},[446],{"type":51,"value":447},"Keep only findings a senior engineer would block a PR for:",{"type":45,"tag":221,"props":449,"children":450},{},[451,456,461,466],{"type":45,"tag":225,"props":452,"children":453},{},[454],{"type":51,"value":455},"Will fail to compile, type-check, or produce wrong results",{"type":45,"tag":225,"props":457,"children":458},{},[459],{"type":51,"value":460},"Clear, citable violation of workspace coding standards",{"type":45,"tag":225,"props":462,"children":463},{},[464],{"type":51,"value":465},"Security vulnerability with a concrete exploit path",{"type":45,"tag":225,"props":467,"children":468},{},[469],{"type":51,"value":470},"Missing error handling that causes silent failures",{"type":45,"tag":54,"props":472,"children":473},{},[474],{"type":51,"value":475},"Drop: style preferences, linter-catchable issues, pre-existing problems, speculative concerns.",{"type":45,"tag":60,"props":477,"children":479},{"id":478},"area-prompt",[480],{"type":51,"value":481},"Area Prompt",{"type":45,"tag":54,"props":483,"children":484},{},[485,487,493,495,501],{"type":51,"value":486},"Each subagent gets this prompt with ",{"type":45,"tag":369,"props":488,"children":490},{"className":489},[],[491],{"type":51,"value":492},"{AREA}",{"type":51,"value":494}," and ",{"type":45,"tag":369,"props":496,"children":498},{"className":497},[],[499],{"type":51,"value":500},"{FOCUS}",{"type":51,"value":502}," filled in from the Review Areas table.",{"type":45,"tag":504,"props":505,"children":510},"pre",{"className":506,"code":508,"language":51,"meta":509},[507],"language-text","You are a focused code review subagent. Your area is: {AREA}\n\n## What changed\n\u003Cchange summary from step 2: intent, changed files with one-line descriptions, risk areas>\n\n## How to inspect\n\u003Cbranch, PR number, or commit range the subagent can use with its tools>\n\nFocus on: {FOCUS}\n\nUse your tools to read the changed files, check diagnostics, and run focused tests. Do not rely solely on this summary — dig into the code yourself. Read functions end-to-end. Trace inputs through branches and error paths. Check callers when contracts change.\n\nRules:\n- Stay read-only. Do not edit files.\n- Only flag issues that would block a PR — things that break, regress, or expose a concrete vulnerability.\n- Do not report issues outside your area.\n- Do not suggest code edits — describe the problem and why it matters.\n- Check loaded workspace instructions and skills before flagging standard violations.\n- Keep your response short. No preamble, no style commentary.\n\nReturn format:\n\n**Area**: {AREA}\n\n**Findings** (0–5 items, severity order):\n- [file:line] One-sentence description. Why it matters.\n\nIf nothing blocks approval: \"No blocking issues found in {AREA}.\"\n","",[511],{"type":45,"tag":369,"props":512,"children":513},{"__ignoreMap":509},[514],{"type":51,"value":508},{"type":45,"tag":60,"props":516,"children":518},{"id":517},"output-shape",[519],{"type":51,"value":520},"Output Shape",{"type":45,"tag":54,"props":522,"children":523},{},[524,529],{"type":45,"tag":110,"props":525,"children":526},{},[527],{"type":51,"value":528},"Changes Summary",{"type":51,"value":530}," (50 words max):\nWhat changed, why, and expected impact.",{"type":45,"tag":54,"props":532,"children":533},{},[534,539],{"type":45,"tag":110,"props":535,"children":536},{},[537],{"type":51,"value":538},"What's Done Well",{"type":51,"value":540}," (1–3 items):\nAcknowledge good patterns worth reinforcing.",{"type":45,"tag":54,"props":542,"children":543},{},[544,549],{"type":45,"tag":110,"props":545,"children":546},{},[547],{"type":51,"value":548},"Critical Issues",{"type":51,"value":550}," (0–5 items, severity order):\nEach with file references and the area that surfaced it.",{"type":45,"tag":54,"props":552,"children":553},{},[554,559],{"type":45,"tag":110,"props":555,"children":556},{},[557],{"type":51,"value":558},"Improvements",{"type":51,"value":560}," (0–5 items):\nHigh-value suggestions that didn't quite reach \"blocking\" but are worth addressing.",{"type":45,"tag":54,"props":562,"children":563},{},[564,569],{"type":45,"tag":110,"props":565,"children":566},{},[567],{"type":51,"value":568},"Verdict",{"type":51,"value":570},": Ready \u002F Needs Revisions \u002F Blocked — with a specific next step.",{"items":572,"total":763},[573,593,614,635,648,665,676,689,704,719,738,751],{"slug":574,"name":574,"fn":575,"description":576,"org":577,"tags":578,"stars":590,"repoUrl":591,"updatedAt":592},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[579,580,583,584,587],{"name":26,"slug":27,"type":15},{"name":581,"slug":582,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":585,"slug":586,"type":15},"Project Management","project-management",{"name":588,"slug":589,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":594,"name":594,"fn":595,"description":596,"org":597,"tags":598,"stars":611,"repoUrl":612,"updatedAt":613},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[599,602,605,608],{"name":600,"slug":601,"type":15},".NET","net",{"name":603,"slug":604,"type":15},"Agents","agents",{"name":606,"slug":607,"type":15},"Azure","azure",{"name":609,"slug":610,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":615,"name":615,"fn":616,"description":617,"org":618,"tags":619,"stars":611,"repoUrl":612,"updatedAt":634},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[620,623,624,627,630,631],{"name":621,"slug":622,"type":15},"Analytics","analytics",{"name":606,"slug":607,"type":15},{"name":625,"slug":626,"type":15},"Data Analysis","data-analysis",{"name":628,"slug":629,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":632,"slug":633,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":636,"name":636,"fn":637,"description":638,"org":639,"tags":640,"stars":611,"repoUrl":612,"updatedAt":647},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[641,644,645,646],{"name":642,"slug":643,"type":15},"AI Infrastructure","ai-infrastructure",{"name":606,"slug":607,"type":15},{"name":628,"slug":629,"type":15},{"name":13,"slug":14,"type":15},"2026-07-07T06:53:31.293235",{"slug":649,"name":649,"fn":650,"description":651,"org":652,"tags":653,"stars":611,"repoUrl":612,"updatedAt":664},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[654,655,658,659,660,663],{"name":606,"slug":607,"type":15},{"name":656,"slug":657,"type":15},"Compliance","compliance",{"name":609,"slug":610,"type":15},{"name":9,"slug":8,"type":15},{"name":661,"slug":662,"type":15},"Python","python",{"name":13,"slug":14,"type":15},"2026-07-18T05:14:23.017504",{"slug":666,"name":666,"fn":667,"description":668,"org":669,"tags":670,"stars":611,"repoUrl":612,"updatedAt":675},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[671,672,673,674],{"name":621,"slug":622,"type":15},{"name":606,"slug":607,"type":15},{"name":609,"slug":610,"type":15},{"name":661,"slug":662,"type":15},"2026-07-31T05:54:29.068751",{"slug":677,"name":677,"fn":678,"description":679,"org":680,"tags":681,"stars":611,"repoUrl":612,"updatedAt":688},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[682,685,686,687],{"name":683,"slug":684,"type":15},"API Development","api-development",{"name":606,"slug":607,"type":15},{"name":9,"slug":8,"type":15},{"name":661,"slug":662,"type":15},"2026-07-18T05:14:16.988376",{"slug":690,"name":690,"fn":691,"description":692,"org":693,"tags":694,"stars":611,"repoUrl":612,"updatedAt":703},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[695,696,699,702],{"name":606,"slug":607,"type":15},{"name":697,"slug":698,"type":15},"Computer Vision","computer-vision",{"name":700,"slug":701,"type":15},"Images","images",{"name":661,"slug":662,"type":15},"2026-07-18T05:14:18.007737",{"slug":705,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":611,"repoUrl":612,"updatedAt":718},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[710,711,714,717],{"name":606,"slug":607,"type":15},{"name":712,"slug":713,"type":15},"Configuration","configuration",{"name":715,"slug":716,"type":15},"Feature Flags","feature-flags",{"name":628,"slug":629,"type":15},"2026-07-03T16:32:01.278468",{"slug":720,"name":720,"fn":721,"description":722,"org":723,"tags":724,"stars":611,"repoUrl":612,"updatedAt":737},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[725,728,731,734],{"name":726,"slug":727,"type":15},"Cosmos DB","cosmos-db",{"name":729,"slug":730,"type":15},"Database","database",{"name":732,"slug":733,"type":15},"NoSQL","nosql",{"name":735,"slug":736,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":739,"name":739,"fn":721,"description":740,"org":741,"tags":742,"stars":611,"repoUrl":612,"updatedAt":750},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[743,744,745,746,747],{"name":726,"slug":727,"type":15},{"name":729,"slug":730,"type":15},{"name":9,"slug":8,"type":15},{"name":732,"slug":733,"type":15},{"name":748,"slug":749,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":752,"name":752,"fn":753,"description":754,"org":755,"tags":756,"stars":611,"repoUrl":612,"updatedAt":762},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[757,758,759,760,761],{"name":606,"slug":607,"type":15},{"name":726,"slug":727,"type":15},{"name":729,"slug":730,"type":15},{"name":628,"slug":629,"type":15},{"name":732,"slug":733,"type":15},"2026-05-13T06:14:17.582229",267,{"items":765,"total":851},[766,783,796,808,819,830,839],{"slug":767,"name":767,"fn":768,"description":769,"org":770,"tags":771,"stars":28,"repoUrl":29,"updatedAt":782},"council-plan","perform multi-model council planning","Multi-model council planning for implementation and architecture decisions. Use when the user asks to 'plan with council', 'multi-model plan', 'get different perspectives on approach', 'council plan', or wants multiple models to independently propose plans for the same task. Also use when the user asks to 'debate approaches', 'compare strategies', or 'cross-plan'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[772,775,776,779],{"name":773,"slug":774,"type":15},"Architecture","architecture",{"name":26,"slug":27,"type":15},{"name":777,"slug":778,"type":15},"Multi-Agent","multi-agent",{"name":780,"slug":781,"type":15},"System Design","system-design","2026-05-13T06:14:08.529779",{"slug":784,"name":784,"fn":785,"description":786,"org":787,"tags":788,"stars":28,"repoUrl":29,"updatedAt":795},"council-review","perform multi-model council code reviews","Multi-model council review for diffs, pull requests, and risky changes. It is CRITICAL to use this skill after ANY non-trivial development phase — changes are usually not 100% correct. Development CANNOT be called done until the code has been reviewed. Use whenever the user asks for a review, PR feedback, a bug hunt in recent edits, or wants multiple models to inspect the same change independently. Also use when the user asks to 'discuss findings', 'cross-review', or 'debate' review results between models.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[789,790,791,792],{"name":20,"slug":21,"type":15},{"name":26,"slug":27,"type":15},{"name":777,"slug":778,"type":15},{"name":793,"slug":794,"type":15},"Pull Requests","pull-requests","2026-05-13T06:14:07.202801",{"slug":797,"name":797,"fn":798,"description":799,"org":800,"tags":801,"stars":28,"repoUrl":29,"updatedAt":807},"follow-goal","manage agent goals and stopping conditions","Give the agent a durable objective with a verifiable stopping condition, then keep iterating across turns until that condition is met. Use when the user says 'set a goal', 'follow a goal', '\u002Fgoal …', 'keep working until …', or asks for a long-running task with a clear end state (migrations, large refactors, retry-until-green loops, experiments).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[802,803,804],{"name":603,"slug":604,"type":15},{"name":9,"slug":8,"type":15},{"name":805,"slug":806,"type":15},"Productivity","productivity","2026-07-07T06:54:04.263607",{"slug":809,"name":809,"fn":810,"description":811,"org":812,"tags":813,"stars":28,"repoUrl":29,"updatedAt":818},"inbox-add-reaction","add reactions to GitHub issues and PRs","Add a reaction to a GitHub issue or pull request",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[814,817],{"name":815,"slug":816,"type":15},"GitHub","github",{"name":793,"slug":794,"type":15},"2026-07-07T06:53:33.958298",{"slug":820,"name":820,"fn":821,"description":822,"org":823,"tags":824,"stars":28,"repoUrl":29,"updatedAt":829},"inbox-install-gh-cli","install GitHub CLI","Install the GitHub CLI (gh) if not already installed",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[825,828],{"name":826,"slug":827,"type":15},"CLI","cli",{"name":815,"slug":816,"type":15},"2026-05-13T06:14:05.911879",{"slug":831,"name":831,"fn":832,"description":833,"org":834,"tags":835,"stars":28,"repoUrl":29,"updatedAt":838},"inbox-mark-all-read","mark GitHub notifications as read","Mark all GitHub notifications as read",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[836,837],{"name":815,"slug":816,"type":15},{"name":805,"slug":806,"type":15},"2026-05-13T06:14:02.019522",{"slug":840,"name":840,"fn":841,"description":842,"org":843,"tags":844,"stars":28,"repoUrl":29,"updatedAt":850},"inbox-memory","manage agent memory and rules","Read and write agent storage — memory and rules with environment-aware fallback",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[845,846,847],{"name":603,"slug":604,"type":15},{"name":712,"slug":713,"type":15},{"name":848,"slug":849,"type":15},"Memory","memory","2026-05-13T06:14:00.740431",14]