04 Fonctionnalités avancées

Prompt files, limites et feedback de Chat

4.13 Prompt files réutilisables ♻️

Définition

Les prompt files sont des prompts sauvegardés et réutilisables. Ils sont distincts des custom instructions : ils s’appliquent quand on choisit explicitement le workflow, plutôt que automatiquement à chaque interaction.

Ils permettent de standardiser des demandes fréquentes.

GitHub liste les prompt files parmi les fonctionnalités de personnalisation de Copilot.

Dans les IDE documentés, ils sont généralement stockés sous .github/prompts/*.prompt.md. La fonctionnalité est indiquée comme public preview et sa disponibilité dépend de l’IDE.

Différence entre instructions files et prompt files

ÉlémentRôle
Instructions filesConsignes générales permanentes pour le projet
Prompt filesPrompts réutilisables pour des tâches spécifiques

Exemple d’instructions file

Texte
Always use Jest for unit tests.
Use strict TypeScript.
Avoid hardcoded secrets.

C’est général.

Exemple de prompt file

markdown
# Generate service tests

Generate unit tests for the selected service.

Requirements:
- Use Jest.
- Mock external dependencies.
- Cover success path.
- Cover invalid input.
- Cover dependency failure.
- Explain missing edge cases.

C’est une tâche réutilisable.

Exemples de prompt files utiles

Prompt file : security review

markdown
Review the selected code for security issues.

Focus on:
- authentication
- authorization
- input validation
- injection risks
- secrets
- error messages
- logging sensitive data

Return:
- risks found
- severity
- recommended fix

Prompt file : refactoring

markdown
Refactor the selected code.

Constraints:
- preserve behavior
- do not change public API
- improve readability
- reduce duplication
- avoid new dependencies
- suggest tests if behavior is unclear

Prompt file : test generation

markdown
Generate tests for the selected code.

Include:
- normal cases
- edge cases
- invalid inputs
- boundary values
- dependency failures
- expected exceptions

Pourquoi c’est utile ?

Les prompt files permettent :

  • d’éviter de réécrire les mêmes prompts ;
  • de standardiser les pratiques d’équipe ;
  • de réduire les prompts vagues ;
  • d’améliorer la qualité ;
  • d’aider les nouveaux développeurs.

Piège d’examen 🪤

Question possible :

Texte
A team frequently asks Copilot to perform the same type of security review with the same checklist.
What should they use?

Bonne réponse :

Texte
A reusable prompt file

4.14 Limites, feedback et commandes Copilot Chat ⚠️💬

Limites de Copilot Chat

Copilot Chat est puissant, mais il a des limites.

Il peut :

  • mal comprendre le contexte ;
  • halluciner ;
  • ignorer une contrainte ;
  • proposer une API inexistante ;
  • générer du code vulnérable ;
  • oublier des edge cases ;
  • donner une réponse trop générale ;
  • être influencé par un mauvais prompt.

Exemple d’hallucination

Prompt :

Texte
Use the latest AWS command to enable automatic quantum firewall protection.

Copilot pourrait inventer une commande.

Bonne réaction :

Texte
Vérifier dans la documentation officielle avant utilisation.

Exemple de mauvaise contrainte

Prompt :

Texte
Make this secure.

Trop vague.

Meilleur prompt :

Texte
Review this Express route for authentication, authorization, input validation, SQL injection, error handling, and sensitive logging.
Suggest specific fixes.

Feedback dans Copilot

Le feedback sert à améliorer l’expérience et signaler :

  • réponse utile ;
  • réponse incorrecte ;
  • suggestion problématique ;
  • résultat non pertinent.

Mais attention :

Texte
Donner du feedback ne valide pas le code.

Tu dois quand même relire et tester.

Commandes Copilot Chat

Copilot Chat peut proposer des commandes ou raccourcis selon l’environnement.

Exemples fréquents :

Texte
/explain
/tests
/fix
/doc
/help
/clear

GitHub indique que les slash commands permettent de gagner du temps pour les scénarios courants et que leur disponibilité peut varier selon l’environnement et le contexte.

Exemple /explain

Texte
/explain

Utile pour comprendre :

  • regex ;
  • fonction ;
  • erreur ;
  • bloc complexe ;
  • requête SQL.

Exemple /tests

Texte
/tests

Utile pour générer des tests.

Mais tu peux améliorer :

Texte
/tests using pytest.
Include edge cases, invalid inputs, and exception cases.

Exemple /fix

Texte
/fix

Utile pour corriger rapidement une erreur locale.

Mais attention : la correction peut être superficielle.

Demande plutôt :

Texte
/fix this bug.
Preserve public behavior.
Explain the root cause and add a test.

Bonnes pratiques

Toujours :

  • Donner un contexte clair
  • Limiter le scope
  • Demander une explication
  • Demander les tests
  • Vérifier les diffs
  • Vérifier la sécurité
  • Ne pas accepter aveuglément

À retenir pour le GH-300

  • Un prompt file est un prompt réutilisable choisi à la demande ; une instruction s’applique en permanence.
  • Une checklist ponctuelle va dans un prompt file, les règles générales dans les instructions.
  • Copilot Chat peut halluciner : une commande ou une API précise se vérifie dans la documentation officielle.
  • Donner du feedback ne valide pas le code : relecture et tests restent nécessaires.

D2 · Utiliser les fonctionnalités de GitHub Copilot · 25–30 %