{"id":"0bf1f00e-d1ac-4723-b8aa-4c0cc8c45f3c","shortId":"CNV4bv","kind":"skill","title":"azure-immersive-reader","tagline":"Expert knowledge for Azure AI Immersive Reader development including best practices, limits & quotas, security, configuration, and integrations & coding patterns. Use when tuning read-aloud/translation, storing user prefs, Entra auth setup, JS SDK integration, or language support","description":"# Azure AI Immersive Reader Skill\n\nThis skill provides expert guidance for Azure AI Immersive Reader. Covers best practices, limits & quotas, security, configuration, and integrations & coding patterns. 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| Best Practices | L33-L37 | Guidance on improving Immersive Reader performance by caching authentication tokens, including token reuse patterns and reducing auth overhead. |\n| Limits & Quotas | L38-L42 | Supported languages and feature availability for Immersive Reader (e.g., which languages work with read-aloud, translation, and other capabilities). |\n| Security | L43-L49 | Configuring Immersive Reader security: creating the resource with Entra auth, managing Entra role assignments, and setting cookie policy and user consent. |\n| Configuration | L50-L56 | Configuring Immersive Reader behavior: read-aloud voice/speed, translation languages and behavior, and storing/managing per-user reading and language preferences. |\n| Integrations & Coding Patterns | L57-L66 | Implementing Immersive Reader in web/iOS apps: launch flows, JS SDK usage, HTML/MathML prep, custom buttons, multi-resource setups, and Vision Read integration. |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Cache Immersive Reader auth tokens for performance | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-cache-token |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Check supported languages for Immersive Reader features | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/language-support |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Create Immersive Reader resource and configure Entra auth | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-create-immersive-reader |\n| Configure Immersive Reader cookie policy and consent | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to/set-cookie-policy |\n| Update Immersive Reader Entra role assignments for security | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/security-how-to-update-role-assignment |\n\n### Configuration\n| Topic | URL |\n|-------|-----|\n| Configure Immersive Reader Read Aloud options | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-configure-read-aloud |\n| Configure translation settings in Immersive Reader | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-configure-translation |\n| Store and manage Immersive Reader user preferences | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-store-user-preferences |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Customize the Immersive Reader launch button | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-customize-launch-button |\n| Launch Azure Immersive Reader from application code | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-launch-immersive-reader |\n| Use multiple Immersive Reader resources in one app | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-multiple-resources |\n| Prepare HTML content for Immersive Reader integration | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-prepare-html |\n| Render MathML expressions in Immersive Reader | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to/display-math |\n| Use the Immersive Reader JavaScript SDK API | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/reference |\n| Build iOS app integrating Vision Read and Immersive Reader | https://learn.microsoft.com/en-us/azure/ai-services/immersive-reader/tutorial-ios-picture-immersive-reader |","tags":["azure","immersive","reader","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-immersive-reader","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-immersive-reader","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 (4,825 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:33.223Z","embedding":null,"createdAt":"2026-04-18T21:59:12.307Z","updatedAt":"2026-04-22T06:53:33.223Z","lastSeenAt":"2026-04-22T06:53:33.223Z","tsv":"'/en-us/azure/ai-services/immersive-reader/how-to-cache-token':356 '/en-us/azure/ai-services/immersive-reader/how-to-configure-read-aloud':417 '/en-us/azure/ai-services/immersive-reader/how-to-configure-translation':426 '/en-us/azure/ai-services/immersive-reader/how-to-create-immersive-reader':384 '/en-us/azure/ai-services/immersive-reader/how-to-customize-launch-button':450 '/en-us/azure/ai-services/immersive-reader/how-to-launch-immersive-reader':460 '/en-us/azure/ai-services/immersive-reader/how-to-multiple-resources':471 '/en-us/azure/ai-services/immersive-reader/how-to-prepare-html':481 '/en-us/azure/ai-services/immersive-reader/how-to-store-user-preferences':436 '/en-us/azure/ai-services/immersive-reader/how-to/display-math':490 '/en-us/azure/ai-services/immersive-reader/how-to/set-cookie-policy':394 '/en-us/azure/ai-services/immersive-reader/language-support':370 '/en-us/azure/ai-services/immersive-reader/reference':500 '/en-us/azure/ai-services/immersive-reader/security-how-to-update-role-assignment':405 '/en-us/azure/ai-services/immersive-reader/tutorial-ios-picture-immersive-reader':512 '/microsoftdocs/mcp/blob/main/readme.md)':168 '/translation':30 '3':139 'accept':207 'access':173 'agent':88,132,191,205 'ai':9,44,55 'aloud':29,259,299,413 'api':497 'app':325,468,503 'applic':456 'assign':281,400 'auth':35,237,277,350,381 'authent':229 'avail':158,248 'azur':2,8,43,54,452 'azure-immersive-read':1 'behavior':296,304 'best':14,59,216,343 'build':501 'button':334,447 'cach':228,347 'capabl':80,263 'categori':91,99,115,211,213 'check':361 'code':22,67,315,438,457 'combin':70 'configur':19,64,268,289,293,379,385,406,409,418 'consent':288,391 'content':75,177,474 'cooki':284,388 'cover':58 'creat':272,374 'custom':333,442 'descript':215 'develop':12 'doc':183 'document':78,176 'e.g':103,119,252 'entra':34,276,279,380,398 'expert':5,51 'express':484 'fallback':195 'featur':247,367 'fetch':79,175,184,197 'file':109,117,124,129 'flow':327 'github.com':167 'github.com/microsoftdocs/mcp/blob/main/readme.md)':166 'guid':165 'guidanc':52,221 'html':473 'html/mathml':331 'immers':3,10,45,56,224,250,269,294,321,348,365,375,386,396,410,422,430,444,453,463,476,486,493,508 'implement':320 'import':86,130 'improv':223 'includ':13,231 'index':92,212 'instal':162,164 'integr':21,39,66,314,342,437,478,504 'io':502 'javascript':495 'js':37,328 'knowledg':6 'l120':106 'l33':219 'l33-l37':218 'l35':105 'l35-l120':104 'l37':220 'l38':242 'l38-l42':241 'l42':243 'l43':266 'l43-l49':265 'l49':267 'l50':291 'l50-l56':290 'l56':292 'l57':318 'l57-l66':317 'l66':319 'languag':41,245,254,302,312,363 'latest':147 'launch':326,446,451 'learn':190,204 'learn-agent-skil':189,203 'learn.microsoft.com':355,369,383,393,404,416,425,435,449,459,470,480,489,499,511 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-cache-token':354 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-configure-read-aloud':415 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-configure-translation':424 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-create-immersive-reader':382 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-customize-launch-button':448 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-launch-immersive-reader':458 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-multiple-resources':469 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-prepare-html':479 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to-store-user-preferences':434 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to/display-math':488 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/how-to/set-cookie-policy':392 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/language-support':368 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/reference':498 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/security-how-to-update-role-assignment':403 'learn.microsoft.com/en-us/azure/ai-services/immersive-reader/tutorial-ios-picture-immersive-reader':510 'limit':16,61,239,357 'line':101,113,214 'link':118,127 'local':71 'locat':95 'manag':278,429 'markdown':194,210 'mathml':483 'mcp':153,180 'metadata.generated':134 'microsoft':182 'microsoftdoc':154,181 'month':140 'multi':336 'multi-resourc':335 'multipl':462 'network':172 'old':141 'one':467 'option':414 'overhead':238 'pattern':23,68,234,316,439 'per':308 'per-us':307 'perform':226,353 'polici':285,389 'practic':15,60,217,344 'pref':33 'prefer':178,313,433 'prep':332 'prepar':472 'provid':50 'pull':145 'queri':186,200 'quick':73 'quick-refer':72 'quota':17,62,240,358 'rang':102 'read':28,108,123,258,298,310,341,412,506 'read-aloud':27,257,297 'reader':4,11,46,57,225,251,270,295,322,349,366,376,387,397,411,423,431,445,454,464,477,487,494,509 'reduc':236 'refer':74,128 'relev':96 'remot':77 'render':482 'repositori':151 'requir':171 'resourc':274,337,377,465 'return':193,209 'reus':233 'role':280,399 'sdk':38,329,496 'section':97 'secur':18,63,264,271,371,402 'security.md':120,121 'set':283,420 'setup':36,338 'skill':47,49,85,170,192,206 'skill-azure-immersive-reader' 'source-microsoftdocs' 'specifi':112 'store':31,427 'storing/managing':306 'string':187,201 'suggest':142,159 'support':42,244,362 'text/markdown':208 'token':230,232,351 'tool':155 'topic':345,359,372,407,440 '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' 'translat':260,301,419 'tune':26 'updat':395 'url':346,360,373,408,441 'usag':330 'use':24,83,89,107,122,179,196,461,491 'user':32,144,161,287,309,432 'version':148 'vision':340,505 'voice/speed':300 'web/ios':324 'webpag':198 'work':255","prices":[{"id":"559a378f-280d-4c00-adc5-36ad4556004c","listingId":"0bf1f00e-d1ac-4723-b8aa-4c0cc8c45f3c","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:59:12.307Z"}],"sources":[{"listingId":"0bf1f00e-d1ac-4723-b8aa-4c0cc8c45f3c","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-immersive-reader","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-immersive-reader","isPrimary":false,"firstSeenAt":"2026-04-18T21:59:12.307Z","lastSeenAt":"2026-04-22T06:53:33.223Z"}],"details":{"listingId":"0bf1f00e-d1ac-4723-b8aa-4c0cc8c45f3c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-immersive-reader","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":"e8bf16926f7c6538fecea29bc1fb1bac31168f02","skill_md_path":"skills/azure-immersive-reader/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-immersive-reader"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-immersive-reader","description":"Expert knowledge for Azure AI Immersive Reader development including best practices, limits & quotas, security, configuration, and integrations & coding patterns. Use when tuning read-aloud/translation, storing user prefs, Entra auth setup, JS SDK integration, or language support, and other Azure AI Immersive Reader related development tasks. Not for Azure AI Language (use azure-language-service), Azure AI Speech (use azure-speech), Azure Translator (use azure-translator), Azure AI services (use microsoft-foundry-tools).","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-immersive-reader"},"updatedAt":"2026-04-22T06:53:33.223Z"}}