一键导入
tdd-workflow
Use when: any code modification, feature implementation, bug fix, refactoring. Enforces TDD Red-Green-Refactor cycle. Mandatory for all coding agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when: any code modification, feature implementation, bug fix, refactoring. Enforces TDD Red-Green-Refactor cycle. Mandatory for all coding agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Angular frontend project conventions. Use when generating or reviewing Angular code for signals, standalone components, strong typing, one-class-per-file, enums/constants, routing, services, and i18n.
Generate or extend a CQRS feature in InfraFlowSculptor. Use for aggregates, commands, queries, handlers, validators, repositories, contracts, and API endpoints with strong typing and one-type-per-file conventions.
C#/.NET project conventions. Use when generating or reviewing backend code for naming, XML docs, one-type-per-file, no magic strings, strong typing, and design-pattern selection.
Use when: corpus-level questions, documentation graph, architecture overview from docs+code, onboarding orientation, audit context, cross-file conceptual links, god nodes, community detection, surprising connections, diagram-to-code traceability, or any question that spans documentation and code rather than pure code structure.
Use when: model context protocol, MCP, MCP server, C# MCP, .NET MCP, VS Code mcp.json, local stdio MCP, remote HTTP MCP, deployed MCP endpoint, streamable HTTP, tools/resources/prompts, AI tool integration, create project from prompt, monorepo, split infra/code, clarification workflow, elicitation, IaC import, diagram-to-project, migration planning, or long-term MCP architecture for InfraFlowSculptor.
Use when creating, editing, or generating draw.io diagram files (.drawio, .drawio.svg, .drawio.png). Covers mxGraph XML authoring, shape libraries, style strings, flowcharts, system architecture, sequence diagrams, ER diagrams, UML class diagrams, network topology, layout strategy, the hediet.vscode-drawio VS Code extension, and the full agent workflow from request to a ready-to-open file.
| name | tdd-workflow |
| description | Use when: any code modification, feature implementation, bug fix, refactoring. Enforces TDD Red-Green-Refactor cycle. Mandatory for all coding agents. |
BLOCKING SKILL — Doit être chargé par tout agent qui modifie du code dans ce dépôt. Ce skill impose le cycle TDD Red → Green → Refactor avant toute modification de code. Il complète
xunit-unit-testing(qui définit COMMENT écrire les tests) en imposant QUAND les écrire.
Aucune ligne de code de production ne doit être écrite ou modifiée AVANT que les tests associés n'existent.
Le cycle obligatoire est :
1. RED — Écrire les tests qui décrivent le comportement attendu. Ils doivent échouer (ou ne pas compiler).
2. GREEN — Implémenter/modifier le code de production pour que tous les tests passent.
3. REFACTOR — Nettoyer le code en gardant les tests verts.
4. VERIFY — `dotnet test` sur le projet de tests puis sur la solution complète.
Avant de modifier du code :
InfraFlowSculptor.Domain, InfraFlowSculptor.Application, etc.)tests/<Assembly>.Tests/ existe.xunit-unit-testing section 2 (template de projet).<SutName>Tests.cs existe pour le SUT (System Under Test).Given_{Preconditions}_When_{StateUnderTest}_Then_{ExpectedBehavior}.Exception compilabilité : Si le SUT n'existe pas encore (nouveau handler, nouveau service), le test peut ne pas compiler. C'est acceptable. Créer d'abord la structure minimale du SUT (classe vide, méthode vide avec
throw new NotImplementedException()) pour que les tests compilent, puis passer à l'étape GREEN.
dotnet test .\tests\<Assembly>.Tests\<Assembly>.Tests.csproj — tous les tests doivent passer.dotnet test .\InfraFlowSculptor.slnx — aucune régression sur l'ensemble de la solution.dotnet build .\InfraFlowSculptor.slnx — zero warnings si possible.| Situation | TDD obligatoire ? | Détail |
|---|---|---|
| Nouveau handler / service / validator | ✅ OUI | RED: tests du handler → GREEN: implémenter → VERIFY |
| Bug fix sur du code existant | ✅ OUI | RED: test qui reproduit le bug → GREEN: corriger → VERIFY |
| Refactoring de code existant | ✅ OUI | Vérifier couverture existante, ajouter si lacunaire, puis refactorer |
| Nouveau domain aggregate / entity | ✅ OUI | RED: tests des invariants → GREEN: implémenter → VERIFY |
| Modification d'un Bicep generator | ✅ OUI | RED: tests du spec produit → GREEN: modifier → VERIFY |
| Ajout d'un endpoint API | ⚠️ PARTIEL | Tests du handler et validator obligatoires, endpoint wiring en intégration |
| Migration EF Core | ❌ NON | Pas de test unitaire sur les migrations |
| Configuration DI / startup | ❌ NON | Pas de test unitaire sur le câblage DI |
Fichier .md, .json, config | ❌ NON | Pas de code exécutable |
| Code Angular frontend | ⚠️ QUAND APPLICABLE | Si des tests Jasmine/Jest existent pour la zone, les maintenir |
Quand un agent touche une zone de code et constate qu'il n'y a aucun test existant pour cette zone :
.github/test-debt.md :
| Priorité | Critère |
|---|---|
| P1 — Critique | Code métier non testé : aggregates, handlers, validators, domain services |
| P2 — Important | Code infrastructure : repositories, mappers, transformers, clients |
| P3 — Souhaitable | Code utilitaire : extensions, options, helpers, configuration |
Si le projet de tests n'existe pas, le créer avant d'écrire les tests :
tests/<Assembly>.Tests/.csproj selon le template du skill xunit-unit-testing section 2InfraFlowSculptor.slnx via dotnet sln .\InfraFlowSculptor.slnx add .\tests\<Assembly>.Tests\<Assembly>.Tests.csprojdotnet build .\tests\<Assembly>.Tests\<Assembly>.Tests.csproj| Skill / Agent | Interaction |
|---|---|
xunit-unit-testing | Définit le HOW (conventions, toolbox, AAA, nommage). Toujours charger en complément. |
dotnet-patterns | Définit les conventions du code de production. Les tests ne suivent pas les XML docs mais suivent le nommage. |
cqrs-feature | Pour une feature CQRS complète, les tests de chaque couche sont écrits AVANT l'implémentation de cette couche. |
dotnet-dev | Agent exécutant : charge ce skill + xunit-unit-testing avant toute modification de code. |
dev | Orchestrateur : s'assure que ce skill est mentionné dans les prompts de délégation. |
[ ] Projet de tests existe pour l'assembly modifié
[ ] Tests écrits AVANT le code de production (cycle RED → GREEN)
[ ] Tous les tests du projet passent : dotnet test .\tests\<Assembly>.Tests\
[ ] Aucune régression solution : dotnet test .\InfraFlowSculptor.slnx
[ ] Dette de tests enregistrée dans .github/test-debt.md si zone non couverte détectée
[ ] Pas de test dans InfraFlowSculptor.GenerationParity.Tests
Le cycle RED peut être assoupli dans ces cas précis (mais les tests restent obligatoires) :
cqrs-feature génère 15+ fichiers) : écrire les tests par couche après la génération de cette couche, mais AVANT de passer à la couche suivante.