{"id":"59e30350-ed07-4142-81c8-c7440103921c","shortId":"JQMUTM","kind":"skill","title":"azure-fluid-relay","tagline":"Expert knowledge for Azure Fluid Relay development including troubleshooting, best practices, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using AzureClient, audience APIs, JWT auth tokens, container recovery, or Static Web Ap","description":"# Azure Fluid Relay Skill\n\nThis skill provides expert guidance for Azure Fluid Relay. Covers troubleshooting, best practices, 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 | L35-L39 | Recovering from corrupted Azure Fluid Relay container data, including detection, mitigation steps, and restoring or reconstructing data to resume collaboration. |\n| Best Practices | L40-L44 | Guidance on integrating Azure Fluid Relay with test automation frameworks, setting up automated tests, and validating Fluid collaboration scenarios in CI/CD workflows. |\n| Limits & Quotas | L45-L49 | Details on Azure Fluid Relay capacity limits, throttling behavior, quotas per tenant/container, and guidance to avoid or handle rate limiting and overuse scenarios. |\n| Security | L50-L60 | Securing Fluid Relay apps: auth/JWT design, token providers, key rotation, CMK and data encryption, and validating container creator identity. |\n| Configuration | L61-L66 | Configuring compatible Fluid Framework client/server versions with Azure Fluid Relay and deleting Fluid Relay containers via Azure CLI. |\n| Integrations & Coding Patterns | L67-L73 | Building Fluid apps with AzureClient: connecting to Azure Fluid Relay, configuring local dev/test mode, and using audience APIs with React for presence and user management |\n| Deployment | L74-L77 | Guidance for deploying Fluid Framework apps with Azure Fluid Relay to Azure Static Web Apps, including setup, configuration, and integration steps for hosting collaborative apps. |\n\n### Troubleshooting\n| Topic | URL |\n|-------|-----|\n| Recover corrupted Azure Fluid Relay container data | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/container-recovery |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Use test automation frameworks with Azure Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/test-automation |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Review Azure Fluid Relay service limits and throttling | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/reference/service-limits |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Implement authentication and authorization for Fluid Relay apps | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/authentication-authorization |\n| Use customer-managed keys with Azure Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/customer-managed-keys |\n| Configure data encryption for Azure Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/data-encryption |\n| Implement a secure TokenProvider with Azure Functions for Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/azure-function-token-provider |\n| Understand and configure Azure Fluid Relay JWT token contract | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/fluid-json-web-token |\n| Rotate Azure Fluid Relay tenant access keys securely | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/rotate-fluid-relay-access-keys |\n| Validate container creator identity in Azure Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/validate-document-creator |\n\n### Configuration\n| Topic | URL |\n|-------|-----|\n| Configure Fluid Framework versions compatible with Azure Fluid Relay | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility |\n| Delete Azure Fluid Relay containers using Azure CLI | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/container-deletion |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Connect applications to Azure Fluid Relay using AzureClient | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/connect-fluid-azure-service |\n| Configure AzureClient local mode for Fluid app testing | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/local-mode-with-azure-client |\n| Use Fluid Framework audience features with React and AzureClient | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/use-audience-in-fluid |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Deploy Fluid applications to Azure Static Web Apps | https://learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/deploy-fluid-static-web-apps |","tags":["azure","fluid","relay","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-fluid-relay","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-fluid-relay","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,501 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:32.719Z","embedding":null,"createdAt":"2026-04-18T21:59:06.842Z","updatedAt":"2026-04-22T06:53:32.719Z","lastSeenAt":"2026-04-22T06:53:32.719Z","tsv":"'/en-us/azure/azure-fluid-relay/concepts/authentication-authorization':453 '/en-us/azure/azure-fluid-relay/concepts/customer-managed-keys':465 '/en-us/azure/azure-fluid-relay/concepts/data-encryption':475 '/en-us/azure/azure-fluid-relay/concepts/version-compatibility':537 '/en-us/azure/azure-fluid-relay/how-tos/azure-function-token-provider':488 '/en-us/azure/azure-fluid-relay/how-tos/connect-fluid-azure-service':564 '/en-us/azure/azure-fluid-relay/how-tos/container-deletion':548 '/en-us/azure/azure-fluid-relay/how-tos/container-recovery':409 '/en-us/azure/azure-fluid-relay/how-tos/deploy-fluid-static-web-apps':601 '/en-us/azure/azure-fluid-relay/how-tos/fluid-json-web-token':500 '/en-us/azure/azure-fluid-relay/how-tos/local-mode-with-azure-client':575 '/en-us/azure/azure-fluid-relay/how-tos/rotate-fluid-relay-access-keys':511 '/en-us/azure/azure-fluid-relay/how-tos/test-automation':424 '/en-us/azure/azure-fluid-relay/how-tos/use-audience-in-fluid':587 '/en-us/azure/azure-fluid-relay/how-tos/validate-document-creator':522 '/en-us/azure/azure-fluid-relay/reference/service-limits':439 '/microsoftdocs/mcp/blob/main/readme.md)':165 '3':136 'accept':204 'access':170,506 'agent':85,129,188,202 'ap':39 'api':30,360 'app':299,345,377,386,396,450,571,598 'applic':555,593 'audienc':29,359,579 'auth':32 'auth/jwt':300 'authent':444 'author':446 'autom':250,254,416 'avail':155 'avoid':284 'azur':2,8,40,50,220,245,271,326,335,350,379,383,402,419,430,460,470,481,492,502,517,532,539,544,557,595 'azure-fluid-relay':1 'azurecli':28,347,561,566,584 'behavior':277 'best':14,55,237,410 'build':343 'capabl':77 'capac':274 'categori':88,96,112,208,210 'ci/cd':262 'cli':336,545 'client/server':323 'cmk':306 'code':21,62,338,550 'collabor':236,259,395 'combin':67 'compat':320,530 'configur':19,60,315,319,353,389,466,491,523,526,565 'connect':348,554 'contain':34,223,312,333,405,513,542 'content':72,174 'contract':497 'corrupt':219,401 'cover':53 'creator':313,514 'custom':456 'customer-manag':455 'data':224,233,308,406,467 'delet':330,538 'deploy':24,65,368,374,588,591 'descript':212 'design':301 'detail':269 'detect':226 'dev/test':355 'develop':11 'doc':180 'document':75,173 'e.g':100,116 'encrypt':309,468 'expert':5,47 'fallback':192 'featur':580 'fetch':76,172,181,194 'file':106,114,121,126 'fluid':3,9,41,51,221,246,258,272,297,321,327,331,344,351,375,380,403,420,431,448,461,471,484,493,503,518,527,533,540,558,570,577,592 'framework':251,322,376,417,528,578 'function':482 'github.com':164 'github.com/microsoftdocs/mcp/blob/main/readme.md)':163 'guid':162 'guidanc':48,242,282,372 'handl':286 'host':394 'ident':314,515 'implement':443,476 'import':83,127 'includ':12,225,387 'index':89,209 'instal':159,161 'integr':20,61,244,337,391,549 'jwt':31,495 'key':304,458,507 'knowledg':6 'l120':103 'l35':102,215 'l35-l120':101 'l35-l39':214 'l39':216 'l40':240 'l40-l44':239 'l44':241 'l45':267 'l45-l49':266 'l49':268 'l50':294 'l50-l60':293 'l60':295 'l61':317 'l61-l66':316 'l66':318 'l67':341 'l67-l73':340 'l73':342 'l74':370 'l74-l77':369 'l77':371 'latest':144 'learn':187,201 'learn-agent-skil':186,200 'learn.microsoft.com':408,423,438,452,464,474,487,499,510,521,536,547,563,574,586,600 'learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/authentication-authorization':451 'learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/customer-managed-keys':463 'learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/data-encryption':473 'learn.microsoft.com/en-us/azure/azure-fluid-relay/concepts/version-compatibility':535 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/azure-function-token-provider':486 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/connect-fluid-azure-service':562 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/container-deletion':546 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/container-recovery':407 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/deploy-fluid-static-web-apps':599 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/fluid-json-web-token':498 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/local-mode-with-azure-client':573 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/rotate-fluid-relay-access-keys':509 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/test-automation':422 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/use-audience-in-fluid':585 'learn.microsoft.com/en-us/azure/azure-fluid-relay/how-tos/validate-document-creator':520 'learn.microsoft.com/en-us/azure/azure-fluid-relay/reference/service-limits':437 'limit':16,57,264,275,288,425,434 'line':98,110,211 'link':115,124 'local':68,354,567 'locat':92 'manag':367,457 'markdown':191,207 'mcp':150,177 'metadata.generated':131 'microsoft':179 'microsoftdoc':151,178 'mitig':227 'mode':356,568 'month':137 'network':169 'old':138 'overus':290 'pattern':22,63,339,551 'per':279 'practic':15,56,238,411 'prefer':175 'presenc':364 'provid':46,303 'pull':142 'queri':183,197 'quick':70 'quick-refer':69 'quota':17,58,265,278,426 'rang':99 'rate':287 'react':362,582 'read':105,120 'reconstruct':232 'recov':217,400 'recoveri':35 'refer':71,125 'relay':4,10,42,52,222,247,273,298,328,332,352,381,404,421,432,449,462,472,485,494,504,519,534,541,559 'relev':93 'remot':74 'repositori':148 'requir':168 'restor':230 'resum':235 'return':190,206 'review':429 'rotat':305,501 'scenario':260,291 'section':94 'secur':18,59,292,296,440,478,508 'security.md':117,118 'servic':433 'set':252 'setup':388 'skill':43,45,82,167,189,203 'skill-azure-fluid-relay' 'source-microsoftdocs' 'specifi':109 'static':37,384,596 'step':228,392 'string':184,198 'suggest':139,156 'tenant':505 'tenant/container':280 'test':249,255,415,572 'text/markdown':205 'throttl':276,436 'token':33,302,496 'tokenprovid':479 'tool':152 'topic':398,412,427,441,524,552,589 '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' 'troubleshoot':13,54,213,397 'understand':489 'url':399,413,428,442,525,553,590 'use':25,27,80,86,104,119,176,193,358,414,454,543,560,576 'user':141,158,366 'valid':257,311,512 'version':145,324,529 'via':334 'web':38,385,597 'webpag':195 'workflow':263","prices":[{"id":"30b301df-f033-4df1-9ed0-7df12e42f32a","listingId":"59e30350-ed07-4142-81c8-c7440103921c","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:06.842Z"}],"sources":[{"listingId":"59e30350-ed07-4142-81c8-c7440103921c","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-fluid-relay","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-fluid-relay","isPrimary":false,"firstSeenAt":"2026-04-18T21:59:06.842Z","lastSeenAt":"2026-04-22T06:53:32.719Z"}],"details":{"listingId":"59e30350-ed07-4142-81c8-c7440103921c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-fluid-relay","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":"f8b0979ae912cd1126987b4b52429e0996074a6f","skill_md_path":"skills/azure-fluid-relay/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-fluid-relay"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-fluid-relay","description":"Expert knowledge for Azure Fluid Relay development including troubleshooting, best practices, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using AzureClient, audience APIs, JWT auth tokens, container recovery, or Static Web Apps hosting, and other Azure Fluid Relay related development tasks. Not for Azure Web PubSub (use azure-web-pubsub), Azure SignalR Service (use azure-signalr-service), Azure Relay (use azure-relay), Azure Service Bus (use azure-service-bus).","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-fluid-relay"},"updatedAt":"2026-04-22T06:53:32.719Z"}}