From e2ae5cc559884b49aaa83adfd9f1e4a0c31afb44 Mon Sep 17 00:00:00 2001 From: Sertxito Date: Wed, 29 Apr 2026 03:15:42 +0200 Subject: [PATCH] feat(skills): add IoT edge skills and align agent/instruction docs (#1431) * feat(skills): add IoT edge skills and align agent/instruction docs * fix(ci): handle fork permission errors in plugin structure check * fix(ci): allow intentional Spanish vocabulary in codespell * docs(skills): translate IoT edge skill content to English * fix(ci): pass codespell and README validation * chore: regenerate skills index after merge --- .github/workflows/check-plugin-structure.yml | 32 ++- .../azure-smart-city-iot-architect.agent.md | 46 +++++ docs/README.agents.md | 1 + docs/README.instructions.md | 1 + docs/README.skills.md | 5 +- ...zure-iot-edge-architecture.instructions.md | 26 +++ .../SKILL.md | 141 +++++++++++++ .../references/arduino-iot-checklist.md | 42 ++++ .../arduino-official-best-practices.md | 42 ++++ skills/azure-architecture-autopilot/README.md | 188 ++++++++++++++++++ .../SKILL.md | 156 +++++++++++++++ .../smart-city-solution-template.md | 73 +++++++ skills/python-azure-iot-edge-modules/SKILL.md | 139 +++++++++++++ .../references/python-edge-module-template.md | 63 ++++++ .../python-official-best-practices.md | 48 +++++ 15 files changed, 995 insertions(+), 8 deletions(-) create mode 100644 agents/azure-smart-city-iot-architect.agent.md create mode 100644 instructions/azure-iot-edge-architecture.instructions.md create mode 100644 skills/arduino-azure-iot-edge-integration/SKILL.md create mode 100644 skills/arduino-azure-iot-edge-integration/references/arduino-iot-checklist.md create mode 100644 skills/arduino-azure-iot-edge-integration/references/arduino-official-best-practices.md create mode 100644 skills/azure-architecture-autopilot/README.md create mode 100644 skills/azure-smart-city-iot-solution-builder/SKILL.md create mode 100644 skills/azure-smart-city-iot-solution-builder/references/smart-city-solution-template.md create mode 100644 skills/python-azure-iot-edge-modules/SKILL.md create mode 100644 skills/python-azure-iot-edge-modules/references/python-edge-module-template.md create mode 100644 skills/python-azure-iot-edge-modules/references/python-official-best-practices.md diff --git a/.github/workflows/check-plugin-structure.yml b/.github/workflows/check-plugin-structure.yml index dbd097f0..1a65b55e 100644 --- a/.github/workflows/check-plugin-structure.yml +++ b/.github/workflows/check-plugin-structure.yml @@ -153,13 +153,31 @@ jobs: '```', ].join('\n'); - await github.rest.pulls.createReview({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: context.issue.number, - event: 'REQUEST_CHANGES', - body - }); + let reviewPosted = false; + + if (!isFork) { + try { + await github.rest.pulls.createReview({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.issue.number, + event: 'REQUEST_CHANGES', + body + }); + reviewPosted = true; + } catch (error) { + core.warning( + `Could not create PR review (continuing with failure report): ${error.message}` + ); + } + } else { + core.warning('PR is from a fork; skipping createReview to avoid permission errors.'); + } + + if (!reviewPosted) { + core.warning('Materialized plugin issues detected. Full details:'); + core.warning(body); + } core.setFailed('Plugin directories contain materialized files or symlinks that should not be on staged'); } else { diff --git a/agents/azure-smart-city-iot-architect.agent.md b/agents/azure-smart-city-iot-architect.agent.md new file mode 100644 index 00000000..233e9c21 --- /dev/null +++ b/agents/azure-smart-city-iot-architect.agent.md @@ -0,0 +1,46 @@ +--- +name: 'Azure Smart City IoT Architect' +description: 'Design Azure IoT and Smart City architectures with clear platform engineering reasoning, requiring mandatory review of Azure IoT Edge documentation before recommending edge solutions.' +tools: ['search', 'search/codebase', 'edit/editFiles', 'fetch', 'runCommands', 'runTasks'] +model: 'GPT-5.3-Codex' +--- + +# Azure Smart City IoT Architect + +You are an Azure cloud architect focused on IoT and Smart City platforms. + +## Mandatory Documentation Gate + +Before providing any edge-related recommendation, review: + +- https://learn.microsoft.com/azure/iot-edge/ +- https://learn.microsoft.com/es-es/azure/iot-edge/ + +At minimum, verify: + +- What IoT Edge is and when it applies +- Runtime architecture +- Supported systems +- Version/release guidance +- Relevant Linux or Windows quickstart path for the proposal + +If the documentation is not available during the session, state this explicitly and mark recommendations as assumptions. + +## Architecture Reasoning Requirements + +- Start from business outcomes and operational constraints. +- Separate cloud, edge, and integration responsibilities. +- Explain trade-offs (latency, offline behavior, security, cost, operability). +- Prioritize secure-by-default recommendations (identity, secrets, least privilege, network boundaries). +- Include platform operations (monitoring, SLOs, incident ownership, update strategy). + +## Delivery Format + +For each solution, deliver: + +1. Context and assumptions +2. Proposed architecture and data flow +3. Why IoT Edge is or is not necessary +4. Security and operations model +5. Cost and scaling considerations +6. Implementation phases diff --git a/docs/README.agents.md b/docs/README.agents.md index 96b8d400..2a40b3cf 100644 --- a/docs/README.agents.md +++ b/docs/README.agents.md @@ -47,6 +47,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to | [Azure Policy Analyzer](../agents/azure-policy-analyzer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-policy-analyzer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-policy-analyzer.agent.md) | Analyze Azure Policy compliance posture (NIST SP 800-53, MCSB, CIS, ISO 27001, PCI DSS, SOC 2), auto-discover scope, and return a structured single-pass risk report with evidence and remediation commands. | | | [Azure Principal Architect mode instructions](../agents/azure-principal-architect.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-principal-architect.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-principal-architect.agent.md) | Provide expert Azure Principal Architect guidance using Azure Well-Architected Framework principles and Microsoft best practices. | | | [Azure SaaS Architect mode instructions](../agents/azure-saas-architect.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-saas-architect.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-saas-architect.agent.md) | Provide expert Azure SaaS Architect guidance focusing on multitenant applications using Azure Well-Architected SaaS principles and Microsoft best practices. | | +| [Azure Smart City IoT Architect](../agents/azure-smart-city-iot-architect.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-smart-city-iot-architect.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fazure-smart-city-iot-architect.agent.md) | Design Azure IoT and Smart City architectures with clear platform engineering reasoning, requiring mandatory review of Azure IoT Edge documentation before recommending edge solutions. | | | [Azure Terraform IaC Implementation Specialist](../agents/terraform-azure-implement.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fterraform-azure-implement.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fterraform-azure-implement.agent.md) | Act as an Azure Terraform Infrastructure as Code coding specialist that creates and reviews Terraform for Azure resources. | | | [Azure Terraform Infrastructure Planning](../agents/terraform-azure-planning.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fterraform-azure-planning.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fterraform-azure-planning.agent.md) | Act as implementation planner for your Azure Terraform Infrastructure as Code task. | | | [Bicep Planning](../agents/bicep-plan.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fbicep-plan.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fbicep-plan.agent.md) | Act as implementation planner for your Azure Bicep Infrastructure as Code task. | | diff --git a/docs/README.instructions.md b/docs/README.instructions.md index 60fa50f9..a2d45c00 100644 --- a/docs/README.instructions.md +++ b/docs/README.instructions.md @@ -35,6 +35,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-instructions) for guidelines on | [Azure Durable Functions C# Development](../instructions/azure-durable-functions-csharp.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-durable-functions-csharp.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-durable-functions-csharp.instructions.md) | Guidelines and best practices for building Azure Durable Functions in C# using the isolated worker model | | [Azure Functions C# Development](../instructions/azure-functions-csharp.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-csharp.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-csharp.instructions.md) | Guidelines and best practices for building Azure Functions in C# using the isolated worker model | | [Azure Functions Typescript](../instructions/azure-functions-typescript.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-typescript.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-typescript.instructions.md) | TypeScript patterns for Azure Functions | +| [Azure Iot Edge Architecture](../instructions/azure-iot-edge-architecture.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-iot-edge-architecture.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-iot-edge-architecture.instructions.md) | Require Azure IoT Edge documentation review before proposing edge IoT architectures or Azure implementation guidance. | | [Azure Logic Apps and Power Automate Instructions](../instructions/azure-logic-apps-power-automate.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-logic-apps-power-automate.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-logic-apps-power-automate.instructions.md) | Guidelines for developing Azure Logic Apps and Power Automate workflows with best practices for Workflow Definition Language (WDL), integration patterns, and enterprise automation | | [Azure Terraform Best Practices](../instructions/terraform-azure.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform-azure.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform-azure.instructions.md) | Create or modify solutions built using Terraform on Azure. | | [Azure Verified Modules (AVM) Bicep](../instructions/azure-verified-modules-bicep.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-verified-modules-bicep.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-verified-modules-bicep.instructions.md) | Azure Verified Modules (AVM) and Bicep | diff --git a/docs/README.skills.md b/docs/README.skills.md index 501c58a1..aa290290 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -40,6 +40,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [apple-appstore-reviewer](../skills/apple-appstore-reviewer/SKILL.md)
`gh skills install github/awesome-copilot apple-appstore-reviewer` | Serves as a reviewer of the codebase with instructions on looking for Apple App Store optimizations or rejection reasons. | None | | [arch-linux-triage](../skills/arch-linux-triage/SKILL.md)
`gh skills install github/awesome-copilot arch-linux-triage` | Triage and resolve Arch Linux issues with pacman, systemd, and rolling-release best practices. | None | | [architecture-blueprint-generator](../skills/architecture-blueprint-generator/SKILL.md)
`gh skills install github/awesome-copilot architecture-blueprint-generator` | Comprehensive project architecture blueprint generator that analyzes codebases to create detailed architectural documentation. Automatically detects technology stacks and architectural patterns, generates visual diagrams, documents implementation patterns, and provides extensible blueprints for maintaining architectural consistency and guiding new development. | None | +| [arduino-azure-iot-edge-integration](../skills/arduino-azure-iot-edge-integration/SKILL.md)
`gh skills install github/awesome-copilot arduino-azure-iot-edge-integration` | Design and implement Arduino integration with Azure IoT Hub and IoT Edge, including secure provisioning, resilient telemetry, command handling, and production guardrails. | `references/arduino-iot-checklist.md`
`references/arduino-official-best-practices.md` | | [arize-ai-provider-integration](../skills/arize-ai-provider-integration/SKILL.md)
`gh skills install github/awesome-copilot arize-ai-provider-integration` | INVOKE THIS SKILL when creating, reading, updating, or deleting Arize AI integrations. Covers listing integrations, creating integrations for any supported LLM provider (OpenAI, Anthropic, Azure OpenAI, AWS Bedrock, Vertex AI, Gemini, NVIDIA NIM, custom), updating credentials or metadata, and deleting integrations using the ax CLI. | `references/ax-profiles.md`
`references/ax-setup.md` | | [arize-annotation](../skills/arize-annotation/SKILL.md)
`gh skills install github/awesome-copilot arize-annotation` | INVOKE THIS SKILL when creating, managing, or using annotation configs on Arize (categorical, continuous, freeform), or applying human annotations to project spans via the Python SDK. Configs are the label schema for human feedback on spans and other surfaces in the Arize UI. Triggers: annotation config, label schema, human feedback schema, bulk annotate spans, update_annotations. | `references/ax-profiles.md`
`references/ax-setup.md` | | [arize-dataset](../skills/arize-dataset/SKILL.md)
`gh skills install github/awesome-copilot arize-dataset` | INVOKE THIS SKILL when creating, managing, or querying Arize datasets and examples. Covers dataset CRUD, appending examples, exporting data, and file-based dataset creation using the ax CLI. | `references/ax-profiles.md`
`references/ax-setup.md` | @@ -56,13 +57,14 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [autoresearch](../skills/autoresearch/SKILL.md)
`gh skills install github/awesome-copilot autoresearch` | Autonomous iterative experimentation loop for any programming task. Guides the user through defining goals, measurable metrics, and scope constraints, then runs an autonomous loop of code changes, testing, measuring, and keeping/discarding results. Inspired by Karpathy's autoresearch. USE FOR: autonomous improvement, iterative optimization, experiment loop, auto research, performance tuning, automated experimentation, hill climbing, try things automatically, optimize code, run experiments, autonomous coding loop. DO NOT USE FOR: one-shot tasks, simple bug fixes, code review, or tasks without a measurable metric. | None | | [aws-cdk-python-setup](../skills/aws-cdk-python-setup/SKILL.md)
`gh skills install github/awesome-copilot aws-cdk-python-setup` | Setup and initialization guide for developing AWS CDK (Cloud Development Kit) applications in Python. This skill enables users to configure environment prerequisites, create new CDK projects, manage dependencies, and deploy to AWS. | None | | [az-cost-optimize](../skills/az-cost-optimize/SKILL.md)
`gh skills install github/awesome-copilot az-cost-optimize` | Analyze Azure resources used in the app (IaC files and/or resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations. | None | -| [azure-architecture-autopilot](../skills/azure-architecture-autopilot/SKILL.md)
`gh skills install github/awesome-copilot azure-architecture-autopilot` | Design Azure infrastructure using natural language, or analyze existing Azure resources to auto-generate architecture diagrams, refine them through conversation, and deploy with Bicep.
When to use this skill: - "Create X on Azure", "Set up a RAG architecture" (new design) - "Analyze my current Azure infrastructure", "Draw a diagram for rg-xxx" (existing analysis) - "Foundry is slow", "I want to reduce costs", "Strengthen security" (natural language modification) - Azure resource deployment, Bicep template generation, IaC code generation - Microsoft Foundry, AI Search, OpenAI, Fabric, ADLS Gen2, Databricks, and all Azure services | `.gitignore`
`assets/06-architecture-diagram.png`
`assets/07-azure-portal-resources.png`
`assets/08-deployment-succeeded.png`
`references/ai-data.md`
`references/architecture-guidance-sources.md`
`references/azure-common-patterns.md`
`references/azure-dynamic-sources.md`
`references/bicep-generator.md`
`references/bicep-reviewer.md`
`references/phase0-scanner.md`
`references/phase1-advisor.md`
`references/phase4-deployer.md`
`references/service-gotchas.md`
`scripts/cli.py`
`scripts/generator.py`
`scripts/icons.py` | +| [azure-architecture-autopilot](../skills/azure-architecture-autopilot/SKILL.md)
`gh skills install github/awesome-copilot azure-architecture-autopilot` | Design Azure infrastructure using natural language, or analyze existing Azure resources to auto-generate architecture diagrams, refine them through conversation, and deploy with Bicep.
When to use this skill: - "Create X on Azure", "Set up a RAG architecture" (new design) - "Analyze my current Azure infrastructure", "Draw a diagram for rg-xxx" (existing analysis) - "Foundry is slow", "I want to reduce costs", "Strengthen security" (natural language modification) - Azure resource deployment, Bicep template generation, IaC code generation - Microsoft Foundry, AI Search, OpenAI, Fabric, ADLS Gen2, Databricks, and all Azure services | `.gitignore`
`README.md`
`assets/06-architecture-diagram.png`
`assets/07-azure-portal-resources.png`
`assets/08-deployment-succeeded.png`
`references/ai-data.md`
`references/architecture-guidance-sources.md`
`references/azure-common-patterns.md`
`references/azure-dynamic-sources.md`
`references/bicep-generator.md`
`references/bicep-reviewer.md`
`references/phase0-scanner.md`
`references/phase1-advisor.md`
`references/phase4-deployer.md`
`references/service-gotchas.md`
`scripts/cli.py`
`scripts/generator.py`
`scripts/icons.py` | | [azure-deployment-preflight](../skills/azure-deployment-preflight/SKILL.md)
`gh skills install github/awesome-copilot azure-deployment-preflight` | Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision. | `references/ERROR-HANDLING.md`
`references/REPORT-TEMPLATE.md`
`references/VALIDATION-COMMANDS.md` | | [azure-devops-cli](../skills/azure-devops-cli/SKILL.md)
`gh skills install github/awesome-copilot azure-devops-cli` | Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints. Use when working with Azure DevOps, az commands, devops automation, CI/CD, or when user mentions Azure DevOps CLI. | `references/advanced-usage.md`
`references/boards-and-iterations.md`
`references/org-and-security.md`
`references/pipelines-and-builds.md`
`references/repos-and-prs.md`
`references/variables-and-agents.md`
`references/workflows-and-patterns.md` | | [azure-pricing](../skills/azure-pricing/SKILL.md)
`gh skills install github/awesome-copilot azure-pricing` | Fetches real-time Azure retail pricing using the Azure Retail Prices API (prices.azure.com) and estimates Copilot Studio agent credit consumption. Use when the user asks about the cost of any Azure service, wants to compare SKU prices, needs pricing data for a cost estimate, mentions Azure pricing, Azure costs, Azure billing, or asks about Copilot Studio pricing, Copilot Credits, or agent usage estimation. Covers compute, storage, networking, databases, AI, Copilot Studio, and all other Azure service families. | `references/COPILOT-STUDIO-RATES.md`
`references/COST-ESTIMATOR.md`
`references/REGIONS.md`
`references/SERVICE-NAMES.md` | | [azure-resource-health-diagnose](../skills/azure-resource-health-diagnose/SKILL.md)
`gh skills install github/awesome-copilot azure-resource-health-diagnose` | Analyze Azure resource health, diagnose issues from logs and telemetry, and create a remediation plan for identified problems. | None | | [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md)
`gh skills install github/awesome-copilot azure-resource-visualizer` | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` | | [azure-role-selector](../skills/azure-role-selector/SKILL.md)
`gh skills install github/awesome-copilot azure-role-selector` | When user is asking for guidance for which role to assign to an identity given desired permissions, this agent helps them understand the role that will meet the requirements with least privilege access and how to apply that role. | `LICENSE.txt` | +| [azure-smart-city-iot-solution-builder](../skills/azure-smart-city-iot-solution-builder/SKILL.md)
`gh skills install github/awesome-copilot azure-smart-city-iot-solution-builder` | Design and plan end-to-end Azure IoT and Smart City solutions: requirements, architecture, security, operations, cost, and a phased delivery plan with concrete implementation artifacts. | `references/smart-city-solution-template.md` | | [azure-static-web-apps](../skills/azure-static-web-apps/SKILL.md)
`gh skills install github/awesome-copilot azure-static-web-apps` | Helps create, configure, and deploy Azure Static Web Apps using the SWA CLI. Use when deploying static sites to Azure, setting up SWA local development, configuring staticwebapp.config.json, adding Azure Functions APIs to SWA, or setting up GitHub Actions CI/CD for Static Web Apps. | None | | [batch-files](../skills/batch-files/SKILL.md)
`gh skills install github/awesome-copilot batch-files` | Expert-level Windows batch file (.bat/.cmd) skill for writing, debugging, and maintaining CMD scripts. Use when asked to "create a batch file", "write a .bat script", "automate a Windows task", "CMD scripting", "batch automation", "scheduled task script", "Windows shell script", or when working with .bat/.cmd files in the workspace. Covers cmd.exe syntax, environment variables, control flow, string processing, error handling, and integration with system tools. | `assets/executable.txt`
`assets/library.txt`
`assets/task.txt`
`references/batch-files-and-functions.md`
`references/cygwin.md`
`references/msys2.md`
`references/tools-and-resources.md`
`references/windows-commands.md`
`references/windows-subsystem-on-linux.md` | | [bigquery-pipeline-audit](../skills/bigquery-pipeline-audit/SKILL.md)
`gh skills install github/awesome-copilot bigquery-pipeline-audit` | Audits Python + BigQuery pipelines for cost safety, idempotency, and production readiness. Returns a structured report with exact patch locations. | None | @@ -260,6 +262,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [prompt-builder](../skills/prompt-builder/SKILL.md)
`gh skills install github/awesome-copilot prompt-builder` | Guide users through creating high-quality GitHub Copilot prompts with proper structure, tools, and best practices. | None | | [publish-to-pages](../skills/publish-to-pages/SKILL.md)
`gh skills install github/awesome-copilot publish-to-pages` | Publish presentations and web content to GitHub Pages. Converts PPTX, PDF, HTML, or Google Slides to a live GitHub Pages URL. Handles repo creation, file conversion, Pages enablement, and returns the live URL. Use when the user wants to publish, deploy, or share a presentation or HTML file via GitHub Pages. | `scripts/convert-pdf.py`
`scripts/convert-pptx.py`
`scripts/publish.sh` | | [pytest-coverage](../skills/pytest-coverage/SKILL.md)
`gh skills install github/awesome-copilot pytest-coverage` | Run pytest tests with coverage, discover lines missing coverage, and increase coverage to 100%. | None | +| [python-azure-iot-edge-modules](../skills/python-azure-iot-edge-modules/SKILL.md)
`gh skills install github/awesome-copilot python-azure-iot-edge-modules` | Build and operate Python Azure IoT Edge modules with robust messaging, deployment manifests, observability, and production readiness checks. | `references/python-edge-module-template.md`
`references/python-official-best-practices.md` | | [python-mcp-server-generator](../skills/python-mcp-server-generator/SKILL.md)
`gh skills install github/awesome-copilot python-mcp-server-generator` | Generate a complete MCP server project in Python with tools, resources, and proper configuration | None | | [python-pypi-package-builder](../skills/python-pypi-package-builder/SKILL.md)
`gh skills install github/awesome-copilot python-pypi-package-builder` | End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI. Covers all four build backends (setuptools+setuptools_scm, hatchling, flit, poetry), PEP 440 versioning, semantic versioning, dynamic git-tag versioning, OOP/SOLID design, type hints (PEP 484/526/544/561), Trusted Publishing (OIDC), and the full PyPA packaging flow. Use for: creating Python packages, pip-installable SDKs, CLI tools, framework plugins, pyproject.toml setup, py.typed, setuptools_scm, semver, mypy, pre-commit, GitHub Actions CI/CD, or PyPI publishing. | `references/architecture-patterns.md`
`references/ci-publishing.md`
`references/community-docs.md`
`references/library-patterns.md`
`references/pyproject-toml.md`
`references/release-governance.md`
`references/testing-quality.md`
`references/tooling-ruff.md`
`references/versioning-strategy.md`
`scripts/scaffold.py` | | [qdrant-clients-sdk](../skills/qdrant-clients-sdk/SKILL.md)
`gh skills install github/awesome-copilot qdrant-clients-sdk` | Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments. | None | diff --git a/instructions/azure-iot-edge-architecture.instructions.md b/instructions/azure-iot-edge-architecture.instructions.md new file mode 100644 index 00000000..3fc86666 --- /dev/null +++ b/instructions/azure-iot-edge-architecture.instructions.md @@ -0,0 +1,26 @@ +--- +description: 'Require Azure IoT Edge documentation review before proposing edge IoT architectures or Azure implementation guidance.' +applyTo: '**/*.bicep,**/*.tf,**/*iot*.md,**/*smart-city*.md,**/*edge*.md' +--- + +## Azure IoT Edge Architecture Instruction + +When the task includes Azure IoT, Smart City, edge processing, gateway design, or disconnected edge scenarios, do this before providing architecture recommendations: + +1. Review Azure IoT Edge documentation first: + - https://learn.microsoft.com/azure/iot-edge/ + - https://learn.microsoft.com/es-es/azure/iot-edge/ +2. Confirm key constraints from the documentation: + - Runtime architecture + - Supported systems + - Version/release status + - Relevant Linux/Windows quickstart path +3. Explicitly state that you reviewed the documentation, or state that it could not be consulted. +4. If the documentation was not accessible, continue with clearly labeled assumptions. + +### Response Rules + +- Never jump directly to a list of services without validating edge applicability first. +- Always explain why IoT Edge is or is not required. +- Include operational implications: update strategy, observability, and support model. +- Prioritize secure defaults: managed identity, least privilege, secret management, and network isolation. diff --git a/skills/arduino-azure-iot-edge-integration/SKILL.md b/skills/arduino-azure-iot-edge-integration/SKILL.md new file mode 100644 index 00000000..0cf58568 --- /dev/null +++ b/skills/arduino-azure-iot-edge-integration/SKILL.md @@ -0,0 +1,141 @@ +--- +name: arduino-azure-iot-edge-integration +description: 'Design and implement Arduino integration with Azure IoT Hub and IoT Edge, including secure provisioning, resilient telemetry, command handling, and production guardrails.' +--- + +# Arduino Azure IoT Edge Integration + +Use this skill when the user needs to connect Arduino-class devices to Azure IoT, especially in edge-heavy scenarios (gateways, intermittent networks, offline buffering, and local actuation). + +## When to use it + +Use this skill for requests such as: + +- "I want to connect Arduino sensors to Azure" +- "How do I send MQTT telemetry to IoT Hub?" +- "I need an edge gateway for field devices" +- "I want cloud-to-device commands and OTA configuration updates" + +## Mandatory documentation review + +Before recommending an IoT Edge topology or runtime behavior, review: + +- https://learn.microsoft.com/azure/iot-edge/ + +If documentation cannot be consulted, proceed with explicit assumptions and highlight them in a dedicated section. + +## Official Arduino references and best practices (required) + +Before proposing firmware, wiring, or communication implementation details, consult official Arduino sources first: + +- https://www.arduino.cc/en/Guide +- https://docs.arduino.cc/ +- https://docs.arduino.cc/language-reference/ +- references/arduino-official-best-practices.md + +When choosing between implementation alternatives, prioritize official Arduino guidance over community snippets unless there is a clear technical reason to deviate. + +## Objectives + +- Produce a secure end-to-end reference path from the Arduino device to cloud insights. +- Handle unstable links (store-and-forward, retries, idempotency). +- Define an actionable device and cloud backlog. + +## Integration patterns + +### Pattern A: Arduino direct to IoT Hub + +Use when connectivity is stable and cloud latency is acceptable. + +- Protocol: MQTT over TLS. +- Identity: per-device credentials (SAS or X.509). +- Telemetry payload: compact JSON with timestamp, device ID, metrics, and optional quality flags. + +### Pattern B: Arduino to local gateway, then IoT Edge + +Use when links are constrained, local control is required, or batching improves cost/reliability. + +- Arduino communicates with a local gateway (serial, BLE, local MQTT, RS-485, Modbus bridge). +- The gateway publishes upstream through the IoT Edge runtime and routes data to IoT Hub. +- Local modules can filter, aggregate, and trigger actions even during cloud outages. + +## Design flow + +### 1) Device contract + +Define: + +- Sensor catalog and units. +- Sampling frequency and expected throughput. +- Message schema versioning strategy. +- Desired/reported device twin properties to control runtime behavior. + +### 2) Security baseline + +Require: + +- Unique identity per device. +- No hardcoded secrets in source code or firmware artifacts. +- Credential rotation strategy. +- Signed firmware and a controlled update process when possible. + +### 3) Reliability and offline behavior + +Plan and document: + +- Backoff with jitter. +- Local queue/buffer strategy with bounded size. +- Duplicate suppression or downstream idempotent processing. +- Fallback to last-known-good configuration. + +### 4) Cloud and edge routing + +Define routes for: + +- Raw telemetry to cold storage. +- Curated telemetry to hot analytics. +- Alerts to operations channels. +- Commands and configuration back to edge/device. + +### 5) Observability + +Specify minimum operations telemetry: + +- Device heartbeat and firmware version. +- Connectivity state transitions. +- Message send success/error counters. +- Gateway module health and restart reasons. + +## Reuse other skills + +When relevant, combine with: + +- `azure-smart-city-iot-solution-builder` for city-wide architecture and phased rollout. +- `azure-resource-visualizer` for relationship diagrams. +- `appinsights-instrumentation` for app and service telemetry patterns. + +Also use `references/arduino-official-best-practices.md` as a quality baseline for firmware and hardware recommendations. + +## Required output + +Always provide: + +1. Chosen connectivity pattern and rationale. +2. Message contract (fields, units, sample payload). +3. Security checklist for identity/credentials/updates. +4. Reliability plan (retry, buffering, dedupe). +5. Implementation backlog (firmware, gateway, cloud). + +## Output template + +1. Scenario and assumptions +2. Recommended architecture +3. Device and gateway contract +4. Security and reliability controls +5. Deployment plan and validation tests + +## Guidelines + +- Do not propose production deployments with shared credentials across devices. +- Do not assume always-on connectivity in field deployments. +- Do not omit command authorization and auditing in actuator scenarios. diff --git a/skills/arduino-azure-iot-edge-integration/references/arduino-iot-checklist.md b/skills/arduino-azure-iot-edge-integration/references/arduino-iot-checklist.md new file mode 100644 index 00000000..61e3f8d1 --- /dev/null +++ b/skills/arduino-azure-iot-edge-integration/references/arduino-iot-checklist.md @@ -0,0 +1,42 @@ +# Arduino Azure IoT Checklist + +Use this checklist before finalizing architecture or implementation guidance. + +## 0) Official Arduino Baseline + +- Official references reviewed from and . +- Language/API calls validated against . +- Best practices reviewed from `references/arduino-official-best-practices.md`. + +## 1) Device Profile + +- MCU model and memory constraints documented. +- Sensor list and sampling strategy defined. +- Power model documented (mains, battery, sleep cycles). + +## 2) Connectivity + +- Selected transport documented (MQTT over TLS preferred). +- Network failure behavior defined. +- Local timestamp strategy defined if device lacks RTC sync. + +## 3) Security + +- Unique identity per device. +- No secrets in source control. +- Credential rotation plan documented. +- Firmware update and rollback plan documented. + +## 4) Edge and Cloud Flow + +- Routing from edge to IoT Hub documented. +- Offline buffering limits defined. +- Duplicate handling strategy documented. +- Alerting thresholds and destinations defined. + +## 5) Validation + +- Connectivity soak test scenario. +- Packet loss and reconnection test. +- Command authorization test. +- Firmware version and health reporting verification. diff --git a/skills/arduino-azure-iot-edge-integration/references/arduino-official-best-practices.md b/skills/arduino-azure-iot-edge-integration/references/arduino-official-best-practices.md new file mode 100644 index 00000000..0fc4acac --- /dev/null +++ b/skills/arduino-azure-iot-edge-integration/references/arduino-official-best-practices.md @@ -0,0 +1,42 @@ +# Arduino Official References and Best Practices + +Use these official Arduino resources before finalizing firmware or hardware guidance. + +## Official References + +- Arduino main guide: +- Arduino docs home: +- Getting started path: +- Arduino IDE usage: +- Arduino language reference: +- Arduino programming reference overview: +- Arduino memory guide: +- Arduino debugging fundamentals: +- Arduino low-power design guide: +- Arduino communication protocols index: +- Arduino style guide for libraries: + +## Firmware Best Practices + +- Keep the `loop()` non-blocking; avoid long `delay()` usage in production logic. +- Use `millis()`-based scheduling for periodic tasks. +- Budget SRAM explicitly and avoid dynamic allocation in hot paths. +- Validate sensor ranges and provide safe defaults for invalid readings. +- Add startup self-checks and periodic health heartbeat messages. +- Version the payload schema and firmware version in every telemetry stream. +- Implement retry with exponential backoff and jitter for network operations. +- Store credentials outside source code and rotate them according to policy. + +## Hardware and Power Best Practices + +- Document voltage levels, pin mapping, and current limits per peripheral. +- Design for brownout and power fluctuation scenarios. +- Use watchdog and safe recovery behavior where available. +- Plan low-power modes for battery deployments and validate wake cycles. + +## Integration Best Practices for Azure IoT + +- Prefer secure transports (MQTT over TLS) and per-device identity. +- Define idempotent upstream processing for duplicate message scenarios. +- Include device health metrics (uptime, reset reason, RSSI where applicable). +- Validate offline buffering bounds to avoid uncontrolled memory growth. diff --git a/skills/azure-architecture-autopilot/README.md b/skills/azure-architecture-autopilot/README.md new file mode 100644 index 00000000..20cb000e --- /dev/null +++ b/skills/azure-architecture-autopilot/README.md @@ -0,0 +1,188 @@ +

Azure Architecture Autopilot

+ +

+ Design → Diagram → Bicep → Deployment - all from natural language +

+ +

+ Copilot Skill + Azure + Bicep + Service Types + License +

+ +

+ Azure Architecture Autopilot designs Azure infrastructure from natural language,
+ generates interactive diagrams, produces modular Bicep templates, and deploys - all through conversation.
+ It also scans existing resources, visualizes them as architecture diagrams, and refines them on the fly. +

+ + +

+ Interactive Azure architecture diagram with 605+ official icons +

+ +

+ ↑ Auto-generated interactive diagram — drag, zoom, click for details, export to PNG +

+ +

+ Deployment succeeded +    + Azure Portal — deployed resources +

+ +

+ ↑ Real Azure resources deployed from the generated Bicep templates +

+ +

+ How It Works • + Features • + Prerequisites • + Usage • + Architecture +

+ +--- + +## 🔄 How It Works + +``` +Path A: "Build me a RAG chatbot on Azure" + ↓ + 🎨 Design → 🔧 Bicep → ✅ Review → 🚀 Deploy + +Path B: "Analyze my current Azure resources" + ↓ + 🔍 Scan → 🎨 Modify → 🔧 Bicep → ✅ Review → 🚀 Deploy +``` + +| Phase | Role | What Happens | +|:-----:|------|--------------| +| **0** | 🔍 Scanner | Scans existing Azure resources via `az` CLI → auto-generates architecture diagram | +| **1** | 🎨 Advisor | Interactive design through conversation — asks targeted questions with smart defaults | +| **2** | 🔧 Generator | Produces modular Bicep: `main.bicep` + `modules/*.bicep` + `.bicepparam` | +| **3** | ✅ Reviewer | Compiles with `az bicep build`, checks security & best practices | +| **4** | 🚀 Deployer | `validate` → `what-if` → preview diagram → `create` (5-step mandatory sequence) | + +--- + +## ✨ Features + +| | Feature | Description | +|---|---------|-------------| +| 📦 | **Zero Dependencies** | 605+ Azure icons bundled — no `pip install`, works offline | +| 🎨 | **Interactive Diagrams** | Drag-and-drop HTML with zoom, click details, PNG export | +| 🔍 | **Resource Scanning** | Analyze existing Azure infra → auto-generate architecture diagrams | +| 💬 | **Natural Language** | *"It's slow"*, *"reduce costs"*, *"add security"* → guided resolution | +| 📊 | **Live Verification** | API versions, SKUs, model availability fetched from MS Docs in real-time | +| 🔒 | **Secure by Default** | Private Endpoints, RBAC, managed identity — no secrets in files | +| ⚡ | **Parallel Preload** | Next-phase info loaded while waiting for user input | +| 🌐 | **Multi-Language** | Auto-detects user language — responds in English, Korean, or any language | + +--- + +## ⚙️ Prerequisites + +| Tool | Required | Install | +|------|:--------:|---------| +| **GitHub Copilot CLI** | ✅ | [Install guide](https://docs.github.com/copilot/concepts/agents/about-copilot-cli) | +| **Azure CLI** | ✅ | `winget install Microsoft.AzureCLI` / `brew install azure-cli` | +| **Python 3.10+** | ✅ | `winget install Python.Python.3.12` / `brew install python` | + +> No additional packages required — the diagram engine is bundled in `scripts/`. + +### 🤖 Recommended Models + +| | Models | Notes | +|---|--------|-------| +| 🏆 **Best** | Claude Opus 4.5 / 4.6 | Most reliable for all 5 phases | +| ✅ **Recommended** | Claude Sonnet 4.5 / 4.6 | Best cost-performance balance | +| ⚠️ **Minimum** | Claude Sonnet 4, GPT-5.1+ | May skip steps in complex architectures | + +--- + +## 🚀 Usage + +### Path A — Build new infrastructure + +``` +"Build a RAG chatbot with Foundry and AI Search" +"Create a data platform with Databricks and ADLS Gen2" +"Deploy Fabric + ADF pipeline with private endpoints" +"Set up a microservices architecture with AKS and Cosmos DB" +``` + +### Path B — Analyze & modify existing resources + +``` +"Analyze my current Azure infrastructure" +"Scan rg-production and show me the architecture" +"What resources are in my subscription?" +``` + +Then modify through conversation: +``` +"Add 3 VMs to this architecture" +"The Foundry endpoint is slow — what can I do?" +"Reduce costs — downgrade AI Search to Basic" +"Add private endpoints to all services" +``` + +### 📂 Output Structure + +``` +/ +├── 00_arch_current.html ← Scanned architecture (Path B) +├── 01_arch_diagram_draft.html ← Design diagram +├── 02_arch_diagram_preview.html ← What-if preview +├── 03_arch_diagram_result.html ← Deployment result +├── main.bicep ← Orchestration +├── main.bicepparam ← Parameter values +└── modules/ + └── *.bicep ← Per-service modules +``` + +--- + +## 📁 Architecture + +``` +SKILL.md ← Lightweight router (~170 lines) +│ +├── scripts/ ← Embedded diagram engine +│ ├── generator.py ← Interactive HTML generator +│ ├── icons.py ← 605+ Azure icons (Base64 SVG) +│ └── cli.py ← CLI entry point +│ +└── references/ ← Phase instructions + patterns + ├── phase0-scanner.md ← 🔍 Resource scanning + ├── phase1-advisor.md ← 🎨 Architecture design + ├── bicep-generator.md ← 🔧 Bicep generation + ├── bicep-reviewer.md ← ✅ Code review + ├── phase4-deployer.md ← 🚀 Deployment pipeline + ├── service-gotchas.md ← Required properties & PE mappings + ├── azure-common-patterns.md ← Security & naming patterns + ├── azure-dynamic-sources.md ← MS Docs URL registry + ├── architecture-guidance-sources.md + └── ai-data.md ← AI/Data service domain pack +``` + +> **Self-contained** — `SKILL.md` is a lightweight router. All phase logic lives in `references/`. The diagram engine is embedded in `scripts/` with no external dependencies. + +--- + +## 📊 Supported Services (70+ types) + +All Azure services supported. AI/Data services have optimized templates; others are auto-looked up from MS Docs. + +**Key types:** `ai_foundry` · `openai` · `ai_search` · `storage` · `adls` · `keyvault` · `fabric` · `databricks` · `aks` · `vm` · `app_service` · `function_app` · `cosmos_db` · `sql_server` · `postgresql` · `mysql` · `synapse` · `adf` · `apim` · `service_bus` · `logic_apps` · `event_grid` · `event_hub` · `container_apps` · `app_insights` · `log_analytics` · `firewall` · `front_door` · `load_balancer` · `expressroute` · `sentinel` · `redis` · `iot_hub` · `digital_twins` · `signalr` · `acr` · `bastion` · `vpn_gateway` · `data_explorer` · `document_intelligence` ... + + +--- + +## 📄 License + +MIT © [Jeonghoon Lee](https://github.com/whoniiii) diff --git a/skills/azure-smart-city-iot-solution-builder/SKILL.md b/skills/azure-smart-city-iot-solution-builder/SKILL.md new file mode 100644 index 00000000..79b20041 --- /dev/null +++ b/skills/azure-smart-city-iot-solution-builder/SKILL.md @@ -0,0 +1,156 @@ +--- +name: azure-smart-city-iot-solution-builder +description: 'Design and plan end-to-end Azure IoT and Smart City solutions: requirements, architecture, security, operations, cost, and a phased delivery plan with concrete implementation artifacts.' +--- + +# Azure Smart City IoT Solution Builder + +Use this skill to rebuild and standardize a complete workflow for Azure IoT and Smart City solutions. + +## When to use it + +Use this skill when the user asks for things like: + +- "I want to build an IoT solution on Azure" +- "Smart City architecture for traffic, lighting, or waste" +- "How do I connect devices, analytics, and alerts?" +- "I need a roadmap and backlog for an urban platform" + +## Objectives + +- Convert a high-level idea into a deployable architecture. +- Reuse existing Azure-focused skills whenever possible. +- Produce concrete artifacts the team can implement. + +## Workflow + +### 0) Mandatory documentation review (before any architecture) + +Before proposing architecture or technology decisions that involve edge computing, review Azure IoT Edge documentation first: + +- https://learn.microsoft.com/azure/iot-edge/ + +Minimum pages to review: + +- What is Azure IoT Edge +- Runtime architecture +- Supported systems +- Version history/release notes +- Relevant Linux/Windows quickstarts for the scenario + +If documentation cannot be consulted, state this explicitly and continue with clearly marked assumptions. + +### 1) Scope and constraints + +Collect and confirm: + +- City domain: mobility, parking, air quality, water, energy, public safety, waste, etc. +- Scale: number of devices, telemetry frequency, retention, regions. +- Latency and availability objectives. +- Regulatory and privacy constraints. +- Existing systems to integrate (SCADA, GIS, ERP, ticketing, APIs). + +### 2) Capability map + +Split the platform into layers: + +- Device and edge: onboarding, identity, firmware, OTA, edge processing. +- Ingestion and messaging: command and control, event routing, buffering. +- Data and analytics: hot path vs cold path, dashboards, historical analysis. +- Operations: observability, incident flow, SLOs. +- Governance: RBAC, secrets, policies, network isolation. + +### 3) Azure service selection (reference) + +- Device connectivity: Azure IoT Hub, Azure IoT Operations, IoT Edge. +- Event streaming: Event Hubs, Service Bus, Event Grid. +- Storage: Blob Storage, Data Lake, Cosmos DB, SQL. +- Analytics: Azure Data Explorer, Stream Analytics, Fabric/Synapse. +- APIs and applications: API Management, App Service, Container Apps, Functions. +- Monitoring: Azure Monitor, Application Insights, Log Analytics. +- Security: Key Vault, Defender for IoT, Private Endpoints, Managed Identity. + +### 4) Non-functional design + +Define and document: + +- Reliability model (zones/regions, retries, dead-letter handling, replay). +- Security controls (zero trust, encryption, secret rotation, least privilege). +- Cost controls (retention tiers, rightsizing, autoscaling, workload scheduling). +- Data lifecycle (raw, curated, aggregated, archived). + +### 5) Delivery plan + +Create a phased execution: + +- Phase 1: Pilot district or single use case. +- Phase 2: Multi-domain integration. +- Phase 3: City-scale rollout and optimization. + +For each phase, include: + +- Exit criteria +- Dependencies +- Risks and mitigations +- KPI set + +## Reuse other skills first + +There are two sources of skills: + +- Runtime-provided skills (external to this repository): only available when the Copilot host environment exposes them. +- Local repository skills (this repository): available as local files under `skills/`. + +### Runtime-provided Azure skills (optional) + +If they are available in the execution environment, delegate to these specialized skills for deeper guidance: + +- `azure-kubernetes` +- `azure-messaging` +- `azure-observability` +- `azure-storage` +- `azure-rbac` +- `azure-cost` +- `azure-validate` +- `azure-deploy` + +### Local repository alternatives (use in this repo) + +When runtime skills are not available, prioritize existing local skills in this repository: + +- `azure-architecture-autopilot` for architecture generation and refinement. +- `azure-resource-visualizer` for resource relationship diagrams. +- `azure-role-selector` for role selection guidance. +- `az-cost-optimize` and `azure-pricing` for cost and pricing analysis. +- `azure-deployment-preflight` for pre-deployment checks. +- `appinsights-instrumentation` for telemetry instrumentation patterns. + +If no specialized skill is available, continue with this skill and keep assumptions explicit. + +## Required output artifacts + +Always provide these outputs: + +1. Smart City solution summary (scope, assumptions, constraints). +2. Reference architecture (components and data flow). +3. Security and governance checklist. +4. Cost and scaling strategy. +5. Phased implementation backlog (epics and milestones). + +## Output template + +Use this response structure: + +1. Context and objectives +2. Proposed architecture +3. Technology decisions and trade-offs +4. Security, operations, and cost controls +5. Phased implementation plan +6. Risks and open questions + +## Guidelines + +- Do not jump to deployment before validating prerequisites. +- Do not recommend single-region production for critical city workloads. +- Do not omit operational ownership (who handles incidents, SLAs, change windows). +- Clearly separate assumptions from confirmed facts. diff --git a/skills/azure-smart-city-iot-solution-builder/references/smart-city-solution-template.md b/skills/azure-smart-city-iot-solution-builder/references/smart-city-solution-template.md new file mode 100644 index 00000000..80126bdf --- /dev/null +++ b/skills/azure-smart-city-iot-solution-builder/references/smart-city-solution-template.md @@ -0,0 +1,73 @@ +# Smart City IoT Solution Template + +Use this template to standardize outputs for each new smart city scenario. + +## 1. Use case summary + +- Domain: +- Stakeholders: +- Problem statement: +- Success metrics: + +## 2. Device and data profile + +- Device types and count: +- Telemetry schema: +- Ingestion rate: +- Command/control requirements: +- Retention policy: + +## 3. Reference architecture + +- Edge and field layer: +- Ingestion layer: +- Processing layer: +- Storage layer: +- API and integration layer: +- Monitoring and security layer: + +## 4. NFR checklist + +- Availability target: +- Latency target: +- Security controls: +- Data privacy constraints: +- DR strategy: +- Cost target: + +## 5. Phased roadmap + +### Phase 1 - Pilot + +- Scope: +- Deliverables: +- Exit criteria: + +### Phase 2 - Scale + +- Scope: +- Deliverables: +- Exit criteria: + +### Phase 3 - Optimize + +- Scope: +- Deliverables: +- Exit criteria: + +## 6. Initial backlog baseline + +- Epic: Device onboarding and identity +- Epic: Telemetry ingestion and routing +- Epic: Real-time alerting and incident workflow +- Epic: Historical analytics and reporting +- Epic: Security and compliance hardening +- Epic: Governance and cost optimization + +## 7. Risks + +- Vendor/device interoperability gaps +- Network reliability in field locations +- Data quality issues and schema drift +- Over-retention that increases costs +- Ambiguity in operational ownership diff --git a/skills/python-azure-iot-edge-modules/SKILL.md b/skills/python-azure-iot-edge-modules/SKILL.md new file mode 100644 index 00000000..8282534a --- /dev/null +++ b/skills/python-azure-iot-edge-modules/SKILL.md @@ -0,0 +1,139 @@ +--- +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.' +--- + +# Python Azure IoT Edge Modules + +Use this skill to design, implement, and validate Python-based IoT Edge modules for telemetry processing, local inference, protocol translation, and edge-to-cloud integration. + +## When To Use + +Use this skill for requests like: + +- "quiero crear un modulo Python para IoT Edge" +- "como despliego modulos edge con manifest" +- "necesito filtrar/agregar telemetria antes de subirla" +- "como manejo desconexiones y reintentos en edge" + +## Mandatory Docs Review + +Before recommending runtime behavior or deployment decisions, review: + +- https://learn.microsoft.com/azure/iot-edge/ +- https://learn.microsoft.com/es-es/azure/iot-edge/ + +Minimum checks: + +- Runtime architecture and module lifecycle. +- Supported host OS and versions. +- Deployment model and configuration flow. +- Current release/version guidance. + +If documentation cannot be fetched, proceed with explicit assumptions and flag them clearly. + +## Python Official References and Best Practices (Required) + +Before proposing Python implementation details, consult official Python sources: + +- https://www.python.org/ +- https://docs.python.org/3/ +- https://docs.python.org/3/reference/ +- https://docs.python.org/3/library/ +- references/python-official-best-practices.md + +Prefer official docs over community snippets unless there is a specific compatibility reason to deviate. + +## Goals + +- Deliver module architecture and implementation plan that is production-focused. +- Ensure reliable edge messaging under network variability. +- Provide deployment, observability, and validation artifacts. + +## Module Use Cases + +- Protocol adapter (serial/Modbus/OPC-UA to IoT message format). +- Telemetry enrichment and normalization. +- Local anomaly detection or inference. +- Command orchestration and local actuator control. + +## Delivery Workflow + +### 1) Contract and Interfaces + +Define: + +- Module inputs and outputs. +- Message schema and versioning policy. +- Routes and priorities for normal vs critical telemetry. +- Desired properties used for dynamic configuration. + +### 2) Runtime and Packaging + +Specify: + +- Python runtime version target. +- Container image strategy (base image, slim footprint, CVE hygiene). +- Resource profile (CPU/memory bounds). +- Startup and health checks. + +### 3) Reliability Design + +Implement and validate: + +- Retries with exponential backoff and jitter. +- Graceful degradation on upstream failures. +- Local queueing strategy where needed. +- Idempotent processing for replayed messages. + +### 4) Security Controls + +Require: + +- No plaintext secrets in code or manifest. +- Least-privilege module behavior. +- Secure transport and trusted cert chain handling. +- Traceability for command handling and state changes. + +### 5) Deployment and Operations + +Define: + +- Environment-specific deployment manifests. +- Rollout strategy (pilot, staged, broad). +- Rollback criteria. +- SLOs and alerting conditions. + +## Reuse Other Skills + +When relevant, combine with: + +- `azure-smart-city-iot-solution-builder` for platform-level architecture. +- `appinsights-instrumentation` for telemetry instrumentation approaches. +- `azure-resource-visualizer` for architecture diagrams and dependency mapping. + +Also use `references/python-official-best-practices.md` as baseline quality criteria for module design and implementation guidance. + +## Required Output + +Always provide: + +1. Module design brief (purpose, inputs, outputs). +2. Deployment model (image, manifest, env settings). +3. Reliability and error-handling strategy. +4. Security and operations checklist. +5. Test matrix (functional, chaos, performance, rollback). + +## Output Template + +1. Context and assumptions +2. Module architecture +3. Deployment and configuration +4. Reliability, security, observability +5. Validation and rollout plan + +## Guardrails + +- Do not recommend direct production rollout without pilot stage. +- Do not embed secrets in Dockerfiles, source, or manifests. +- Do not omit health probes, restart behavior, and rollback criteria. diff --git a/skills/python-azure-iot-edge-modules/references/python-edge-module-template.md b/skills/python-azure-iot-edge-modules/references/python-edge-module-template.md new file mode 100644 index 00000000..8b36630f --- /dev/null +++ b/skills/python-azure-iot-edge-modules/references/python-edge-module-template.md @@ -0,0 +1,63 @@ +# Python IoT Edge Module Template + +Use this template to structure implementation proposals and reviews. + +## 0) Official Python Baseline + +- Official references reviewed from and . +- Language and stdlib usage validated against and . +- Best practices reviewed from `references/python-official-best-practices.md`. + +## 1) Module Summary + +- Module name: +- Business capability: +- Inputs: +- Outputs: +- Trigger conditions: + +## 2) Message Contract + +- Schema version: +- Required fields: +- Optional fields: +- Error payload contract: + +## 3) Runtime Configuration + +- Python version: +- Base image: +- Environment variables: +- Desired properties: +- Resource limits: + +## 4) Resilience + +- Retry policy: +- Backoff policy: +- Queueing strategy: +- Idempotency approach: +- Timeout and circuit-breaker behavior: + +## 5) Security + +- Secret source (never inline): +- Identity and permissions: +- Command authorization model: +- Audit log requirements: + +## 6) Observability + +- Health signals: +- Business metrics: +- Error metrics: +- Correlation/trace requirements: +- Alert thresholds: + +## 7) Validation Matrix + +- Happy path tests: +- Malformed payload tests: +- Network interruption tests: +- Throughput and latency tests: +- Rollback validation: diff --git a/skills/python-azure-iot-edge-modules/references/python-official-best-practices.md b/skills/python-azure-iot-edge-modules/references/python-official-best-practices.md new file mode 100644 index 00000000..2328e575 --- /dev/null +++ b/skills/python-azure-iot-edge-modules/references/python-official-best-practices.md @@ -0,0 +1,48 @@ +# Python Official References and Best Practices + +Use these official Python resources before finalizing module architecture or implementation details. + +## Official References + +- Python home: +- Python documentation portal: +- Python tutorial: +- Python language reference: +- Python standard library reference: +- Python HOWTOs: +- Installing modules: +- Distributing modules: +- PEP index: +- PyPA packaging guide: + +## Coding Best Practices + +- Target and pin an explicit Python major/minor runtime for each deployment. +- Prefer explicit, readable code paths over clever compact logic. +- Use type hints for public interfaces and critical data transformations. +- Keep module responsibilities focused; separate protocol, business logic, and transport. +- Validate and sanitize external inputs at boundaries. +- Use structured exceptions with actionable error messages. +- Log with enough context for incident triage (correlation id, module id, message id). + +## Reliability and Performance Best Practices + +- Avoid blocking operations in high-frequency message paths. +- Enforce timeouts and bounded retries with exponential backoff and jitter. +- Design idempotent handlers for replay and duplicate deliveries. +- Use resource limits and monitor memory growth to prevent edge instability. +- Define graceful shutdown behavior to flush buffered state safely. + +## Dependency and Supply Chain Best Practices + +- Pin dependencies and document upgrade cadence. +- Prefer actively maintained libraries with clear release history. +- Track vulnerabilities and update dependencies regularly. +- Keep container images minimal and patched. + +## Testing Best Practices + +- Unit test parsing, validation, and routing logic. +- Add integration tests for module I/O boundaries. +- Add chaos tests for network loss, slow upstream, and restart scenarios. +- Verify rollback behavior and state recovery in deployment tests.