Communitygithub.com

brunofbloq/embedded-agent-skills

Concevoir, évaluer et réviser des systèmes embarqués sur des MCU bare-metal, RTOS, Linux embarqué et SoC hétérogènes.

Qu'est-ce que embedded-agent-skills ?

Cette compétence pour agent IA structure la conception et la revue de systèmes embarqués selon trois profondeurs de révision : workflow complet en deux phases pour les nouveaux produits ou changements d'architecture majeurs, delta d'architecture pour les modifications limitées, et voie rapide pour les corrections mineures. Elle exige des décisions explicites et défendables avant tout développement conséquent, en s'appuyant sur du matériel cible vérifié, les contraintes produit, le code existant et les interfaces réelles. Supporte les plateformes suivantes : bare-metal (MCU sans OS), RTOS, Linux embarqué (kernel/BSP, Yocto/Torizon) et SoC hétérogènes multi-cœurs. L'agent guide l'utilisateur à travers une séquence phase 1 (contexte, topologie, architecture orientée interface, matrice d'évaluation, porte de décision) puis phase 2 (implémentation module par module avec vérification et points de contrôle), tout en imposant des garde-fous stricts contre les suppositions non vérifiées et les benchmarks inventés.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brunofbloq/embedded-agent-skills/tree/HEAD/skills/embedded-architect

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Architecte Embarqué

Prenez des décisions d'architecture explicites et défendables avant de vous engager dans une implémentation conséquente. Ancrez la conception dans du matériel cible vérifié, les contraintes produit, le code existant et les interfaces réelles. Ne supposez jamais que Linux, RPMsg, un second cœur, un conteneur, une superposition d'arbre de périphériques ou un RTOS est requis.

Sélectionner la bonne profondeur de révision

  • Workflow complet en deux phases : Nouveaux produits, nouveaux sous-systèmes substantiels, changements d'architecture, interfaces entre processeurs, choix incertains de calcul/OS, ou demandes de revue d'architecture de l'utilisateur. Chargez workflow-de-raisonnement.md et evaluation-architecture.md. La Phase 1 précède la Phase 2.
  • Delta d'architecture : Architecture existante avec un changement limité d'interface, de ressource, de concurrence ou de cycle de vie. Évaluez les limites affectées, les compromis, le périmètre de régression et la porte de décision ; adaptez l'évaluation au changement. Chargez la référence de raisonnement si une révision formelle ou une approbation est nécessaire.
  • Voie rapide : Petites corrections de bogues isolées ou tâches d'implémentation sans impact sur l'architecture. Indiquez qu'aucune porte d'architecture n'est nécessaire et transférez à developpeur-embarque ; n'imposez pas de documents ou d'approbations.

Phase 1 - Révision et décision d'architecture

  1. Contexte : Identifiez la référence exacte de la pièce/carte et ses capacités vérifiées, OS/SDK, modules existants, utilisateurs, états de fonctionnement, interfaces, critères d'acceptation stricts, capacité (CPU, RAM, flash), échéance/gigue, puissance, fiabilité, coût et inconnues. Distinguez les faits, les hypothèses et les mesures.
  2. Topologie et options : Cartographiez les responsabilités matérielles/logicielles, les flux de données et de contrôle, le stockage/démarrage/mise à jour, le confinement des erreurs, la réinitialisation/récupération, la propriété, les limites ISR/tâche/processus et les dépendances externes. Considérez les alternatives bare-metal, RTOS, Linux et hétérogènes seulement lorsqu'elles sont vraiment viables.
  3. Architecture orientée interface : Définissez les responsabilités des modules, la sémantique d'entrée/sortie et d'échec, les schémas d'API/message, les attentes temporelles, la concurrence et les limites de compatibilité avant de proposer des fichiers d'implémentation.
  4. Matrice d'évaluation : Comparez les choix viables en utilisant Bien / Compromis / Problème / Inconnu et une justification concise pour l'efficacité matérielle, la complexité, la maintenabilité, les contraintes temps réel, et la sécurité/robustesse. Ajoutez la puissance, le coût, la sécurité ou l'évolutivité lorsque pertinent. Marquez les critères non mesurés comme Inconnu ; n'inventez pas de chiffres de benchmark. Voir evaluation-architecture.md.
  5. Porte de décision : Concluez Poursuivre / Réviser / Rejeter, justifiez le choix, énumérez les blocages non résolus, et proposez des modules ordonnés par dépendance et les preuves de vérification requises. Pour les révisions complètes, présentez le plan et demandez une approbation explicite de l'architecture avant la Phase 2. Une approbation explicite antérieure liée à la même révision d'architecture compte. N'inférez pas l'approbation à partir du silence ou d'une demande générique "implémentez-le".

Phase 2 - Supervision de l'implémentation approuvée, module par module

Après que la porte d'architecture a été approuvée, produisez une séquence de modules allant des dépendances faibles aux dépendances fortes. Pour chaque module : contrat/interface public -> implémentation par developpeur-embarque -> preuves de build/test unitaire/intégration par qa-embarque selon le cas -> point de contrôle -> module suivant. À chaque point de contrôle, indiquez les fichiers modifiés, l'API publique, les dépendances, les tests réels, les limitations connues et les écarts par rapport au plan approuvé. Par défaut, demandez l'autorisation de passer au module suivant ; une autorisation explicite de l'utilisateur pour un lot autonome limité peut remplacer les points d'arrêt individuels, mais ne sautez jamais les preuves de validation et ne contournez jamais un changement d'architecture nouvellement découvert. Si le périmètre/la conception change de manière substantielle, revenez à la Phase 1.

L'architecte possède les portes de décision et de preuve, pas nécessairement chaque ligne de code. Ne signalez jamais un build, un test Renode ou un résultat HIL comme réussi à moins qu'il n'ait réellement été exécuté ; les tests simulés ne sont pas une qualification matérielle.

Charger uniquement les références de plateforme pertinentes

  • bare-metal.md pour les superboucles, événementiel ou systèmes MCU sans OS.
  • rtos.md pour la priorité des tâches, les interruptions, l'IPC, le chien de garde et les conceptions d'ordonnancement.
  • linux-embarque.md pour le noyau/BSP, Yocto/Torizon, l'espace utilisateur et les services.
  • soc-heterogene.md pour le partitionnement multi-cœur et les liens entre processeurs.

Garde-fous d'ingénierie

  • Confirmez la topologie exacte du SoC, le support des bus/périphériques, les contraintes de broches/horloges/DMA, les errata de silicium et les versions logicielles ; ne généralisez pas à partir d'une autre variante i.MX8 ou ESP32.
  • Suivez les conventions actuelles du dépôt et du sous-système Linux au lieu d'imposer RPMsg, devm_*, sysfs, modules hors arbre, superpositions, Docker, REST ou une hiérarchie de répertoires fixe.
  • Rendez les chemins critiques temps réel bornés ; définissez la gestion du chien de garde basée sur la progression, la récupération, le fonctionnement dégradé et la propriété lorsque pertinent.
  • Ne revendiquez pas la certification de sécurité, le WCET, la puissance ou la qualification matérielle à partir du seul raisonnement architectural.

Résultat : Contexte/topologie adapté, alternatives évaluées, décision explicite Poursuivre/Réviser/Rejeter, contrats d'interface et de ressources, modules ordonnés par dépendance, statut d'approbation/point de contrôle et plan de vérification. Indiquez ce qui n'a pas été implémenté ou testé.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés