CommunityRédaction et éditiongithub.com

tacticaldoll/nlp-agent-skills

Un monorepo pour versionner et gérer plusieurs compétences, configurations et prompts d'agents NLP.

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

Cette compétence fournit un processus structuré en plusieurs phases pour effectuer une revue de code statique locale, basée sur des portes de qualité (gates). Elle est conçue pour les développeurs et les agents IA qui ont besoin d'une analyse de code sans faire appel à des services distants ou à des API. L'outil prend en charge plusieurs formats d'entrée : code collé, fichiers locaux, diffs git, commits ou branches, et il normalise automatiquement l'entrée utilisateur. Le processus comprend le calibrage de la profondeur de la revue (nombre de portes à ouvrir), un triage rapide pour les grands ensembles de fichiers, une extraction structurelle, une ouverture séquentielle des portes (de la syntaxe à la sécurité), et la production d'un rapport structuré. Si une porte échoue, les portes supérieures sont bloquées, mais les alertes de sécurité sont toujours transmises. La compétence peut également générer un plan de correction sur demande, en respectant l'ordre des portes et en fournissant des vérifications concrètes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add tacticaldoll/nlp-agent-skills

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

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

Documentation

Assay

Utilisez cette compétence pour effectuer une revue de code statique locale, basée sur des portes de qualité. La revue ouvre les portes dans l'ordre ; un échec à une porte inférieure bloque les portes supérieures car les jugements ultérieurs ne sont pas utiles lorsque l'hygiène de base, la dénomination ou la gestion des erreurs sont déjà défaillantes.

Cette compétence n'appelle pas de services distants, ne publie pas de commentaires, n'approuve pas de code et ne modifie pas de fichiers. Elle révise une entrée locale ou collée et produit un rapport structuré.

Workflow

Phase 0 : Résoudre l'entrée locale

Normalisez l'entrée de l'utilisateur dans un périmètre de revue :

EntréeRésolution
Code ou diff colléExaminer le contenu fourni directement
Chemin(s) de fichier(s) local(aux)Lire le contenu complet du fichier ; pas de contexte de diff sauf si disponible
Diff git localExaminer les fichiers et hunks modifiés
Hash de commit ou plageUtiliser le diff git local quand disponible
Nom de brancheUtiliser le diff merge-base local quand disponible
Demande ambiguëDemander des fichiers, un diff, un commit/plage, une branche ou du code collé

Ne pas récupérer les données MR/PR, appeler des API distantes ni exiger d'authentification. Si un contexte distant est nécessaire, demander à l'utilisateur de fournir un diff local ou un contenu collé.

Phase 1 : Calibrer la profondeur de la revue

Choisir combien de portes ouvrir. Par défaut, ouvrir les Portes 1 à 5 pour les modifications locales ordinaires.

ContextePlage de portes
Brouillon, WIP, code exploratoirePortes 1 à 3
Fonctionnalité ordinaire ou outil internePortes 1 à 5
Bibliothèque partagée, chemin de production ou API publiquePortes 1 à 7
Code sensible à la sécurité, authentification, cryptographie, exécution de commandes ou frontière d'entrée utilisateurPortes 1 à 8

En cas d'ambiguïté, demander quelle est la destination ou le niveau de risque du code.

Phase 2 : Trier les grands périmètres

Lorsque le périmètre de la revue contient plus de 5 fichiers, effectuer un triage rapide avant l'inspection approfondie. Pour 5 fichiers ou moins, ignorer le triage et passer à l'extraction structurelle.

Vérifications du triage :

#VérificationSignal d'échec
1Code mortCode commenté, importations inutilisées, sortie de débogage
2Clarté des nomsLes noms publics sont vagues ou trompeurs
3Profondeur d'imbricationImbrication plus profonde que 3 niveaux
4Longueur des fonctionsFonctions assez longues pour cacher plusieurs responsabilités
5Écrasement d'erreurCatch/except vide ou échec ignoré
6Mélange de domainesEntrées-sorties et logique métier mélangés dans une seule unité
7Assemblage brut de champsConditions complexes sans aides sémantiques
8Odeur de duplicationLogique similaire apparaissant à plusieurs reprises
9Odeur de sécuritéSecrets, interpolation non sécurisée, logs sensibles, entrée dangereuse non vérifiée

Classifier les fichiers :

ClasseCritèresAction suivante
Rouge3 vérifications ou plus échouentInspection complète de la porte
Jaune1 à 2 vérifications échouentInspecter la porte ciblée et toutes les portes inférieures
Vert0 vérifications échouentRéussite, sauf demande spécifique

L'odeur de sécurité est à double voie : la signaler comme une alerte de triage même si la Porte 8 est bloquée par une porte inférieure.

