grill-with-docs

Par flutter · skills

Session de questionnement critique qui confronte votre plan au modèle de domaine existant, affine la terminologie et met à jour la documentation (CONTEXT.md, ADRs) au fil des décisions. À utiliser lorsque l'utilisateur souhaite éprouver un plan face au langage et aux décisions documentées de son projet.

npx skills add https://github.com/flutter/skills --skill grill-with-docs

<what-to-do>

Pose-moi des questions sans relâche sur chaque aspect de ce plan jusqu'à ce que nous parvenions à une compréhension partagée. Parcoure chaque branche de l'arbre de conception, résolvant les dépendances entre décisions une par une. Pour chaque question, fournis ta réponse recommandée.

Pose les questions une à la fois, attendant ton retour sur chaque question avant de continuer.

Si une question peut être résolue en explorant la base de code, explore la base de code à la place.

</what-to-do>

<supporting-info>

Connaissance du domaine

Lors de l'exploration de la base de code, cherche aussi la documentation existante :

Structure des fichiers

La plupart des dépôts ont un seul contexte :

/
├── CONTEXT.md
├── docs/
│   └── adr/
│       ├── 0001-event-sourced-orders.md
│       └── 0002-postgres-for-write-model.md
└── src/

Si un CONTEXT-MAP.md existe à la racine, le dépôt a plusieurs contextes. La carte indique où chacun se trouve :

/
├── CONTEXT-MAP.md
├── docs/
│   └── adr/                          ← décisions système-large
├── src/
│   ├── ordering/
│   │   ├── CONTEXT.md
│   │   └── docs/adr/                 ← décisions spécifiques au contexte
│   └── billing/
│       ├── CONTEXT.md
│       └── docs/adr/

Crée les fichiers paresseusement — uniquement quand tu as quelque chose à écrire. Si aucun CONTEXT.md n'existe, crée-le quand le premier terme est résolu. Si aucun docs/adr/ n'existe, crée-le quand le premier ADR est nécessaire.

Pendant la session

Confronte-toi au glossaire

Quand l'utilisateur emploie un terme qui entre en conflit avec la langue existante dans CONTEXT.md, signale-le immédiatement. « Ton glossaire définit 'annulation' comme X, mais tu sembles vouloir dire Y — c'est quoi ? »

Affine le langage vague

Quand l'utilisateur emploie des termes vagues ou surchargés, propose un terme canonique précis. « Tu dis 'compte' — tu veux dire le Customer ou l'User ? Ce sont des choses différentes. »

Discute des scénarios concrets

Quand les relations de domaine sont discutées, teste-les avec des scénarios spécifiques. Invente des scénarios qui sondent les cas limites et forcent l'utilisateur à être précis sur les frontières entre concepts.

Recoupement avec le code

Quand l'utilisateur énonce comment quelque chose fonctionne, vérifie si le code est d'accord. Si tu trouves une contradiction, mets-la en évidence : « Ton code annule des Orders entières, mais tu viens de dire que l'annulation partielle est possible — c'est quoi la vérité ? »

Mets à jour CONTEXT.md au fil de l'eau

Quand un terme est résolu, mets à jour CONTEXT.md sur place. Ne les accumule pas — capture-les au fur et à mesure. Utilise le format dans CONTEXT-FORMAT.md.

Ne couple pas CONTEXT.md aux détails d'implémentation. Inclus uniquement les termes qui sont significatifs pour les experts du domaine.

Propose les ADRs avec parcimonie

Propose de créer un ADR uniquement quand les trois conditions sont vraies :

  1. Difficile à inverser — le coût de changer d'avis plus tard est significatif
  2. Surprenant sans contexte — un lecteur futur se demandra « pourquoi ont-ils fait ça comme ça ? »
  3. Le résultat d'un vrai compromis — il y avait des alternatives authentiques et tu en as choisi une pour des raisons spécifiques

Si l'une des trois manque, saute l'ADR. Utilise le format dans ADR-FORMAT.md.

</supporting-info>

Skills similaires