{"id":"466913eb-ac90-4d1a-a671-0c5e1c56b41a","shortId":"wtErqE","kind":"skill","title":"azure-content-safety","tagline":"Expert knowledge for Azure AI Content Safety development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using Content Safety APIs, Docke","description":"# Azure AI Content Safety Skill\n\nThis skill provides expert guidance for Azure AI Content Safety. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.\n\n## How to Use This Skill\n\n> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file\n\n> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)\n\nThis skill requires **network access** to fetch documentation content:\n- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.\n- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.\n\n## Category Index\n\n| Category | Lines | Description |\n|----------|-------|-------------|\n| Troubleshooting | L37-L41 | Diagnosing and resolving Azure AI Content Safety API errors, including HTTP status codes, common failure causes, and recommended fixes or retries. |\n| Best Practices | L42-L46 | Tuning Content Safety thresholds, categories, and prompts to reduce misclassifications, plus strategies to balance safety, recall, and user experience. |\n| Decision Making | L47-L52 | Guidance on migrating apps from Content Safety preview to GA and deciding when and how to use limited-access Content Safety features and models. |\n| Architecture & Design Patterns | L53-L57 | Architectural guidance for combining cloud, hybrid, and on-device Azure AI Content Safety, including design patterns, deployment options, and integration strategies. |\n| Limits & Quotas | L58-L64 | Language coverage, building and training custom safety categories, and detecting protected/third‑party code in model outputs. |\n| Security | L65-L69 | Details on how Azure AI Content Safety encrypts data at rest, including encryption models, key management options, and compliance/security considerations. |\n| Configuration | L70-L74 | Configuring and using text blocklists in Azure AI Content Safety, including creating, managing, and applying custom blocked terms to filter harmful or unwanted content. |\n| Integrations & Coding Patterns | L75-L79 | Using the groundedness detection API to check if AI responses are supported by source content, with request/response formats, parameters, and integration patterns |\n| Deployment | L80-L86 | How to install, configure, and run Azure AI Content Safety Docker containers for text, image, and prompt shield analysis in your own environment. |\n\n### Troubleshooting\n| Topic | URL |\n|-------|-----|\n| Resolve Azure AI Content Safety API error codes | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/concepts/response-codes |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Reduce false positives and negatives in Content Safety | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/improve-performance |\n\n### Decision Making\n| Topic | URL |\n|-------|-----|\n| Migrate apps from Content Safety preview to GA | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/migrate-to-general-availability |\n| Decide when to use limited access Content Safety features | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/limited-access |\n\n### Architecture & Design Patterns\n| Topic | URL |\n|-------|-----|\n| Design hybrid and on-device Content Safety solutions | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/embedded-content-safety |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Check language support for Azure AI Content Safety | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/language-support |\n| Create and train custom categories with Content Safety | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-custom-categories |\n| Use protected material detection for code outputs | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-protected-material-code |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Understand data-at-rest encryption in Content Safety | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/encrypt-data-at-rest |\n\n### Configuration\n| Topic | URL |\n|-------|-----|\n| Configure and use text blocklists in Content Safety | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/use-blocklist |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Use Azure AI Content Safety groundedness detection API | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-groundedness |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Deploy image analysis Content Safety container with Docker | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/image-container |\n| Install and run Azure Content Safety Docker containers | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/install-run-container |\n| Run Prompt Shields Content Safety container for prompt attacks | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/prompt-shields-container |\n| Deploy text analysis Content Safety container with Docker | https://learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/text-container |","tags":["azure","content","safety","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-content-safety","topic-agent","topic-agent-skills","topic-agentic-skills","topic-agentskill","topic-ai-agents","topic-ai-coding","topic-azure","topic-azure-functions","topic-azure-kubernetes-service","topic-azure-openai","topic-azure-sql-database","topic-azure-storage"],"categories":["Agent-Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-content-safety","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add MicrosoftDocs/Agent-Skills","source_repo":"https://github.com/MicrosoftDocs/Agent-Skills","install_from":"skills.sh"}},"qualityScore":"0.698","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 497 github stars · SKILL.md body (5,907 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:53:30.078Z","embedding":null,"createdAt":"2026-04-18T21:58:36.131Z","updatedAt":"2026-04-22T06:53:30.078Z","lastSeenAt":"2026-04-22T06:53:30.078Z","tsv":"'/en-us/azure/ai-services/content-safety/concepts/response-codes':466 '/en-us/azure/ai-services/content-safety/how-to/containers/image-container':620 '/en-us/azure/ai-services/content-safety/how-to/containers/install-run-container':631 '/en-us/azure/ai-services/content-safety/how-to/containers/prompt-shields-container':643 '/en-us/azure/ai-services/content-safety/how-to/containers/text-container':654 '/en-us/azure/ai-services/content-safety/how-to/embedded-content-safety':525 '/en-us/azure/ai-services/content-safety/how-to/encrypt-data-at-rest':576 '/en-us/azure/ai-services/content-safety/how-to/improve-performance':481 '/en-us/azure/ai-services/content-safety/how-to/migrate-to-general-availability':496 '/en-us/azure/ai-services/content-safety/how-to/use-blocklist':590 '/en-us/azure/ai-services/content-safety/language-support':540 '/en-us/azure/ai-services/content-safety/limited-access':508 '/en-us/azure/ai-services/content-safety/quickstart-custom-categories':551 '/en-us/azure/ai-services/content-safety/quickstart-groundedness':606 '/en-us/azure/ai-services/content-safety/quickstart-protected-material-code':561 '/microsoftdocs/mcp/blob/main/readme.md)':170 '3':141 'accept':209 'access':175,291,502 'agent':90,134,193,207 'ai':9,39,50,226,314,354,381,412,437,458,535,598 'analysi':448,612,646 'api':36,229,408,461,603 'app':275,487 'appli':388 'architectur':19,59,297,303,509 'attack':640 'avail':160 'azur':2,8,38,49,225,313,353,380,436,457,534,597,624 'azure-content-safeti':1 'balanc':261 'best':15,55,243,467 'block':390 'blocklist':378,584 'build':332 'capabl':82 'categori':93,101,117,213,215,252,337,545 'caus':237 'check':410,530 'cloud':307 'code':27,67,234,342,399,463,557,592 'combin':72,306 'common':235 'compliance/security':368 'configur':25,65,370,374,433,577,580 'consider':369 'contain':441,615,628,637,649 'content':3,10,34,40,51,77,179,227,249,277,292,315,355,382,397,418,438,459,477,489,503,520,536,547,572,586,599,613,625,635,647 'cover':53 'coverag':331 'creat':385,541 'custom':335,389,544 'data':358,567 'data-at-rest':566 'decid':283,497 'decis':17,57,267,482 'deploy':30,70,320,426,607,610,644 'descript':217 'design':20,60,298,318,510,514 'detail':350 'detect':339,407,555,602 'develop':12 'devic':312,519 'diagnos':222 'doc':185 'dock':37 'docker':440,617,627,651 'document':80,178 'e.g':105,121 'encrypt':357,362,570 'environ':452 'error':230,462 'experi':266 'expert':5,46 'failur':236 'fallback':197 'fals':472 'featur':294,505 'fetch':81,177,186,199 'file':111,119,126,131 'filter':393 'fix':240 'format':421 'ga':281,493 'github.com':169 'github.com/microsoftdocs/mcp/blob/main/readme.md)':168 'grounded':406,601 'guid':167 'guidanc':47,272,304 'harm':394 'http':232 'hybrid':308,515 'imag':444,611 'import':88,132 'includ':13,231,317,361,384 'index':94,214 'instal':164,166,432,621 'integr':26,66,323,398,424,591 'key':364 'knowledg':6 'l120':108 'l35':107 'l35-l120':106 'l37':220 'l37-l41':219 'l41':221 'l42':246 'l42-l46':245 'l46':247 'l47':270 'l47-l52':269 'l52':271 'l53':301 'l53-l57':300 'l57':302 'l58':328 'l58-l64':327 'l64':329 'l65':348 'l65-l69':347 'l69':349 'l70':372 'l70-l74':371 'l74':373 'l75':402 'l75-l79':401 'l79':403 'l80':428 'l80-l86':427 'l86':429 'languag':330,531 'latest':149 'learn':192,206 'learn-agent-skil':191,205 'learn.microsoft.com':465,480,495,507,524,539,550,560,575,589,605,619,630,642,653 'learn.microsoft.com/en-us/azure/ai-services/content-safety/concepts/response-codes':464 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/image-container':618 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/install-run-container':629 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/prompt-shields-container':641 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/containers/text-container':652 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/embedded-content-safety':523 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/encrypt-data-at-rest':574 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/improve-performance':479 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/migrate-to-general-availability':494 'learn.microsoft.com/en-us/azure/ai-services/content-safety/how-to/use-blocklist':588 'learn.microsoft.com/en-us/azure/ai-services/content-safety/language-support':538 'learn.microsoft.com/en-us/azure/ai-services/content-safety/limited-access':506 'learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-custom-categories':549 'learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-groundedness':604 'learn.microsoft.com/en-us/azure/ai-services/content-safety/quickstart-protected-material-code':559 'limit':22,62,290,325,501,526 'limited-access':289 'line':103,115,216 'link':120,129 'local':73 'locat':97 'make':18,58,268,483 'manag':365,386 'markdown':196,212 'materi':554 'mcp':155,182 'metadata.generated':136 'microsoft':184 'microsoftdoc':156,183 'migrat':274,486 'misclassif':257 'model':296,344,363 'month':142 'negat':475 'network':174 'old':143 'on-devic':310,517 'option':321,366 'output':345,558 'paramet':422 'parti':341 'pattern':21,28,61,68,299,319,400,425,511,593 'plus':258 'posit':473 'practic':16,56,244,468 'prefer':180 'preview':279,491 'prompt':254,446,633,639 'protect':553 'protected/third':340 'provid':45 'pull':147 'queri':188,202 'quick':75 'quick-refer':74 'quota':23,63,326,527 'rang':104 'read':110,125 'recal':263 'recommend':239 'reduc':256,471 'refer':76,130 'relev':98 'remot':79 'repositori':153 'request/response':420 'requir':173 'resolv':224,456 'respons':413 'rest':360,569 'retri':242 'return':195,211 'run':435,623,632 'safeti':4,11,35,41,52,228,250,262,278,293,316,336,356,383,439,460,478,490,504,521,537,548,573,587,600,614,626,636,648 'section':99 'secur':24,64,346,562 'security.md':122,123 'shield':447,634 'skill':42,44,87,172,194,208 'skill-azure-content-safety' 'solut':522 'sourc':417 'source-microsoftdocs' 'specifi':114 'status':233 'strategi':259,324 'string':189,203 'suggest':144,161 'support':415,532 'term':391 'text':377,443,583,645 'text/markdown':210 'threshold':251 'tool':157 'topic':454,469,484,512,528,563,578,594,608 'topic-agent' 'topic-agent-skills' 'topic-agentic-skills' 'topic-agentskill' 'topic-ai-agents' 'topic-ai-coding' 'topic-azure' 'topic-azure-functions' 'topic-azure-kubernetes-service' 'topic-azure-openai' 'topic-azure-sql-database' 'topic-azure-storage' 'train':334,543 'troubleshoot':14,54,218,453 'tune':248 'understand':565 'unwant':396 'url':455,470,485,513,529,564,579,595,609 'use':31,33,85,91,109,124,181,198,288,376,404,500,552,582,596 'user':146,163,265 'version':150 'webpag':200","prices":[{"id":"2e07a135-ec19-4c00-8818-88e53f2afaba","listingId":"466913eb-ac90-4d1a-a671-0c5e1c56b41a","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"MicrosoftDocs","category":"Agent-Skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:58:36.131Z"}],"sources":[{"listingId":"466913eb-ac90-4d1a-a671-0c5e1c56b41a","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-content-safety","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-content-safety","isPrimary":false,"firstSeenAt":"2026-04-18T21:58:36.131Z","lastSeenAt":"2026-04-22T06:53:30.078Z"}],"details":{"listingId":"466913eb-ac90-4d1a-a671-0c5e1c56b41a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-content-safety","github":{"repo":"MicrosoftDocs/Agent-Skills","stars":497,"topics":["agent","agent-skills","agentic-skills","agentskill","ai","ai-agents","ai-coding","azure","azure-functions","azure-kubernetes-service","azure-openai","azure-sql-database","azure-storage","azure-virtual-machine","claude-code","github-copilot","microsoft-learn","openai-codex","skills"],"license":"cc-by-4.0","html_url":"https://github.com/MicrosoftDocs/Agent-Skills","pushed_at":"2026-04-22T01:37:27Z","description":"Curated Agent Skills for Microsoft & Azure – giving AI coding assistants structured, real-time expertise from Microsoft Learn docs.","skill_md_sha":"f65f92d3d2ffec0fc68e7b596d11083fbb0865b8","skill_md_path":"skills/azure-content-safety/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-content-safety"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-content-safety","description":"Expert knowledge for Azure AI Content Safety development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using Content Safety APIs, Docker containers, blocklists, groundedness checks, or custom safety categories, and other Azure AI Content Safety related development tasks. Not for Azure Information Protection (use azure-information-protection), Azure Security (use azure-security), Azure Sentinel (use azure-sentinel), Azure Defender For Cloud (use azure-defender-for-cloud).","compatibility":"Requires network access. Uses mcp_microsoftdocs:microsoft_docs_fetch or fetch_webpage to retrieve documentation."},"skills_sh_url":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-content-safety"},"updatedAt":"2026-04-22T06:53:30.078Z"}}