{"id":"79a15190-3765-4653-80df-b5b23fd33582","shortId":"wMGB83","kind":"skill","title":"python-azure-iot-edge-modules","tagline":"Build and operate Python Azure IoT Edge modules with robust messaging, deployment manifests, observability, and production readiness checks.","description":"# Python Azure IoT Edge Modules\n\nUse this skill to design, implement, and validate Python-based IoT Edge modules for telemetry processing, local inference, protocol translation, and edge-to-cloud integration.\n\n## When To Use\n\nUse this skill for requests like:\n\n- \"quiero crear un modulo Python para IoT Edge\"\n- \"como despliego modulos edge con manifest\"\n- \"necesito filtrar/agregar telemetria antes de subirla\"\n- \"como manejo desconexiones y reintentos en edge\"\n\n## Mandatory Docs Review\n\nBefore recommending runtime behavior or deployment decisions, review:\n\n- https://learn.microsoft.com/azure/iot-edge/\n- https://learn.microsoft.com/es-es/azure/iot-edge/\n\nMinimum checks:\n\n- Runtime architecture and module lifecycle.\n- Supported host OS and versions.\n- Deployment model and configuration flow.\n- Current release/version guidance.\n\nIf documentation cannot be fetched, proceed with explicit assumptions and flag them clearly.\n\n## Python Official References and Best Practices (Required)\n\nBefore proposing Python implementation details, consult official Python sources:\n\n- https://www.python.org/\n- https://docs.python.org/3/\n- https://docs.python.org/3/reference/\n- https://docs.python.org/3/library/\n- references/python-official-best-practices.md\n\nPrefer official docs over community snippets unless there is a specific compatibility reason to deviate.\n\n## Goals\n\n- Deliver module architecture and implementation plan that is production-focused.\n- Ensure reliable edge messaging under network variability.\n- Provide deployment, observability, and validation artifacts.\n\n## Module Use Cases\n\n- Protocol adapter (serial/Modbus/OPC-UA to IoT message format).\n- Telemetry enrichment and normalization.\n- Local anomaly detection or inference.\n- Command orchestration and local actuator control.\n\n## Delivery Workflow\n\n### 1) Contract and Interfaces\n\nDefine:\n\n- Module inputs and outputs.\n- Message schema and versioning policy.\n- Routes and priorities for normal vs critical telemetry.\n- Desired properties used for dynamic configuration.\n\n### 2) Runtime and Packaging\n\nSpecify:\n\n- Python runtime version target.\n- Container image strategy (base image, slim footprint, CVE hygiene).\n- Resource profile (CPU/memory bounds).\n- Startup and health checks.\n\n### 3) Reliability Design\n\nImplement and validate:\n\n- Retries with exponential backoff and jitter.\n- Graceful degradation on upstream failures.\n- Local queueing strategy where needed.\n- Idempotent processing for replayed messages.\n\n### 4) Security Controls\n\nRequire:\n\n- No plaintext secrets in code or manifest.\n- Least-privilege module behavior.\n- Secure transport and trusted cert chain handling.\n- Traceability for command handling and state changes.\n\n### 5) Deployment and Operations\n\nDefine:\n\n- Environment-specific deployment manifests.\n- Rollout strategy (pilot, staged, broad).\n- Rollback criteria.\n- SLOs and alerting conditions.\n\n## Reuse Other Skills\n\nWhen relevant, combine with:\n\n- `azure-smart-city-iot-solution-builder` for platform-level architecture.\n- `appinsights-instrumentation` for telemetry instrumentation approaches.\n- `azure-resource-visualizer` for architecture diagrams and dependency mapping.\n\nAlso use `references/python-official-best-practices.md` as baseline quality criteria for module design and implementation guidance.\n\n## Required Output\n\nAlways provide:\n\n1. Module design brief (purpose, inputs, outputs).\n2. Deployment model (image, manifest, env settings).\n3. Reliability and error-handling strategy.\n4. Security and operations checklist.\n5. Test matrix (functional, chaos, performance, rollback).\n\n## Output Template\n\n1. Context and assumptions\n2. Module architecture\n3. Deployment and configuration\n4. Reliability, security, observability\n5. Validation and rollout plan\n\n## Guardrails\n\n- Do not recommend direct production rollout without pilot stage.\n- Do not embed secrets in Dockerfiles, source, or manifests.\n- Do not omit health probes, restart behavior, and rollback criteria.","tags":["python","azure","iot","edge","modules","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot"],"capabilities":["skill","source-github","skill-python-azure-iot-edge-modules","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/python-azure-iot-edge-modules","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (3,975 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:52:21.475Z","embedding":null,"createdAt":"2026-04-29T06:52:06.919Z","updatedAt":"2026-05-18T18:52:21.475Z","lastSeenAt":"2026-05-18T18:52:21.475Z","tsv":"'/3/':162 '/3/library/':168 '/3/reference/':165 '/azure/iot-edge/':106 '/es-es/azure/iot-edge/':109 '1':237,422,457 '2':265,429,461 '3':291,436,464 '4':318,443,468 '5':348,448,472 'actuat':233 'adapt':214 'alert':367 'also':405 'alway':420 'anomali':225 'ant':83 'appinsight':389 'appinsights-instrument':388 'approach':394 'architectur':113,188,387,400,463 'artifact':209 'assumpt':138,460 'azur':3,11,26,377,396 'azure-resource-visu':395 'azure-smart-city-iot-solution-build':376 'backoff':300 'base':40,277 'baselin':409 'behavior':99,333,502 'best':147 'bound':286 'brief':425 'broad':362 'build':7 'builder':382 'cannot':132 'case':212 'cert':338 'chain':339 'chang':347 'chao':452 'check':24,111,290 'checklist':447 'citi':379 'clear':142 'cloud':55 'code':326 'combin':374 'command':229,343 'communiti':174 'como':74,86 'compat':181 'con':78 'condit':368 'configur':125,264,467 'consult':155 'contain':274 'context':458 'contract':238 'control':234,320 'cpu/memory':285 'crear':67 'criteria':364,411,505 'critic':257 'current':127 'cve':281 'de':84 'decis':102 'defin':241,352 'degrad':304 'deliv':186 'deliveri':235 'depend':403 'deploy':18,101,122,205,349,356,430,465 'desconexion':88 'design':34,293,414,424 'desir':259 'despliego':75 'detail':154 'detect':226 'deviat':184 'diagram':401 'direct':481 'doc':94,172 'dockerfil':492 'docs.python.org':161,164,167 'docs.python.org/3/':160 'docs.python.org/3/library/':166 'docs.python.org/3/reference/':163 'document':131 'dynam':263 'edg':5,13,28,42,53,73,77,92,199 'edge-to-cloud':52 'emb':489 'en':91 'enrich':221 'ensur':197 'env':434 'environ':354 'environment-specif':353 'error':440 'error-handl':439 'explicit':137 'exponenti':299 'failur':307 'fetch':134 'filtrar/agregar':81 'flag':140 'flow':126 'focus':196 'footprint':280 'format':219 'function':451 'goal':185 'grace':303 'guardrail':477 'guidanc':129,417 'handl':340,344,441 'health':289,499 'host':118 'hygien':282 'idempot':313 'imag':275,278,432 'implement':35,153,190,294,416 'infer':48,228 'input':243,427 'instrument':390,393 'integr':56 'interfac':240 'iot':4,12,27,41,72,217,380 'jitter':302 'learn.microsoft.com':105,108 'learn.microsoft.com/azure/iot-edge/':104 'learn.microsoft.com/es-es/azure/iot-edge/':107 'least':330 'least-privileg':329 'level':386 'lifecycl':116 'like':65 'local':47,224,232,308 'mandatori':93 'manejo':87 'manifest':19,79,328,357,433,495 'map':404 'matrix':450 'messag':17,200,218,246,317 'minimum':110 'model':123,431 'modul':6,14,29,43,115,187,210,242,332,413,423,462 'modulo':69,76 'necesito':80 'need':312 'network':202 'normal':223,255 'observ':20,206,471 'offici':144,156,171 'omit':498 'oper':9,351,446 'orchestr':230 'os':119 'output':245,419,428,455 'packag':268 'para':71 'perform':453 'pilot':360,485 'plaintext':323 'plan':191,476 'platform':385 'platform-level':384 'polici':250 'practic':148 'prefer':170 'prioriti':253 'privileg':331 'probe':500 'proceed':135 'process':46,314 'product':22,195,482 'production-focus':194 'profil':284 'properti':260 'propos':151 'protocol':49,213 'provid':204,421 'purpos':426 'python':2,10,25,39,70,143,152,157,270 'python-azure-iot-edge-modul':1 'python-bas':38 'qualiti':410 'queue':309 'quiero':66 'readi':23 'reason':182 'recommend':97,480 'refer':145 'references/python-official-best-practices.md':169,407 'reintento':90 'release/version':128 'relev':373 'reliabl':198,292,437,469 'replay':316 'request':64 'requir':149,321,418 'resourc':283,397 'restart':501 'retri':297 'reus':369 'review':95,103 'robust':16 'rollback':363,454,504 'rollout':358,475,483 'rout':251 'runtim':98,112,266,271 'schema':247 'secret':324,490 'secur':319,334,444,470 'serial/modbus/opc-ua':215 'set':435 'skill':32,62,371 'skill-python-azure-iot-edge-modules' 'slim':279 'slos':365 'smart':378 'snippet':175 'solut':381 'sourc':158,493 'source-github' 'specif':180,355 'specifi':269 'stage':361,486 'startup':287 'state':346 'strategi':276,310,359,442 'subirla':85 'support':117 'target':273 'telemetri':45,220,258,392 'telemetria':82 'templat':456 'test':449 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'traceabl':341 'translat':50 'transport':335 'trust':337 'un':68 'unless':176 'upstream':306 'use':30,59,60,211,261,406 'valid':37,208,296,473 'variabl':203 'version':121,249,272 'visual':398 'vs':256 'without':484 'workflow':236 'www.python.org':159 'y':89","prices":[{"id":"8cb98532-dccd-49a1-91f3-472357c77d94","listingId":"79a15190-3765-4653-80df-b5b23fd33582","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-29T06:52:06.919Z"}],"sources":[{"listingId":"79a15190-3765-4653-80df-b5b23fd33582","source":"github","sourceId":"github/awesome-copilot/python-azure-iot-edge-modules","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/python-azure-iot-edge-modules","isPrimary":false,"firstSeenAt":"2026-04-29T06:52:06.919Z","lastSeenAt":"2026-05-18T18:52:21.475Z"}],"details":{"listingId":"79a15190-3765-4653-80df-b5b23fd33582","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"python-azure-iot-edge-modules","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"8282534a7e75d4734a709d534d7bf6e14eea3dab","skill_md_path":"skills/python-azure-iot-edge-modules/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/python-azure-iot-edge-modules"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"python-azure-iot-edge-modules","description":"Build and operate Python Azure IoT Edge modules with robust messaging, deployment manifests, observability, and production readiness checks."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/python-azure-iot-edge-modules"},"updatedAt":"2026-05-18T18:52:21.475Z"}}