{"id":"c3c59fc5-045b-4ab0-bc54-e5dc7eb70302","shortId":"p6837a","kind":"skill","title":"azure-firmware-analysis","tagline":"Expert knowledge for Azure Firmware Analysis development including troubleshooting, best practices, limits & quotas, security, integrations & coding patterns, and deployment. Use when scanning firmware images, interpreting SBOM paths, using UEFI analysis, or automating uploads vi","description":"# Azure Firmware Analysis Skill\n\nThis skill provides expert guidance for Azure Firmware Analysis. Covers troubleshooting, best practices, limits & quotas, security, 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 | L34-L38 | Diagnosing and fixing common Azure Firmware Analysis issues, including upload/scan failures, unsupported firmware formats, permission/config problems, and how to interpret error messages. |\n| Best Practices | L39-L45 | Using Azure Firmware Analysis to scan firmware images, interpret SBOM extractor paths, and prioritize discovered vulnerabilities and weaknesses for remediation |\n| Limits & Quotas | L46-L50 | Details on what UEFI firmware analysis can and cannot do in Azure Firmware Analysis, including supported features, scanning limits, and resource/usage quotas. |\n| Security | L51-L56 | Managing secure access to Azure Firmware Analysis using service principals and configuring role-based access control (RBAC) permissions for users and apps |\n| Integrations & Coding Patterns | L57-L63 | How to programmatically upload firmware for analysis in Azure using CLI, PowerShell, or Python, including auth, commands/scripts, and basic automation patterns. |\n| Deployment | L64-L69 | How to provision and deploy an Azure Firmware Analysis workspace using infrastructure-as-code tools: ARM templates, Bicep, and Terraform configuration and setup. |\n\n### Troubleshooting\n| Topic | URL |\n|-------|-----|\n| Resolve common issues in Azure firmware analysis | https://learn.microsoft.com/en-us/azure/firmware-analysis/firmware-analysis-faq |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Interpret SBOM extractor paths in firmware analysis | https://learn.microsoft.com/en-us/azure/firmware-analysis/interpreting-extractor-paths |\n| Analyze firmware images with Azure firmware analysis | https://learn.microsoft.com/en-us/azure/firmware-analysis/tutorial-analyze-firmware |\n| Prioritize firmware weaknesses using analysis results | https://learn.microsoft.com/en-us/azure/firmware-analysis/understand-weaknesses-data |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Understand UEFI analysis capabilities and limits in firmware analysis | https://learn.microsoft.com/en-us/azure/firmware-analysis/unified-extensible-firmware-interface-firmware-analysis |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Automate firmware analysis with service principals | https://learn.microsoft.com/en-us/azure/firmware-analysis/automate-firmware-analysis-service-principals |\n| Configure RBAC access for Azure firmware analysis | https://learn.microsoft.com/en-us/azure/firmware-analysis/firmware-analysis-rbac |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Upload firmware to Azure analysis using CLI | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-azure-command-line-interface |\n| Upload firmware to Azure analysis with PowerShell | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-powershell |\n| Upload firmware to Azure analysis using Python | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-python |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Deploy firmware analysis workspace via ARM template | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-arm |\n| Deploy firmware analysis workspace with Bicep | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-bicep |\n| Provision firmware analysis workspace using Terraform | https://learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-terraform |","tags":["azure","firmware","analysis","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-firmware-analysis","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-firmware-analysis","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,817 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.652Z","embedding":null,"createdAt":"2026-04-18T21:59:06.089Z","updatedAt":"2026-04-22T06:53:32.652Z","lastSeenAt":"2026-04-22T06:53:32.652Z","tsv":"'/en-us/azure/firmware-analysis/automate-firmware-analysis-service-principals':444 '/en-us/azure/firmware-analysis/firmware-analysis-faq':383 '/en-us/azure/firmware-analysis/firmware-analysis-rbac':454 '/en-us/azure/firmware-analysis/interpreting-extractor-paths':397 '/en-us/azure/firmware-analysis/quickstart-firmware-analysis-arm':502 '/en-us/azure/firmware-analysis/quickstart-firmware-analysis-bicep':511 '/en-us/azure/firmware-analysis/quickstart-firmware-analysis-terraform':520 '/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-azure-command-line-interface':469 '/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-powershell':479 '/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-python':489 '/en-us/azure/firmware-analysis/tutorial-analyze-firmware':407 '/en-us/azure/firmware-analysis/understand-weaknesses-data':416 '/en-us/azure/firmware-analysis/unified-extensible-firmware-interface-firmware-analysis':432 '/microsoftdocs/mcp/blob/main/readme.md)':163 '3':134 'accept':202 'access':168,295,308,447 'agent':83,127,186,200 'analysi':4,10,34,41,51,221,245,272,280,299,328,355,380,394,404,412,423,429,438,451,464,474,484,495,505,514 'analyz':398 'app':315 'arm':363,498 'auth':337 'autom':36,341,436 'avail':153 'azur':2,8,39,49,219,243,278,297,330,353,378,402,449,463,473,483 'azure-firmware-analysi':1 'base':307 'basic':340 'best':14,54,237,384 'bicep':365,508 'cannot':275 'capabl':75,424 'categori':86,94,110,206,208 'cli':332,466 'code':20,60,317,361,456 'combin':65 'commands/scripts':338 'common':218,375 'configur':304,368,445 'content':70,172 'control':309 'cover':52 'deploy':23,63,343,351,490,493,503 'descript':210 'detail':267 'develop':11 'diagnos':215 'discov':256 'doc':178 'document':73,171 'e.g':98,114 'error':235 'expert':5,46 'extractor':252,390 'failur':225 'fallback':190 'featur':283 'fetch':74,170,179,192 'file':104,112,119,124 'firmwar':3,9,27,40,50,220,227,244,248,271,279,298,326,354,379,393,399,403,409,428,437,450,461,471,481,494,504,513 'fix':217 'format':228 'github.com':162 'github.com/microsoftdocs/mcp/blob/main/readme.md)':161 'guid':160 'guidanc':47 'imag':28,249,400 'import':81,125 'includ':12,223,281,336 'index':87,207 'infrastructur':359 'infrastructure-as-cod':358 'instal':157,159 'integr':19,59,316,455 'interpret':29,234,250,388 'issu':222,376 'knowledg':6 'l120':101 'l34':213 'l34-l38':212 'l35':100 'l35-l120':99 'l38':214 'l39':240 'l39-l45':239 'l45':241 'l46':265 'l46-l50':264 'l50':266 'l51':291 'l51-l56':290 'l56':292 'l57':320 'l57-l63':319 'l63':321 'l64':345 'l64-l69':344 'l69':346 'latest':142 'learn':185,199 'learn-agent-skil':184,198 'learn.microsoft.com':382,396,406,415,431,443,453,468,478,488,501,510,519 'learn.microsoft.com/en-us/azure/firmware-analysis/automate-firmware-analysis-service-principals':442 'learn.microsoft.com/en-us/azure/firmware-analysis/firmware-analysis-faq':381 'learn.microsoft.com/en-us/azure/firmware-analysis/firmware-analysis-rbac':452 'learn.microsoft.com/en-us/azure/firmware-analysis/interpreting-extractor-paths':395 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-arm':500 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-bicep':509 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-firmware-analysis-terraform':518 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-azure-command-line-interface':467 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-powershell':477 'learn.microsoft.com/en-us/azure/firmware-analysis/quickstart-upload-firmware-using-python':487 'learn.microsoft.com/en-us/azure/firmware-analysis/tutorial-analyze-firmware':405 'learn.microsoft.com/en-us/azure/firmware-analysis/understand-weaknesses-data':414 'learn.microsoft.com/en-us/azure/firmware-analysis/unified-extensible-firmware-interface-firmware-analysis':430 'limit':16,56,262,285,417,426 'line':96,108,209 'link':113,122 'local':66 'locat':90 'manag':293 'markdown':189,205 'mcp':148,175 'messag':236 'metadata.generated':129 'microsoft':177 'microsoftdoc':149,176 'month':135 'network':167 'old':136 'path':31,253,391 'pattern':21,61,318,342,457 'permiss':311 'permission/config':229 'powershel':333,476 'practic':15,55,238,385 'prefer':173 'princip':302,441 'priorit':255,408 'problem':230 'programmat':324 'provid':45 'provis':349,512 'pull':140 'python':335,486 'queri':181,195 'quick':68 'quick-refer':67 'quota':17,57,263,288,418 'rang':97 'rbac':310,446 'read':103,118 'refer':69,123 'relev':91 'remedi':261 'remot':72 'repositori':146 'requir':166 'resolv':374 'resource/usage':287 'result':413 'return':188,204 'role':306 'role-bas':305 'sbom':30,251,389 'scan':26,247,284 'section':92 'secur':18,58,289,294,433 'security.md':115,116 'servic':301,440 'setup':370 'skill':42,44,80,165,187,201 'skill-azure-firmware-analysis' 'source-microsoftdocs' 'specifi':107 'string':182,196 'suggest':137,154 'support':282 'templat':364,499 'terraform':367,517 'text/markdown':203 'tool':150,362 'topic':372,386,419,434,458,491 '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,53,211,371 'uefi':33,270,422 'understand':421 'unsupport':226 'upload':37,325,460,470,480 'upload/scan':224 'url':373,387,420,435,459,492 'use':24,32,78,84,102,117,174,191,242,300,331,357,411,465,485,516 'user':139,156,313 'version':143 'vi':38 'via':497 'vulner':257 'weak':259,410 'webpag':193 'workspac':356,496,506,515","prices":[{"id":"61d27af5-3d4f-4da9-99cd-ba9937fc1ef7","listingId":"c3c59fc5-045b-4ab0-bc54-e5dc7eb70302","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.089Z"}],"sources":[{"listingId":"c3c59fc5-045b-4ab0-bc54-e5dc7eb70302","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-firmware-analysis","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-firmware-analysis","isPrimary":false,"firstSeenAt":"2026-04-18T21:59:06.089Z","lastSeenAt":"2026-04-22T06:53:32.652Z"}],"details":{"listingId":"c3c59fc5-045b-4ab0-bc54-e5dc7eb70302","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-firmware-analysis","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":"b0ded3e56abc757e8c958ca1c2e0e814830c829a","skill_md_path":"skills/azure-firmware-analysis/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-firmware-analysis"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-firmware-analysis","description":"Expert knowledge for Azure Firmware Analysis development including troubleshooting, best practices, limits & quotas, security, integrations & coding patterns, and deployment. Use when scanning firmware images, interpreting SBOM paths, using UEFI analysis, or automating uploads via CLI/PowerShell/Python, and other Azure Firmware Analysis related development tasks. Not for Azure Defender For Iot (use azure-defender-for-iot), Azure IoT Edge (use azure-iot-edge), Azure IoT Hub (use azure-iot-hub), Azure Confidential Computing (use azure-confidential-computing).","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-firmware-analysis"},"updatedAt":"2026-04-22T06:53:32.652Z"}}