diff --git a/.codespellrc b/.codespellrc index 3098338eb..e7b9457f8 100644 --- a/.codespellrc +++ b/.codespellrc @@ -50,7 +50,10 @@ # Vertexes - FreeCAD shape sub-elements used as property of obj.Shape -ignore-words-list = numer,wit,aks,edn,ser,ois,gir,rouge,categor,aline,ative,afterall,deques,dateA,dateB,TE,FillIn,alle,vai,LOD,InOut,pixelX,aNULL,Wee,Sherif,queston,Vertexes,nin +# Spanish words used intentionally in skills/docs authored in Spanish +# (avoid false positives like "fase -> phase", "comandos -> commandos", etc.) + +ignore-words-list = numer,wit,aks,edn,ser,ois,gir,rouge,categor,aline,ative,afterall,deques,dateA,dateB,TE,FillIn,alle,vai,LOD,InOut,pixelX,aNULL,Wee,Sherif,queston,Vertexes,nin,sesion,fase,fases,comandos,diagrama,diagramas,instruccion,accesible,posible,historial,analisis,funcional,controles,componentes,inicial,oficial,aceptable,requiere,supresion # Skip certain files and directories diff --git a/.github/workflows/check-plugin-structure.yml b/.github/workflows/check-plugin-structure.yml index dbd097f0e..1a65b55ed 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 000000000..949518a63 --- /dev/null +++ b/agents/azure-smart-city-iot-architect.agent.md @@ -0,0 +1,46 @@ +--- +name: 'Azure Smart City IoT Architect' +description: 'Disenar arquitecturas Azure IoT y Smart City con razonamiento claro de ingenieria de plataforma, forzando la revision obligatoria de documentacion de Azure IoT Edge antes de recomendar soluciones edge.' +tools: ['search', 'search/codebase', 'edit/editFiles', 'fetch', 'runCommands', 'runTasks'] +model: 'GPT-5.3-Codex' +--- + +# Azure Smart City IoT Architect + +Eres un arquitecto cloud de Azure enfocado en plataformas IoT y Smart City. + +## Puerta obligatoria de documentacion + +Antes de ofrecer cualquier recomendacion relacionada con edge, revisa: + +- https://learn.microsoft.com/azure/iot-edge/ +- https://learn.microsoft.com/es-es/azure/iot-edge/ + +Como minimo, verifica: + +- Que es IoT Edge y cuando aplica +- Arquitectura de runtime +- Sistemas compatibles +- Guia de versiones/lanzamientos +- Ruta de inicio rapido en Linux o Windows relevante para la propuesta + +Si la documentacion no esta disponible durante la sesion, indicalo explicitamente y marca las recomendaciones como supuestos. + +## Requisitos de razonamiento arquitectonico + +- Parte de los resultados de negocio y de las restricciones operativas. +- Separa las responsabilidades de cloud, edge e integracion. +- Explica los compromisos (latencia, comportamiento offline, seguridad, coste, operabilidad). +- Prioriza recomendaciones seguras por defecto (identidad, secretos, minimo privilegio, limites de red). +- Incluye operaciones de plataforma (monitorizacion, SLO, responsables de incidentes, estrategia de actualizacion). + +## Formato de entrega + +Para cada solucion, entrega: + +1. Contexto y supuestos +2. Arquitectura propuesta y flujo de datos +3. Por que IoT Edge es o no es necesario +4. Modelo de seguridad y operaciones +5. Consideraciones de coste y escalado +6. Fases de implementacion diff --git a/docs/README.agents.md b/docs/README.agents.md index 8e0856716..f1a082841 100644 --- a/docs/README.agents.md +++ b/docs/README.agents.md @@ -44,6 +44,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) | Disenar arquitecturas Azure IoT y Smart City con razonamiento claro de ingenieria de plataforma, forzando la revision obligatoria de documentacion de Azure IoT Edge antes de recomendar soluciones edge. | | | [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 97cdcb082..b68afabc3 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) | Forzar la revision de documentacion de Azure IoT Edge antes de proponer arquitecturas edge IoT o guias de implementacion en Azure. | | [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 6041106cc..5265ed01e 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -38,6 +38,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [apple-appstore-reviewer](../skills/apple-appstore-reviewer/SKILL.md) | 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) | Triage and resolve Arch Linux issues with pacman, systemd, and rolling-release best practices. | None | | [architecture-blueprint-generator](../skills/architecture-blueprint-generator/SKILL.md) | 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) | Disenar e implementar integracion de Arduino con Azure IoT Hub e IoT Edge con aprovisionamiento seguro, telemetria resiliente, manejo de comandos y guardrails de produccion. | `references/arduino-iot-checklist.md`
`references/arduino-official-best-practices.md` | | [arize-ai-provider-integration](../skills/arize-ai-provider-integration/SKILL.md) | 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) | 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) | 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` | @@ -53,13 +54,14 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [autoresearch](../skills/autoresearch/SKILL.md) | 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) | 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) | 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) | 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) | Disena infraestructura de Azure en lenguaje natural, o analiza recursos existentes de Azure para autogenerar diagramas de arquitectura, refinarlos mediante conversacion y desplegar con Bicep.
Cuando usar esta habilidad: - "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) | 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) | 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) | 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) | 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) | 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) | 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) | Disenar y planificar soluciones Azure IoT y Smart City de extremo a extremo: requisitos, arquitectura, seguridad, operaciones, coste y plan de entrega por fases con artefactos concretos de implementacion. | `references/smart-city-solution-template.md` | | [azure-static-web-apps](../skills/azure-static-web-apps/SKILL.md) | 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 | | [bigquery-pipeline-audit](../skills/bigquery-pipeline-audit/SKILL.md) | Audits Python + BigQuery pipelines for cost safety, idempotency, and production readiness. Returns a structured report with exact patch locations. | None | | [boost-prompt](../skills/boost-prompt/SKILL.md) | Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension. | None | @@ -250,6 +252,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [prompt-builder](../skills/prompt-builder/SKILL.md) | 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) | 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) | 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) | 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) | 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) | 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) | 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 000000000..7aed82ca6 --- /dev/null +++ b/instructions/azure-iot-edge-architecture.instructions.md @@ -0,0 +1,26 @@ +--- +description: 'Forzar la revision de documentacion de Azure IoT Edge antes de proponer arquitecturas edge IoT o guias de implementacion en Azure.' +applyTo: '**/*.bicep, **/*.tf, **/*iot*.md, **/*smart-city*.md, **/*edge*.md' +--- + +## Instruccion de arquitectura Azure IoT Edge + +Cuando la tarea incluya Azure IoT, Smart City, procesamiento en el borde, diseno de gateways o escenarios edge sin conectividad, haz esto antes de dar recomendaciones de arquitectura: + +1. Revisa primero la documentacion de Azure IoT Edge: + - https://learn.microsoft.com/azure/iot-edge/ + - https://learn.microsoft.com/es-es/azure/iot-edge/ +2. Confirma las restricciones clave de la documentacion: + - Arquitectura de runtime + - Sistemas compatibles + - Estado de version/lanzamiento + - Ruta de inicio rapido Linux/Windows relevante +3. Indica explicitamente que revisaste la documentacion, o indica que no se pudo consultar. +4. Si la documentacion no fue accesible, continua con supuestos claramente etiquetados. + +### Reglas de respuesta + +- Nunca saltes directamente a una lista de servicios sin validar antes la aplicabilidad de edge. +- Explica siempre por que IoT Edge es necesario o no. +- Incluye implicaciones operativas: estrategia de actualizacion, observabilidad y modelo de soporte. +- Prioriza valores seguros por defecto: identidad administrada, minimo privilegio, gestion de secretos y aislamiento de red. 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 000000000..5d58b8990 --- /dev/null +++ b/skills/arduino-azure-iot-edge-integration/SKILL.md @@ -0,0 +1,145 @@ +--- +name: arduino-azure-iot-edge-integration +description: 'Disenar e implementar integracion de Arduino con Azure IoT Hub e IoT Edge con aprovisionamiento seguro, telemetria resiliente, manejo de comandos y guardrails de produccion.' +--- + +# Arduino Azure IoT Edge Integration + +Usa esta habilidad cuando el usuario necesite conectar dispositivos tipo Arduino a Azure IoT, especialmente en escenarios con fuerte componente edge (gateways, redes intermitentes, buffer offline y actuacion local). + +## Cuando usarla + +Usa esta habilidad para solicitudes como: + +- "quiero conectar sensores Arduino a Azure" +- "como mando telemetria por MQTT a IoT Hub" +- "necesito gateway edge para dispositivos de campo" +- "quiero comandos cloud-to-device y OTA de configuracion" + +## Revision obligatoria de documentacion + +Antes de recomendar topologia IoT Edge o comportamiento de runtime, revisa: + +- https://learn.microsoft.com/azure/iot-edge/ +- https://learn.microsoft.com/es-es/azure/iot-edge/ + +Si no se puede consultar la documentacion, continua con supuestos explicitos y destacalos en una seccion dedicada. + +## Referencias oficiales de Arduino y buenas practicas (obligatorio) + +Antes de proponer detalles de implementacion de firmware, cableado o comunicaciones, consulta primero fuentes oficiales de Arduino: + +- https://www.arduino.cc/en/Guide +- https://docs.arduino.cc/ +- https://docs.arduino.cc/language-reference/ +- references/arduino-official-best-practices.md + +Cuando haya que elegir entre alternativas de implementacion, prioriza la guia oficial de Arduino frente a snippets de comunidad, salvo que exista una razon tecnica clara para desviarse. + +## Objetivos + +- Producir una ruta de referencia segura de extremo a extremo desde el dispositivo Arduino hasta el insight en la nube. +- Gestionar enlaces inestables (store-and-forward, reintentos, idempotencia). +- Definir un backlog accionable de dispositivo y nube. + +## Patrones de integracion + +### Patron A: Arduino directo a IoT Hub + +Usar cuando la conectividad sea estable y la latencia a la nube sea aceptable. + +- Protocolo: MQTT sobre TLS. +- Identidad: credenciales por dispositivo (SAS o X.509). +- Payload de telemetria: JSON compacto con timestamp, id de dispositivo, metricas y flags de calidad opcionales. + +### Patron B: Arduino a gateway local y despues IoT Edge + +Usar cuando los enlaces sean limitados, se requiera control local o el batching mejore coste/fiabilidad. + +- Arduino se comunica con gateway local (serial, BLE, MQTT local, RS-485, puente Modbus). +- El gateway publica aguas arriba mediante runtime de IoT Edge y enruta datos a IoT Hub. +- Los modulos locales pueden filtrar, agregar y disparar acciones incluso durante caidas de nube. + +## Flujo de diseno + +### 1) Contrato de dispositivo + +Define: + +- Catalogo de sensores y unidades. +- Frecuencia de muestreo y throughput esperado. +- Estrategia de versionado del esquema de mensajes. +- Propiedades desired/reported del device twin para controlar comportamiento en runtime. + +### 2) Baseline de seguridad + +Requiere: + +- Identidad unica por dispositivo. +- Sin secretos hardcodeados en codigo fuente ni artefactos de firmware. +- Estrategia de rotacion de credenciales. +- Firmware firmado y proceso de actualizacion controlado cuando sea posible. + +### 3) Fiabilidad y comportamiento offline + +Planifica y documenta: + +- Backoff con jitter. +- Estrategia de cola/buffer local con tamano acotado. +- Supresion de duplicados o procesamiento idempotente aguas abajo. +- Fallback a configuracion de ultimo estado valido. + +### 4) Enrutado cloud y edge + +Define rutas para: + +- Telemetria raw a almacenamiento cold. +- Telemetria curada a analitica hot. +- Alertas a canales de operaciones. +- Comandos y configuracion de vuelta a edge/dispositivo. + +### 5) Observabilidad + +Especifica telemetria minima para operaciones: + +- Heartbeat de dispositivo y version de firmware. +- Transiciones de estado de conectividad. +- Contadores de exito/error de envio de mensajes. +- Salud de modulo gateway y razones de reinicio. + +## Reutilizar otras habilidades + +Cuando aplique, combinar con: + +- `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. +- `azure-smart-city-iot-solution-builder` para arquitectura a escala ciudad y despliegue por fases. +- `azure-resource-visualizer` para diagramas de relacion entre recursos. +- `appinsights-instrumentation` para patrones de telemetria en apps y servicios. + +Usa tambien `references/arduino-official-best-practices.md` como linea base de calidad para recomendaciones de firmware y hardware. + +## Salida requerida + +Proporciona siempre: + +1. Patron de conectividad elegido y su razonamiento. +2. Contrato de mensaje (campos, unidades, payload de ejemplo). +3. Checklist de seguridad para identidad/credenciales/actualizaciones. +4. Plan de fiabilidad (reintento, buffering, dedupe). +5. Backlog de implementacion (firmware, gateway, cloud). + +## Plantilla de salida + +1. Escenario y supuestos +2. Arquitectura recomendada +3. Contrato de dispositivo y gateway +4. Controles de seguridad y fiabilidad +5. Plan de despliegue y pruebas de validacion + +## Directrices + +- No proponer despliegues en produccion con credenciales compartidas entre dispositivos. +- No asumir conectividad siempre activa en despliegues de campo. +- No omitir autorizacion y auditoria de comandos en escenarios con actuadores. 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 000000000..61e3f8d10 --- /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 000000000..0fc4acaca --- /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 000000000..fb605eea3 --- /dev/null +++ b/skills/azure-architecture-autopilot/README.md @@ -0,0 +1,188 @@ +