Phase 3 : Extraction structurelle

Avant d'ouvrir les portes, extraire la structure de chaque fonction, classe, module ou unité de code pertinente examinée. Utiliser l'extraction pour guider la revue des portes ; ne pas se fier uniquement au texte brut du diff.

Enregistrer :

  • Fermetures, callbacks ou fonctions imbriquées.
  • Objets inline ou entités locales avec comportement.
  • Opérations d'entrée-sortie et effets de bord externes.
  • Imbrication la plus profonde et raison de celle-ci.
  • Distribution des domaines : infrastructure, métier, présentation ou mixte.
  • Cycle de vie : ponctuel, persistant ou mixte.
  • Variables capturées et dépendances cachées.
  • Anomalies évidentes découvertes lors de l'extraction.
  • Source de vérité disponible pour la Porte 6 : localiser toute spécification ou document de gouvernance (openspec/, PROJECT.md, AGENTS.md, ADRs, un issue lié) pour juger la logique, ou noter qu'aucune n'a été trouvée.

Phase 4 : Revue séquentielle des portes

Lire references/gates.md pour les définitions des portes.

Ouvrir les portes dans l'ordre. Si une porte échoue, arrêter d'ouvrir les portes supérieures pour ce fichier ou ce périmètre de revue. Ne pas inventer de constatations. Le silence signifie conformité pour les sections de détail ; l'index des portes enregistre toujours quelles portes ont été ouvertes, réussies, échouées ou bloquées.

Phase 5 : Rapport

Produire un rapport en utilisant ce format :

## Compte-rendu de revue

**Source** : [référence de l'entrée]
**Calibrage** : Portes 1-[N] ([raison])
**Triage** : [ignoré | Rouge M / Jaune N / Vert K]
**Verdict** : [RÉUSSITE | ÉCHEC à la Porte N]

### Index des portes

| Porte | Axe | Statut |
|---:|---|---|
| 1 | Formatage et hygiène syntaxique | [réussite | échec | bloqué | non inspecté] |
| 2 | Dénomination et lisibilité | [réussite | échec | bloqué | non inspecté] |
| 3 | Gestion des erreurs et observabilité | [réussite | échec | bloqué | non inspecté] |
| 4 | Flux de contrôle et clarté structurelle | [réussite | échec | bloqué | non inspecté] |
| 5 | Responsabilité et limites | [réussite | échec | bloqué | non inspecté] |
| 6 | Intégrité de la logique métier | [réussite | échec | bloqué | non inspecté] |
| 7 | Déduplication et composition | [réussite | échec | bloqué | non inspecté] |
| 8 | Sécurité et intégrité des paramètres | [réussite | échec | bloqué | non inspecté] |

### Alerte de triage sécurité

[Inclure uniquement lorsque la vérification 9 du triage échoue.]

### Porte N : [nom]

| # | Emplacement | Violation | Correction |
|---|---|---|---|
| 1 | `fichier:ligne` | Porte N : norme spécifique violée | Correction concrète |

### Annexe structurelle

[Inclure les résumés des unités de code liées aux constatations.]

Phase 6 : Plan de correction (optionnel)

Produire un plan de correction uniquement lorsque l'utilisateur le demande.

Règles du plan de correction :

  • Une violation par correction.
  • L'ordre des corrections suit l'ordre des portes.
  • Au sein d'une même porte, ordonner par fichier et ligne, sauf si des dépendances logiques imposent un autre ordre.
  • Pas de corrections opportunistes.
  • Chaque correction inclut des critères de vérification.

Règles

  • Revue uniquement ; ne pas modifier le code.
  • Utiliser uniquement des entrées locales ou collées ; ne pas appeler d'API MR/PR distantes.
  • Ouvrir les portes séquentiellement et s'arrêter à la première porte qui échoue.
  • Signaler les alertes de triage sécurité même lorsque l'inspection approfondie de sécurité est bloquée.
  • Donner des corrections concrètes ; éviter les suggestions vagues comme « envisager d'améliorer ».
  • Si toutes les portes ouvertes réussissent, l'Index des portes est le rapport ; ne pas inventer de constatations.
  • Mentionner lorsque les tests, les builds ou les vérifications d'exécution n'ont pas été effectués.
  • Rester dans son domaine ; passer le relais à la frontière. Cette compétence est une revue statique et locale uniquement. Pour l'exactitude d'exécution/comportementale, orienter vers verify ; pour une analyse de sécurité approfondie au-delà des vérifications superficielles de la Porte 8, orienter vers security-review. Nommer le transfert plutôt que de faire à moitié le travail de l'autre compétence.

Skills associés