{"id":"b7d23a69-df9e-41c3-a03f-f21771575f7c","shortId":"52aHXJ","kind":"skill","title":"azure-iot-hub","tagline":"Expert knowledge for Azure IoT Hub development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring IoT Hub/DPS, device twins/rout","description":"# Azure IoT Hub Skill\n\nThis skill provides expert guidance for Azure IoT Hub. 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-L52 | Diagnosing and fixing IoT Hub and DPS issues: device connectivity, routing, error codes, Device Update/import/storage/proxy problems, and collecting/using diagnostic and debug logs. |\n| Best Practices | L53-L62 | Best practices for secure, scalable IoT Hub/DPS deployments: device provisioning at scale, OEM security, cert renewal/ADR, resilient reconnection, auto device config, and IoT Hub hardening. |\n| Decision Making | L63-L75 | Guidance for choosing IoT Hub vs alternatives, tiers/scale, pricing, routing, comms patterns (C2D/D2C), monitoring methods, and when to use or disable disaster recovery. |\n| Architecture & Design Patterns | L76-L82 | Design patterns for DPS lifecycle/HA/DR, VNet connectivity, secure device streams, and reliably persisting ordered IoT Hub events with Cosmos DB. |\n| Limits & Quotas | L83-L89 | Details on IoT Hub, Device Provisioning Service, and Device Update limits, quotas, and throttling behavior, including scale constraints and how services behave when limits are reached. |\n| Security | L90-L128 | Securing IoT Hub, DPS, and Device Update: auth (Entra ID, RBAC, SAS, X.509), certificates and revocation, TLS/ciphers, keys, network/IP controls, private endpoints, and Azure Policy compliance. |\n| Configuration | L129-L167 | Configuring IoT Hub and DPS: enroll devices, manage certificates and ADR, set twins, jobs, routing, endpoints, file upload, message enrichments, queries, and monitoring/metrics/logs. |\n| Integrations & Coding Patterns | L168-L192 | Patterns and code samples for connecting devices/DPS to IoT Hub (MQTT/HTTPS/AMQP), managing identities/twins/files, direct methods, C2D messages, bulk ops, and message formats. |\n| Deployment | L193-L204 | Deploying and updating IoT Hubs and devices: region/SKU migration, failover, ARM/Bicep deployments, Device Update (image/package, proxy, OS support), and scheduling jobs via CLI. |\n\n### Troubleshooting\n| Topic | URL |\n|-------|-----|\n| Diagnose and fix common Azure DPS provisioning errors | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps |\n| Use Agent Check to diagnose missing Device Update devices | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-check |\n| Use Device Update diagnostics, error codes, and logs | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-diagnostics |\n| Interpret Device Update for IoT Hub error codes | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-error-codes |\n| Collect and review Device Update diagnostic logs remotely | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-log-collection |\n| Resolve proxy update import errors in Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting |\n| Diagnose and fix common Device Update issues | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-device-update |\n| Fix storage permission errors when importing Device Updates | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-storage |\n| Collect device debug logs using IoT SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-collect-device-logs |\n| Diagnose and fix Azure IoT Hub device connectivity | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity |\n| Resolve Azure IoT Hub error codes | https://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-error-codes |\n| Troubleshoot Azure IoT Hub message routing issues | https://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-message-routing |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Apply DPS best practices for large-scale IoT deployments | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale |\n| Implement OEM security practices for DPS-enabled devices | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-oem-security-practices |\n| Plan and execute IoT certificate renewal with ADR | https://learn.microsoft.com/en-us/azure/iot-hub/concept-certificate-renewal |\n| Design resilient Azure IoT Hub device reconnection | https://learn.microsoft.com/en-us/azure/iot-hub/concepts-manage-device-reconnections |\n| Apply IoT Hub automatic device configuration best practices | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices |\n| Apply security best practices to Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub |\n\n### Decision Making\n| Topic | URL |\n|-------|-----|\n| Decide when to disable IoT Hub disaster recovery | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr |\n| Choose between Azure IoT Hub and Event Hubs | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs |\n| Choose IoT Hub cloud-to-device communication option | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance |\n| Choose IoT Hub device-to-cloud communication option | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance |\n| Understand Azure IoT Hub pricing and metering | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing |\n| Decide between IoT Hub routing and Event Grid | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison |\n| Select the right Azure IoT Hub tier and scale | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling |\n| Select and upgrade Azure IoT Hub tier and size | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-upgrade |\n| Choose IoT Hub device connection monitoring method | https://learn.microsoft.com/en-us/azure/iot-hub/monitor-device-connection-state |\n\n### Architecture & Design Patterns\n| Topic | URL |\n|-------|-----|\n| Plan DPS device lifecycle and reprovisioning policies | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-reprovision |\n| Design DPS high availability and disaster recovery | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr |\n| Use virtual network connectivity patterns with DPS | https://learn.microsoft.com/en-us/azure/iot-dps/virtual-network-support |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Azure IoT DPS FAQs on limits and behavior | https://learn.microsoft.com/en-us/azure/iot-dps/dps-faq |\n| Review Azure Device Update service limits | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-limits |\n| Azure IoT Hub quotas, limits, and throttling behavior | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Secure DPS APIs using Microsoft Entra ID and RBAC | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad |\n| Configure DPS access control with SAS tokens | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-control-access |\n| Revoke or disenroll device access in DPS securely | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal |\n| Roll and update X.509 certificates in DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-roll-certificates |\n| Deprovision DPS devices and revoke IoT Hub access | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices |\n| Verify X.509 CA certificates with DPS proof-of-possession | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-verify-certificates |\n| Configure IP filtering rules for Azure IoT DPS | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ip-filtering |\n| Manage public network access and private endpoints for DPS | https://learn.microsoft.com/en-us/azure/iot-dps/public-network-access |\n| Configure TLS versions and ciphers for DPS connections | https://learn.microsoft.com/en-us/azure/iot-dps/tls-support |\n| Assign RBAC roles for Device Update and IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-access-control-device-update |\n| Set up private endpoints for Device Update accounts | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-private-endpoints |\n| Configure RBAC and Entra auth for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-control-access |\n| Configure data encryption and CMKs for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-data-encryption |\n| Configure network ports for Device Update traffic | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-networking |\n| Prepare for Device Update root key rotations | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-rootkey |\n| Understand end-to-end security in Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-security |\n| Configure network security and private access for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/network-security |\n| Secure IoT Hub APIs with Microsoft Entra ID and RBAC | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-azure-ad |\n| Control IoT Hub access with SAS tokens | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-sas |\n| Authenticate IoT Hub devices with X.509 certificates | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-x509 |\n| Manage certificate revocation and policies for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/concepts-certificate-policy-management |\n| Manage IoT Hub device identities and connection strings | https://learn.microsoft.com/en-us/azure/iot-hub/create-connect-device |\n| Revoke device certificates and clean up ADR policies | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy |\n| Use Azure IoT Hub identity registry for device management | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry |\n| Configure IP filtering rules for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ip-filtering |\n| Use managed identities with Azure IoT Hub egress | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-managed-identity |\n| Manage public network access for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-public-network-access |\n| Restrict IoT Hub outbound network access for DLP | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access |\n| TLS versions and cipher requirements for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-support |\n| Migrate IoT Hub TLS root certificate to DigiCert G2 | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-tls-certificate |\n| Built-in Azure Policy definitions for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/policy-reference |\n| Regenerate IoT Hub shared access keys safely | https://learn.microsoft.com/en-us/azure/iot-hub/regenerate-keys |\n| Azure Policy compliance controls for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/security-controls-policy |\n| Create and upload X.509 test certificates for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-x509-test-certs |\n| Connect Azure IoT Hub with virtual networks securely | https://learn.microsoft.com/en-us/azure/iot-hub/virtual-network-support |\n\n### Configuration\n| Topic | URL |\n|-------|-----|\n| Manage DPS device enrollments in Azure portal | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments |\n| Link and manage IoT hubs in DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs |\n| Configure DPS allocation policies across IoT hubs | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-use-allocation-policies |\n| Query and manage DPS instance IP address properties | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-understand-ip-address |\n| Reference for Azure DPS monitoring metrics and logs | https://learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference |\n| Create apt manifests for package-based Device Updates | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-apt-manifest |\n| Configure adu-config.json for Device Update agents | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file |\n| Configure multistep execution in Device Update manifests | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-multi-step-updates |\n| Author JSON import manifests for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/import-schema |\n| Configure related files in Device Update import manifests | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/related-files |\n| Define update manifest payloads for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/update-manifest |\n| Configure ADR credential for Microsoft-backed certificates | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-configure-credential |\n| Create or edit Microsoft-root CA policy in ADR | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy |\n| Configure ADR policy with external root CA | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy-external-certificate |\n| Disable or enable IoT devices in Azure Device Registry | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-enable-device |\n| Configure IoT Hub file upload to Azure Storage | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configure-file-upload |\n| Handle customer data requests for IoT Hub devices | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-customer-data-requests |\n| Understand and configure Azure IoT Hub device twins | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins |\n| Configure and use IoT Hub direct methods | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods |\n| Configure and use Azure IoT Hub device and service endpoints | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-endpoints |\n| Use IoT Hub file upload for large device data | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload |\n| Configure and manage Azure IoT Hub jobs for device fleets | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-jobs |\n| Configure cloud-to-device messaging in IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d |\n| Configure IoT Hub device-to-cloud message routing | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c |\n| Understand and configure Azure IoT Hub module twins | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-module-twins |\n| Configure IoT Hub communication protocols and ports | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-protocols |\n| Use IoT Hub message routing query language | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax |\n| Deploy IoT Hub with ADR and certificate management | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup |\n| Configure message enrichments in Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-message-enrichments-overview |\n| Non-telemetry event schemas for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema |\n| Understand and manage Azure IoT Hub IP addresses | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-understand-ip-address |\n| Manage IoT Hub device and module twins via portal and CLI | https://learn.microsoft.com/en-us/azure/iot-hub/manage-device-twins |\n| Reference metrics and logs for monitoring Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference |\n| Use the Azure IoT Hub VS Code extension | https://learn.microsoft.com/en-us/azure/iot-hub/reference-iot-hub-extension |\n| Set up and use IoT Hub message enrichments | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-message-enrichments |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Send additional payload data between devices and DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-send-additional-data |\n| Use raw HTTPS with DPS symmetric key provisioning | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-sym-key-support |\n| Use raw HTTPS with DPS X.509 certificate provisioning | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-x509-support |\n| Connect devices to Azure IoT DPS over MQTT | https://learn.microsoft.com/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps |\n| Programmatically create DPS TPM individual enrollments | https://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-tpm |\n| Programmatically create DPS X.509 enrollment groups | https://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-x509 |\n| Implement Device Update component enumerator via proxy | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/components-enumerator |\n| Send and receive IoT Hub cloud-to-device messages with SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-cloud-to-device-messaging |\n| Implement device management actions using IoT Hub direct methods | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-management |\n| Use IoT Hub device and service SDKs with device twins | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-twins |\n| Upload device files to cloud using IoT Hub SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-file-upload |\n| Use module identities and twins with IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-module-twins |\n| Use IoT Hub service SDK to schedule broadcast jobs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs |\n| Use AMQP protocol with Azure IoT Hub endpoints | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support |\n| Bulk import and export IoT Hub device identities | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt |\n| Construct Azure IoT Hub message formats | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct |\n| Read IoT Hub messages from built-in endpoint | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin |\n| Connect devices to Azure IoT Hub using MQTT | https://learn.microsoft.com/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub |\n| Control IoT devices via direct methods using .NET samples | https://learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device |\n| Use PowerShell script to self-sign IoT Hub CSR certificates | https://learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script |\n| Connect IoT devices to Azure IoT Hub via MQTT | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-use-mqtt |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Perform proxy updates with Device Update for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates |\n| Deploy image-based Device Update on Raspberry Pi | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-raspberry-pi |\n| Use regional failover mappings for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-region-mapping |\n| Deploy package-based Device Update with Ubuntu agent | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent |\n| Check OS and component support for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/support |\n| Manually migrate Azure IoT Hub across regions or SKUs | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-arm |\n| Migrate Azure IoT Hub using Azure CLI state commands | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-state-cli |\n| Schedule IoT Hub jobs for device groups using Azure CLI | https://learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli |\n| Perform manual failover for an Azure IoT hub | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-manual-failover |","tags":["azure","iot","hub","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-iot-hub","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-iot-hub","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.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 549 github stars · SKILL.md body (21,624 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-05-18T18:53:54.644Z","embedding":null,"createdAt":"2026-04-18T21:59:17.543Z","updatedAt":"2026-05-18T18:53:54.644Z","lastSeenAt":"2026-05-18T18:53:54.644Z","tsv":"'/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad':860 '/en-us/azure/iot-dps/concepts-deploy-at-scale':615 '/en-us/azure/iot-dps/concepts-device-oem-security-practices':627 '/en-us/azure/iot-dps/concepts-device-reprovision':790 '/en-us/azure/iot-dps/dps-faq':825 '/en-us/azure/iot-dps/how-to-control-access':870 '/en-us/azure/iot-dps/how-to-manage-enrollments':1251 '/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs':1261 '/en-us/azure/iot-dps/how-to-revoke-device-access-portal':881 '/en-us/azure/iot-dps/how-to-roll-certificates':891 '/en-us/azure/iot-dps/how-to-send-additional-data':1645 '/en-us/azure/iot-dps/how-to-troubleshoot-dps':481 '/en-us/azure/iot-dps/how-to-unprovision-devices':902 '/en-us/azure/iot-dps/how-to-use-allocation-policies':1271 '/en-us/azure/iot-dps/how-to-verify-certificates':915 '/en-us/azure/iot-dps/iot-dps-ha-dr':800 '/en-us/azure/iot-dps/iot-dps-https-sym-key-support':1656 '/en-us/azure/iot-dps/iot-dps-https-x509-support':1667 '/en-us/azure/iot-dps/iot-dps-ip-filtering':926 '/en-us/azure/iot-dps/iot-dps-understand-ip-address':1282 '/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps':1678 '/en-us/azure/iot-dps/monitor-iot-dps-reference':1293 '/en-us/azure/iot-dps/public-network-access':938 '/en-us/azure/iot-dps/quick-enroll-device-tpm':1687 '/en-us/azure/iot-dps/quick-enroll-device-x509':1696 '/en-us/azure/iot-dps/tls-support':949 '/en-us/azure/iot-dps/virtual-network-support':810 '/en-us/azure/iot-hub-device-update/components-enumerator':1706 '/en-us/azure/iot-hub-device-update/configure-access-control-device-update':961 '/en-us/azure/iot-hub-device-update/configure-private-endpoints':972 '/en-us/azure/iot-hub-device-update/device-update-agent-check':493 '/en-us/azure/iot-hub-device-update/device-update-apt-manifest':1305 '/en-us/azure/iot-hub-device-update/device-update-configuration-file':1314 '/en-us/azure/iot-hub-device-update/device-update-control-access':983 '/en-us/azure/iot-hub-device-update/device-update-data-encryption':994 '/en-us/azure/iot-hub-device-update/device-update-diagnostics':504 '/en-us/azure/iot-hub-device-update/device-update-error-codes':515 '/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates':1888 '/en-us/azure/iot-hub-device-update/device-update-limits':834 '/en-us/azure/iot-hub-device-update/device-update-log-collection':526 '/en-us/azure/iot-hub-device-update/device-update-multi-step-updates':1324 '/en-us/azure/iot-hub-device-update/device-update-networking':1004 '/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting':537 '/en-us/azure/iot-hub-device-update/device-update-raspberry-pi':1900 '/en-us/azure/iot-hub-device-update/device-update-region-mapping':1910 '/en-us/azure/iot-hub-device-update/device-update-rootkey':1014 '/en-us/azure/iot-hub-device-update/device-update-security':1026 '/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent':1922 '/en-us/azure/iot-hub-device-update/import-schema':1334 '/en-us/azure/iot-hub-device-update/network-security':1038 '/en-us/azure/iot-hub-device-update/related-files':1345 '/en-us/azure/iot-hub-device-update/support':1933 '/en-us/azure/iot-hub-device-update/troubleshoot-device-update':547 '/en-us/azure/iot-hub-device-update/troubleshoot-storage':558 '/en-us/azure/iot-hub-device-update/update-manifest':1355 '/en-us/azure/iot-hub/authenticate-authorize-azure-ad':1051 '/en-us/azure/iot-hub/authenticate-authorize-sas':1061 '/en-us/azure/iot-hub/authenticate-authorize-x509':1071 '/en-us/azure/iot-hub/concept-certificate-renewal':638 '/en-us/azure/iot-hub/concepts-certificate-policy-management':1082 '/en-us/azure/iot-hub/concepts-manage-device-reconnections':648 '/en-us/azure/iot-hub/create-connect-device':1093 '/en-us/azure/iot-hub/how-to-cloud-to-device-messaging':1721 '/en-us/azure/iot-hub/how-to-collect-device-logs':568 '/en-us/azure/iot-hub/how-to-configure-credential':1366 '/en-us/azure/iot-hub/how-to-create-policy':1379 '/en-us/azure/iot-hub/how-to-create-policy-external-certificate':1389 '/en-us/azure/iot-hub/how-to-device-management':1733 '/en-us/azure/iot-hub/how-to-device-twins':1746 '/en-us/azure/iot-hub/how-to-disable-dr':685 '/en-us/azure/iot-hub/how-to-disable-enable-device':1401 '/en-us/azure/iot-hub/how-to-file-upload':1758 '/en-us/azure/iot-hub/how-to-module-twins':1769 '/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy':1104 '/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs':1781 '/en-us/azure/iot-hub/iot-hub-amqp-support':1792 '/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt':1803 '/en-us/azure/iot-hub/iot-hub-compare-event-hubs':696 '/en-us/azure/iot-hub/iot-hub-configuration-best-practices':659 '/en-us/azure/iot-hub/iot-hub-configure-file-upload':1412 '/en-us/azure/iot-hub/iot-hub-customer-data-requests':1423 '/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance':708 '/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance':720 '/en-us/azure/iot-hub/iot-hub-devguide-device-twins':1434 '/en-us/azure/iot-hub/iot-hub-devguide-direct-methods':1444 '/en-us/azure/iot-hub/iot-hub-devguide-endpoints':1457 '/en-us/azure/iot-hub/iot-hub-devguide-file-upload':1469 '/en-us/azure/iot-hub/iot-hub-devguide-identity-registry':1116 '/en-us/azure/iot-hub/iot-hub-devguide-jobs':1482 '/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d':1494 '/en-us/azure/iot-hub/iot-hub-devguide-messages-construct':1812 '/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c':1506 '/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin':1824 '/en-us/azure/iot-hub/iot-hub-devguide-module-twins':1517 '/en-us/azure/iot-hub/iot-hub-devguide-pricing':730 '/en-us/azure/iot-hub/iot-hub-devguide-protocols':1527 '/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling':845 '/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax':1537 '/en-us/azure/iot-hub/iot-hub-device-registry-setup':1548 '/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison':741 '/en-us/azure/iot-hub/iot-hub-ip-filtering':1127 '/en-us/azure/iot-hub/iot-hub-managed-identity':1138 '/en-us/azure/iot-hub/iot-hub-message-enrichments-overview':1558 '/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema':1570 '/en-us/azure/iot-hub/iot-hub-public-network-access':1149 '/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access':1160 '/en-us/azure/iot-hub/iot-hub-scaling':753 '/en-us/azure/iot-hub/iot-hub-tls-support':1171 '/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity':579 '/en-us/azure/iot-hub/iot-hub-understand-ip-address':1581 '/en-us/azure/iot-hub/iot-hub-upgrade':765 '/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub':1835 '/en-us/azure/iot-hub/manage-device-twins':1595 '/en-us/azure/iot-hub/migrate-hub-arm':1945 '/en-us/azure/iot-hub/migrate-hub-state-cli':1957 '/en-us/azure/iot-hub/migrate-tls-certificate':1183 '/en-us/azure/iot-hub/monitor-device-connection-state':775 '/en-us/azure/iot-hub/monitor-iot-hub-reference':1607 '/en-us/azure/iot-hub/policy-reference':1195 '/en-us/azure/iot-hub/quickstart-control-device':1847 '/en-us/azure/iot-hub/reference-iot-hub-extension':1618 '/en-us/azure/iot-hub/reference-self-sign-script':1861 '/en-us/azure/iot-hub/regenerate-keys':1205 '/en-us/azure/iot-hub/schedule-jobs-cli':1970 '/en-us/azure/iot-hub/secure-azure-iot-hub':670 '/en-us/azure/iot-hub/security-controls-policy':1215 '/en-us/azure/iot-hub/troubleshoot-error-codes':588 '/en-us/azure/iot-hub/troubleshoot-message-routing':598 '/en-us/azure/iot-hub/tutorial-manual-failover':1981 '/en-us/azure/iot-hub/tutorial-message-enrichments':1629 '/en-us/azure/iot-hub/tutorial-use-mqtt':1873 '/en-us/azure/iot-hub/tutorial-x509-test-certs':1227 '/en-us/azure/iot-hub/virtual-network-support':1238 '/microsoftdocs/mcp/blob/main/readme.md)':167 '3':138 'accept':206 'access':172,863,875,899,930,1032,1055,1142,1155,1200 'account':969 'across':1266,1939 'action':1725 'addit':1636 'address':1278,1578 'adr':400,635,1100,1357,1376,1381,1542 'adu-config.json':1307 'agent':87,131,190,204,483,1311,1919 'alloc':1264 'altern':282 'amqp':1783 'api':851,1042 'appli':603,649,660 'apt':1295 'architectur':18,56,299,776 'arm/bicep':455 'assign':950 'auth':367,977 'authent':1062 'author':1325 'auto':264 'automat':652 'avail':157,794 'azur':2,8,37,47,383,475,572,581,590,641,665,688,722,745,757,815,827,835,921,1106,1122,1132,1144,1187,1206,1229,1247,1285,1396,1408,1427,1448,1473,1510,1553,1565,1574,1602,1610,1671,1786,1805,1828,1866,1936,1947,1951,1966,1976 'azure-iot-hub':1 'back':1362 'base':1300,1892,1914 'behav':351 'behavior':344,822,842 'best':14,52,241,246,599,605,655,662 'broadcast':1777 'built':1185,1819 'built-in':1184,1818 'bulk':436,1793 'c2d':434 'c2d/d2c':288 'ca':905,1373,1386 'capabl':79 'categori':90,98,114,210,212 'cert':260 'certif':373,398,632,886,906,1068,1073,1096,1177,1221,1363,1544,1663,1858 'check':484,1923 'choos':278,686,697,709,766 'cipher':943,1164 'clean':1098 'cli':467,1592,1952,1967 'cloud':701,715,1485,1501,1713,1751 'cloud-to-devic':700,1484,1712 'cmks':988 'code':26,64,231,414,421,499,512,585,1614,1631 'collect':516,559 'collecting/using':236 'combin':69 'comm':286 'command':1954 'common':474,541 'communic':704,716,1521 'complianc':385,1208 'compon':1700,1926 'config':266 'configur':24,32,62,386,390,654,861,916,939,973,984,995,1027,1117,1239,1262,1306,1315,1335,1356,1380,1402,1426,1435,1445,1470,1483,1495,1509,1518,1549 'connect':228,311,424,576,770,804,946,1089,1228,1668,1825,1862 'constraint':347 'construct':1804 'content':74,176 'control':379,864,1052,1209,1836 'cosmos':323 'cover':50 'creat':1216,1294,1367,1680,1689 'credenti':1358 'csr':1857 'custom':1414 'data':985,1415,1466,1638 'db':324 'debug':239,561 'decid':675,731 'decis':16,54,271,671 'defin':1346 'definit':1189 'deploy':29,67,253,441,445,456,612,1538,1874,1889,1911 'deprovis':892 'descript':214 'design':19,57,300,305,639,777,791 'detail':330 'develop':11 'devic':35,227,232,254,265,313,334,338,365,396,451,457,488,490,495,506,519,533,542,554,560,575,624,644,653,703,713,769,783,828,874,894,954,967,979,990,999,1007,1022,1034,1065,1086,1095,1112,1244,1301,1309,1319,1330,1339,1351,1394,1397,1420,1430,1451,1465,1478,1487,1499,1585,1640,1669,1698,1715,1723,1737,1742,1748,1799,1826,1838,1864,1881,1893,1906,1915,1929,1963 'device-to-cloud':712,1498 'devices/dps':425 'diagnos':219,471,486,538,569 'diagnost':237,497,521 'digicert':1179 'direct':432,1440,1729,1840 'disabl':296,678,1390 'disast':297,681,796 'disenrol':873 'dlp':1157 'doc':182 'document':77,175 'dps':225,308,363,394,476,604,622,782,792,807,817,850,862,877,888,893,908,923,935,945,1243,1258,1263,1275,1286,1642,1650,1661,1673,1681,1690 'dps-enabl':621 'e.g':102,118 'edit':1369 'egress':1135 'enabl':623,1392 'encrypt':986 'end':1017,1019 'end-to-end':1016 'endpoint':381,405,933,965,1454,1789,1821 'enrich':409,1551,1626 'enrol':395,1245,1684,1692 'entra':368,854,976,1045 'enumer':1701 'error':230,478,498,511,531,551,584 'event':321,692,737,1562 'execut':630,1317 'expert':5,44 'export':1796 'extens':1615 'extern':1384 'failov':454,1903,1973 'fallback':194 'faq':818 'fetch':78,174,183,196 'file':108,116,123,128,406,1337,1405,1461,1749 'filter':918,1119 'fix':221,473,540,548,571 'fleet':1479 'format':440,1809 'g2':1180 'github.com':166 'github.com/microsoftdocs/mcp/blob/main/readme.md)':165 'grid':738 'group':1693,1964 'guid':164 'guidanc':45,276 'handl':1413 'harden':270 'high':793 'https':1648,1659 'hub':4,10,39,49,223,269,280,320,333,362,392,428,449,510,574,583,592,643,651,667,680,690,693,699,711,724,734,747,759,768,837,898,958,1041,1054,1064,1079,1085,1108,1124,1134,1146,1152,1168,1174,1192,1198,1212,1224,1231,1256,1268,1404,1419,1429,1439,1450,1460,1475,1491,1497,1512,1520,1530,1540,1555,1567,1576,1584,1604,1612,1624,1711,1728,1736,1754,1766,1772,1788,1798,1807,1815,1830,1856,1868,1885,1938,1949,1960,1978 'hub/dps':34,252 'id':369,855,1046 'ident':1087,1109,1130,1761,1800 'identities/twins/files':431 'imag':1891 'image-bas':1890 'image/package':459 'implement':616,1697,1722 'import':85,129,530,553,1327,1341,1794 'includ':12,345 'index':91,211 'individu':1683 'instal':161,163 'instanc':1276 'integr':25,63,413,1630 'interpret':505 'iot':3,9,33,38,48,222,251,268,279,319,332,361,391,427,448,509,564,573,582,591,611,631,642,650,666,679,689,698,710,723,733,746,758,767,816,836,897,922,957,1040,1053,1063,1078,1084,1107,1123,1133,1145,1151,1167,1173,1191,1197,1211,1223,1230,1255,1267,1393,1403,1418,1428,1438,1449,1459,1474,1490,1496,1511,1519,1529,1539,1554,1566,1575,1583,1603,1611,1623,1672,1710,1727,1735,1753,1765,1771,1787,1797,1806,1814,1829,1837,1855,1863,1867,1884,1937,1948,1959,1977 'ip':917,1118,1277,1577 'issu':226,544,595 'job':403,465,1476,1778,1961 'json':1326 'key':377,1010,1201,1652 'knowledg':6 'l120':105 'l128':359 'l129':388 'l129-l167':387 'l167':389 'l168':417 'l168-l192':416 'l192':418 'l193':443 'l193-l204':442 'l204':444 'l35':104 'l35-l120':103 'l37':217 'l37-l52':216 'l52':218 'l53':244 'l53-l62':243 'l62':245 'l63':274 'l63-l75':273 'l75':275 'l76':303 'l76-l82':302 'l82':304 'l83':328 'l83-l89':327 'l89':329 'l90':358 'l90-l128':357 'languag':1534 'larg':609,1464 'large-scal':608 'latest':146 'learn':189,203 'learn-agent-skil':188,202 'learn.microsoft.com':480,492,503,514,525,536,546,557,567,578,587,597,614,626,637,647,658,669,684,695,707,719,729,740,752,764,774,789,799,809,824,833,844,859,869,880,890,901,914,925,937,948,960,971,982,993,1003,1013,1025,1037,1050,1060,1070,1081,1092,1103,1115,1126,1137,1148,1159,1170,1182,1194,1204,1214,1226,1237,1250,1260,1270,1281,1292,1304,1313,1323,1333,1344,1354,1365,1378,1388,1400,1411,1422,1433,1443,1456,1468,1481,1493,1505,1516,1526,1536,1547,1557,1569,1580,1594,1606,1617,1628,1644,1655,1666,1677,1686,1695,1705,1720,1732,1745,1757,1768,1780,1791,1802,1811,1823,1834,1846,1860,1872,1887,1899,1909,1921,1932,1944,1956,1969,1980 'learn.microsoft.com/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad':858 'learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale':613 'learn.microsoft.com/en-us/azure/iot-dps/concepts-device-oem-security-practices':625 'learn.microsoft.com/en-us/azure/iot-dps/concepts-device-reprovision':788 'learn.microsoft.com/en-us/azure/iot-dps/dps-faq':823 'learn.microsoft.com/en-us/azure/iot-dps/how-to-control-access':868 'learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments':1249 'learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs':1259 'learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal':879 'learn.microsoft.com/en-us/azure/iot-dps/how-to-roll-certificates':889 'learn.microsoft.com/en-us/azure/iot-dps/how-to-send-additional-data':1643 'learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps':479 'learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices':900 'learn.microsoft.com/en-us/azure/iot-dps/how-to-use-allocation-policies':1269 'learn.microsoft.com/en-us/azure/iot-dps/how-to-verify-certificates':913 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr':798 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-sym-key-support':1654 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-x509-support':1665 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ip-filtering':924 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-understand-ip-address':1280 'learn.microsoft.com/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps':1676 'learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference':1291 'learn.microsoft.com/en-us/azure/iot-dps/public-network-access':936 'learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-tpm':1685 'learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-x509':1694 'learn.microsoft.com/en-us/azure/iot-dps/tls-support':947 'learn.microsoft.com/en-us/azure/iot-dps/virtual-network-support':808 'learn.microsoft.com/en-us/azure/iot-hub-device-update/components-enumerator':1704 'learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-access-control-device-update':959 'learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-private-endpoints':970 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-check':491 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-apt-manifest':1303 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file':1312 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-control-access':981 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-data-encryption':992 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-diagnostics':502 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-error-codes':513 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates':1886 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-limits':832 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-log-collection':524 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-multi-step-updates':1322 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-networking':1002 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting':535 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-raspberry-pi':1898 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-region-mapping':1908 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-rootkey':1012 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-security':1024 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent':1920 'learn.microsoft.com/en-us/azure/iot-hub-device-update/import-schema':1332 'learn.microsoft.com/en-us/azure/iot-hub-device-update/network-security':1036 'learn.microsoft.com/en-us/azure/iot-hub-device-update/related-files':1343 'learn.microsoft.com/en-us/azure/iot-hub-device-update/support':1931 'learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-device-update':545 'learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-storage':556 'learn.microsoft.com/en-us/azure/iot-hub-device-update/update-manifest':1353 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-azure-ad':1049 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-sas':1059 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-x509':1069 'learn.microsoft.com/en-us/azure/iot-hub/concept-certificate-renewal':636 'learn.microsoft.com/en-us/azure/iot-hub/concepts-certificate-policy-management':1080 'learn.microsoft.com/en-us/azure/iot-hub/concepts-manage-device-reconnections':646 'learn.microsoft.com/en-us/azure/iot-hub/create-connect-device':1091 'learn.microsoft.com/en-us/azure/iot-hub/how-to-cloud-to-device-messaging':1719 'learn.microsoft.com/en-us/azure/iot-hub/how-to-collect-device-logs':566 'learn.microsoft.com/en-us/azure/iot-hub/how-to-configure-credential':1364 'learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy':1377 'learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy-external-certificate':1387 'learn.microsoft.com/en-us/azure/iot-hub/how-to-device-management':1731 'learn.microsoft.com/en-us/azure/iot-hub/how-to-device-twins':1744 'learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr':683 'learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-enable-device':1399 'learn.microsoft.com/en-us/azure/iot-hub/how-to-file-upload':1756 'learn.microsoft.com/en-us/azure/iot-hub/how-to-module-twins':1767 'learn.microsoft.com/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy':1102 'learn.microsoft.com/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs':1779 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support':1790 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt':1801 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs':694 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices':657 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configure-file-upload':1410 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-customer-data-requests':1421 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance':706 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance':718 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins':1432 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods':1442 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-endpoints':1455 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload':1467 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry':1114 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-jobs':1480 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d':1492 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct':1810 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c':1504 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin':1822 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-module-twins':1515 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing':728 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-protocols':1525 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling':843 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax':1535 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup':1546 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison':739 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ip-filtering':1125 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-managed-identity':1136 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-message-enrichments-overview':1556 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema':1568 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-public-network-access':1147 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access':1158 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling':751 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-support':1169 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity':577 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-understand-ip-address':1579 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-upgrade':763 'learn.microsoft.com/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub':1833 'learn.microsoft.com/en-us/azure/iot-hub/manage-device-twins':1593 'learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-arm':1943 'learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-state-cli':1955 'learn.microsoft.com/en-us/azure/iot-hub/migrate-tls-certificate':1181 'learn.microsoft.com/en-us/azure/iot-hub/monitor-device-connection-state':773 'learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference':1605 'learn.microsoft.com/en-us/azure/iot-hub/policy-reference':1193 'learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device':1845 'learn.microsoft.com/en-us/azure/iot-hub/reference-iot-hub-extension':1616 'learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script':1859 'learn.microsoft.com/en-us/azure/iot-hub/regenerate-keys':1203 'learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli':1968 'learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub':668 'learn.microsoft.com/en-us/azure/iot-hub/security-controls-policy':1213 'learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-error-codes':586 'learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-message-routing':596 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-manual-failover':1979 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-message-enrichments':1627 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-use-mqtt':1871 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-x509-test-certs':1225 'learn.microsoft.com/en-us/azure/iot-hub/virtual-network-support':1236 'lifecycl':784 'lifecycle/ha/dr':309 'limit':21,59,325,340,353,811,820,831,839 'line':100,112,213 'link':117,126,1252 'local':70 'locat':94 'log':240,501,522,562,1290,1599 'make':17,55,272,672 'manag':397,430,927,1072,1083,1113,1129,1139,1242,1254,1274,1472,1545,1573,1582,1724 'manifest':1296,1321,1328,1342,1348 'manual':1934,1972 'map':1904 'markdown':193,209 'mcp':152,179 'messag':408,435,439,593,1488,1502,1531,1550,1625,1716,1808,1816 'metadata.generated':133 'meter':727 'method':290,433,772,1441,1730,1841 'metric':1288,1597 'microsoft':181,853,1044,1361,1371 'microsoft-back':1360 'microsoft-root':1370 'microsoftdoc':153,180 'migrat':453,1172,1935,1946 'miss':487 'modul':1513,1587,1760 'monitor':289,771,1287,1601 'monitoring/metrics/logs':412 'month':139 'mqtt':1675,1832,1870 'mqtt/https/amqp':429 'multistep':1316 'net':1843 'network':171,803,929,996,1028,1141,1154,1234 'network/ip':378 'non':1560 'non-telemetri':1559 'oem':258,617 'old':140 'op':437 'option':705,717 'order':318 'os':461,1924 'outbound':1153 'packag':1299,1913 'package-bas':1298,1912 'pattern':20,27,58,65,287,301,306,415,419,778,805,1632 'payload':1349,1637 'perform':1877,1971 'permiss':550 'persist':317 'pi':1897 'plan':628,781 'polici':384,787,1076,1101,1188,1207,1265,1374,1382 'port':997,1524 'portal':1248,1590 'possess':912 'powershel':1849 'practic':15,53,242,247,600,606,619,656,663 'prefer':177 'prepar':1005 'price':284,725 'privat':380,932,964,1031 'problem':234 'programmat':1679,1688 'proof':910 'proof-of-possess':909 'properti':1279 'protocol':1522,1784 'provid':43 'provis':255,335,477,1653,1664 'proxi':460,528,1703,1878 'public':928,1140 'pull':144 'queri':185,199,410,1272,1533 'quick':72 'quick-refer':71 'quota':22,60,326,341,812,838 'rang':101 'raspberri':1896 'raw':1647,1658 'rbac':370,857,951,974,1048 'reach':355 'read':107,122,1813 'receiv':1709 'reconnect':263,645 'recoveri':298,682,797 'refer':73,127,1283,1596 'regener':1196 'region':1902,1940 'region/sku':452 'registri':1110,1398 'relat':1336 'relev':95 'reliabl':316 'remot':76,523 'renew':633 'renewal/adr':261 'repositori':150 'reprovis':786 'request':1416 'requir':170,1165 'resili':262,640 'resolv':527,580 'restrict':1150 'return':192,208 'review':518,826 'revoc':375,1074 'revok':871,896,1094 'right':744 'role':952 'roll':882 'root':1009,1176,1372,1385 'rotat':1011 'rout':229,285,404,594,735,1503,1532 'rule':919,1120 'safe':1202 'sampl':422,1844 'sas':371,866,1057 'scalabl':250 'scale':257,346,610,750 'schedul':464,1776,1958 'schema':1563 'script':1850 'sdk':1774 'sdks':565,1718,1740,1755 'section':96 'secur':23,61,249,259,312,356,360,618,661,846,849,878,1020,1029,1039,1235 'security.md':119,120 'select':742,754 'self':1853 'self-sign':1852 'send':1635,1707 'servic':336,350,830,1453,1739,1773 'set':401,962,1619 'share':1199 'sign':1854 'size':762 'skill':40,42,84,169,191,205 'skill-azure-iot-hub' 'skus':1942 'source-microsoftdocs' 'specifi':111 'state':1953 'storag':549,1409 'stream':314 'string':186,200,1090 'suggest':141,158 'support':462,1927 'symmetr':1651 'telemetri':1561 'test':1220 'text/markdown':207 'throttl':343,841 'tier':748,760 'tiers/scale':283 'tls':940,1161,1175 'tls/ciphers':376 'token':867,1058 'tool':154 'topic':469,601,673,779,813,847,1240,1633,1875 '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' 'tpm':1682 'traffic':1001 'troubleshoot':13,51,215,468,589 'twin':402,1431,1514,1588,1743,1763 'twins/rout':36 'ubuntu':1918 'understand':721,1015,1424,1507,1571 'updat':339,366,447,458,489,496,507,520,529,534,543,555,829,884,955,968,980,991,1000,1008,1023,1035,1302,1310,1320,1331,1340,1347,1352,1699,1879,1882,1894,1907,1916,1930 'update/import/storage/proxy':233 'upgrad':756 'upload':407,1218,1406,1462,1747 'url':470,602,674,780,814,848,1241,1634,1876 'use':30,82,88,106,121,178,195,294,482,494,563,801,852,1105,1128,1437,1447,1458,1528,1608,1622,1646,1657,1726,1734,1752,1759,1770,1782,1831,1842,1848,1901,1950,1965 'user':143,160 'verifi':903 'version':147,941,1162 'via':466,1589,1702,1839,1869 'virtual':802,1233 'vnet':310 'vs':281,1613 'webpag':197 'x.509':372,885,904,1067,1219,1662,1691","prices":[{"id":"0a3f06a2-3d33-4d24-93da-cb4a15bdaa0d","listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","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:17.543Z"}],"sources":[{"listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-iot-hub","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-iot-hub","isPrimary":false,"firstSeenAt":"2026-04-18T21:59:17.543Z","lastSeenAt":"2026-05-18T18:53:54.644Z"}],"details":{"listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-iot-hub","github":{"repo":"MicrosoftDocs/Agent-Skills","stars":549,"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-05-17T02:50:05Z","description":"Curated Agent Skills for Microsoft & Azure – giving AI coding assistants structured, real-time expertise from Microsoft Learn docs.","skill_md_sha":"23941a50622a1a4228586f5d0261f3554c81b353","skill_md_path":"skills/azure-iot-hub/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-iot-hub"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-iot-hub","description":"Expert knowledge for Azure IoT Hub development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring IoT Hub/DPS, device twins/routing, MQTT/AMQP clients, Device Update, or Cosmos DB event storage, and other Azure IoT Hub related development tasks. Not for Azure IoT (use azure-iot), Azure IoT Central (use azure-iot-central), Azure IoT Edge (use azure-iot-edge), Azure Defender For Iot (use azure-defender-for-iot).","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-iot-hub"},"updatedAt":"2026-05-18T18:53:54.644Z"}}