Azure Architecture Autopilot

+ +

+ Diseno → Diagrama → Bicep → Despliegue - todo desde lenguaje natural +

+ +

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

+ +

+ Azure Architecture Autopilot disena infraestructura de Azure desde lenguaje natural,
+ genera diagramas interactivos, produce plantillas Bicep modulares y despliega - todo mediante conversacion.
+ Tambien escanea recursos existentes, los visualiza como diagramas de arquitectura y los refina al vuelo. +

+ + +

+ 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-architecture-autopilot/SKILL.md b/skills/azure-architecture-autopilot/SKILL.md index ac981d075..e60221bee 100644 --- a/skills/azure-architecture-autopilot/SKILL.md +++ b/skills/azure-architecture-autopilot/SKILL.md @@ -1,10 +1,10 @@ --- name: azure-architecture-autopilot description: > - Design Azure infrastructure using natural language, or analyze existing Azure resources - to auto-generate architecture diagrams, refine them through conversation, and deploy with Bicep. + Disena infraestructura de Azure en lenguaje natural, o analiza recursos existentes de Azure + para autogenerar diagramas de arquitectura, refinarlos mediante conversacion y desplegar con Bicep. - When to use this skill: + Cuando usar esta habilidad: - "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) @@ -14,7 +14,7 @@ description: > # Azure Architecture Builder -A pipeline that designs Azure infrastructure using natural language, or analyzes existing resources to visualize architecture and proceed through modification and deployment. +Un pipeline que disena infraestructura de Azure en lenguaje natural, o analiza recursos existentes para visualizar la arquitectura y continuar con modificacion y despliegue. The diagram engine is **embedded within the skill** (`scripts/` folder). No `pip install` needed — it directly uses the bundled Python scripts 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 000000000..ceb272fc8 --- /dev/null +++ b/skills/azure-smart-city-iot-solution-builder/SKILL.md @@ -0,0 +1,157 @@ +--- +name: azure-smart-city-iot-solution-builder +description: 'Disenar y planificar soluciones Azure IoT y Smart City de extremo a extremo: requisitos, arquitectura, seguridad, operaciones, coste y plan de entrega por fases con artefactos concretos de implementacion.' +--- + +# Azure Smart City IoT Solution Builder + +Usa esta habilidad para reconstruir y estandarizar un flujo completo para construir soluciones Azure IoT y Smart City. + +## Cuando usarla + +Usa esta habilidad cuando el usuario pida cosas como: + +- "quiero montar una solucion IoT en Azure" +- "arquitectura Smart City para trafico, alumbrado o residuos" +- "como conecto dispositivos, analitica y alertas" +- "necesito roadmap y backlog para una plataforma urbana" + +## Objetivos + +- Convertir una idea de alto nivel en una arquitectura desplegable. +- Reutilizar habilidades existentes enfocadas en Azure cuando sea posible. +- Producir artefactos concretos que el equipo pueda implementar. + +## Flujo de trabajo + +### 0) Revision obligatoria de documentacion (antes de cualquier arquitectura) + +Antes de proponer arquitectura o decisiones tecnologicas que involucren computacion en el borde, el asistente debe revisar primero la documentacion de Azure IoT Edge: + +- https://learn.microsoft.com/azure/iot-edge/ +- https://learn.microsoft.com/es-es/azure/iot-edge/ + +Paginas minimas a revisar: + +- Que es Azure IoT Edge +- Arquitectura de runtime +- Sistemas compatibles +- Historial de versiones/notas de lanzamiento +- Guias de inicio rapido de Linux/Windows relevantes para el escenario + +Si no se puede consultar la documentacion, indicalo explicitamente y continua con supuestos claramente marcados. + +### 1) Alcance y restricciones + +Recoge y confirma: + +- Dominio de ciudad: movilidad, parking, calidad del aire, agua, energia, seguridad, residuos, etc. +- Escala: numero de dispositivos, frecuencia de telemetria, retencion, regiones. +- Objetivos de latencia y disponibilidad. +- Restricciones regulatorias y de privacidad. +- Sistemas existentes a integrar (SCADA, GIS, ERP, ticketing, APIs). + +### 2) Mapa de capacidades + +Divide la plataforma en capas: + +- Dispositivo y edge: incorporacion, identidad, firmware, OTA, procesamiento en el borde. +- Ingestion y mensajeria: mando y control, enrutado de eventos, almacenamiento en buffer. +- Datos y analitica: ruta caliente frente a ruta fria, paneles, analisis historico. +- Operaciones: observabilidad, flujo de incidentes, SLO. +- Gobierno: RBAC, secretos, politicas, aislamiento de red. + +### 3) Seleccion de servicios de Azure (referencia) + +- Conectividad de dispositivos: Azure IoT Hub, Azure IoT Operations, IoT Edge. +- Streaming de eventos: Event Hubs, Service Bus, Event Grid. +- Almacenamiento: Blob Storage, Data Lake, Cosmos DB, SQL. +- Analitica: Azure Data Explorer, Stream Analytics, Fabric/Synapse. +- API y aplicaciones: API Management, App Service, Container Apps, Functions. +- Monitorizacion: Azure Monitor, Application Insights, Log Analytics. +- Seguridad: Key Vault, Defender for IoT, Private Endpoints, Managed Identity. + +### 4) Diseno no funcional + +Define y documenta: + +- Modelo de fiabilidad (zonas/regiones, reintentos, dead-letter, replay). +- Controles de seguridad (confianza cero, cifrado, rotacion de secretos, minimo privilegio). +- Controles de coste (niveles de retencion, ajuste de tamano, autoescalado, planificacion de cargas). +- Ciclo de vida de datos (bruto, curado, agregado, archivado). + +### 5) Plan de entrega + +Crea una ejecucion por fases: + +- Fase 1: Distrito piloto o caso de uso unico. +- Fase 2: Integracion multi-dominio. +- Fase 3: Despliegue a escala ciudad y optimizacion. + +Para cada fase incluye: + +- Criterios de salida +- Dependencias +- Riesgos y mitigaciones +- Conjunto de KPI + +## Reutilizar otras habilidades primero + +Hay dos fuentes de habilidades: + +- Habilidades proporcionadas por runtime (externas a este repositorio): solo disponibles cuando el entorno host de Copilot las expone. +- Habilidades locales del repositorio (este repositorio): disponibles como archivos locales bajo `skills/`. + +### Habilidades de Azure proporcionadas por runtime (opcionales) + +Si estan disponibles en el entorno de ejecucion, deriva a estas habilidades especializadas para mas profundidad: + +- `azure-kubernetes` +- `azure-messaging` +- `azure-observability` +- `azure-storage` +- `azure-rbac` +- `azure-cost` +- `azure-validate` +- `azure-deploy` + +### Alternativas locales del repositorio (usar en este repo) + +Cuando las habilidades de runtime no esten disponibles, prioriza las habilidades locales existentes en este repositorio: + +- `azure-architecture-autopilot` para generacion y refinamiento de arquitectura. +- `azure-resource-visualizer` para diagramas de relacion entre recursos. +- `azure-role-selector` para orientacion de seleccion de roles. +- `az-cost-optimize` y `azure-pricing` para analisis de costes y precios. +- `azure-deployment-preflight` para comprobaciones previas al despliegue. +- `appinsights-instrumentation` para patrones de instrumentacion de telemetria. + +Si no hay ninguna habilidad especializada disponible, continua con esta habilidad y deja los supuestos explicitos. + +## Artefactos de salida requeridos + +Entrega siempre estas salidas: + +1. Resumen de solucion Smart City (alcance, supuestos, restricciones). +2. Arquitectura de referencia (componentes y flujo de datos). +3. Checklist de seguridad y gobierno. +4. Estrategia de coste y escalado. +5. Backlog de implementacion por fases (epicas e hitos). + +## Plantilla de salida + +Usa esta estructura en las respuestas: + +1. Contexto y objetivos +2. Arquitectura propuesta +3. Decisiones tecnologicas y compromisos +4. Seguridad, operaciones y controles de coste +5. Plan de implementacion por fases +6. Riesgos y preguntas abiertas + +## Directrices + +- No saltes a despliegue sin validar antes los prerequisitos. +- No recomiendes produccion en region unica para cargas criticas de ciudad. +- No omitas la responsabilidad operativa (quien gestiona incidentes, SLA, ventanas de cambio). +- Separa claramente los supuestos de los hechos confirmados. 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 000000000..43573d29f --- /dev/null +++ b/skills/azure-smart-city-iot-solution-builder/references/smart-city-solution-template.md @@ -0,0 +1,73 @@ +# Plantilla de Solucion IoT Smart City + +Usa esta plantilla para estandarizar resultados en cada nuevo escenario de ciudad inteligente. + +## 1. Resumen del caso de uso + +- Dominio: +- Interesados: +- Enunciado del problema: +- Metricas de exito: + +## 2. Perfil de datos y dispositivos + +- Tipos y cantidad de dispositivos: +- Esquema de telemetria: +- Tasa de ingestion: +- Requisitos de mando/control: +- Politica de retencion: + +## 3. Arquitectura de referencia + +- Capa de edge y campo: +- Capa de ingestion: +- Capa de procesamiento: +- Capa de almacenamiento: +- Capa de API e integracion: +- Capa de monitorizacion y seguridad: + +## 4. Checklist de NFR + +- Objetivo de disponibilidad: +- Objetivo de latencia: +- Controles de seguridad: +- Restricciones de privacidad de datos: +- Estrategia de DR: +- Objetivo de coste: + +## 5. Roadmap por fases + +### Fase 1 - Piloto + +- Alcance: +- Entregables: +- Criterios de salida: + +### Fase 2 - Escalar + +- Alcance: +- Entregables: +- Criterios de salida: + +### Fase 3 - Optimizar + +- Alcance: +- Entregables: +- Criterios de salida: + +## 6. Base inicial del backlog + +- Epica: Incorporacion de dispositivos e identidad +- Epica: Ingestion y enrutado de telemetria +- Epica: Alertado en tiempo real y flujo de incidentes +- Epica: Analitica historica e informes +- Epica: Refuerzo de seguridad y cumplimiento +- Epica: Gobierno y optimizacion de costes + +## 7. Riesgos + +- Brechas de interoperabilidad entre proveedor/dispositivo +- Fiabilidad de red en ubicaciones de campo +- Calidad de datos y deriva de esquemas +- Sobre-retencion que incrementa costes +- Ambiguedad en la responsabilidad operativa 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 000000000..8282534a7 --- /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 000000000..8b36630f9 --- /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 000000000..2328e575b --- /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.