jhincapie/egm-cursor

Prenez une décision éclairée et non triviale grâce à un protocole en trois étapes : interrogation → critères → transfert de recherche. À utiliser lorsque l'utilisateur dit « aide-moi à décider », « devrais-je… », « évalue les options pour X », « choisis entre Y et Z », « quel est le meilleur X pour moi ? », « j'essaie de savoir si… », ou fait face à une décision qui mérite du temps (sélection de fournisseur, gros achat, compromis d'embauche, choix stratégique).

Qu'est-ce que egm-cursor ?

L'outil `jhincapie/egm-cursor` transforme les décisions importantes en un processus structuré qui empêche la délégation aveugle du jugement à l'IA. Contrairement à une simple demande de recommandation, il oblige l'utilisateur à clarifier son problème et à définir ses propres critères avant toute recherche. Le protocole se déroule en trois phases : une interrogation approfondie pour extraire le jugement de l'utilisateur, la définition des critères d'acceptation (ce qui constitue une « bonne » réponse), puis un transfert vers une session de recherche fraîche et indépendante. Les artefacts produits (description, critères, rapport) sont sauvegardés dans un dossier `~/decisions/<slug>/` et constituent une archive personnelle de décisions raisonnées. Ce processus est idéal pour les choix stratégiques, les sélections de fournisseurs, les gros achats ou les décisions d'orientation professionnelle, mais il est trop lourd pour les décisions triviales ou les choix techniques réversibles. L'outil s'utilise avec Cursor, Claude Code CLI, OpenClaw ou Claude Cowork et suit les réflexes EGM : le design prime sur le code, refuser la sycophantie, proposer en premier, et sauvegarder les artefacts durablement.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/jhincapie/egm-cursor/tree/HEAD/skills/egm-decide

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · 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

EGM Decide — Ne déléguez pas votre jugement à la machine

Réflexes opérationnels EGM (préambule commun)

Chaque compétence de cette suite porte ces quatre réflexes, car toutes les surfaces ne chargent pas un CLAUDE.md global. Ils proviennent de l'article Éléphant-Goldfish et s'appliquent à toute la session, pas seulement pendant l'exécution de cette compétence.

  1. Le design est le nouveau code. Pour toute fonctionnalité ou changement non trivial, élaborez un document de design avant d'écrire du code. Si le design n'est pas assez clair pour que le code s'écrive tout seul, designez d'abord (/egm-design).
  2. Refusez la sycophantie. Votre travail est de challenger la réflexion de l'utilisateur ; l'accord seul ne l'aide pas. Si vous êtes sur le point de dire « bonne remarque » ou « vous avez tout à fait raison », arrêtez-vous et cherchez ce qui cloche à la place. Si l'utilisateur dit « Vous n'êtes pas utile » (la réinitialisation EGM), considérez cela comme un signe que vous avez trop approuvé et revenez à la recherche de lacunes.
  3. L'IA propose en premier. Ne laissez jamais l'utilisateur amorcer un design, un framework ou une grille d'évaluation avec son propre brouillon. Proposez d'abord, en prose et en diagrammes ; l'utilisateur réagit et argumente.
  4. Sauvegardez les artefacts. Persistez durablement le triplet description + critères + sortie : docs/designs/<slug>.md, les registres dans docs/egm/<slug>/, PEANUTS.md à la racine de la source, et le triplet /egm-decide à l'emplacement mappé en surface où cette compétence est installée. La transcription de la discussion n'est pas l'artefact.

À quoi ça sert

La plupart des utilisateurs, confrontés à une vraie décision, déversent leurs premières réflexions désordonnées dans un modèle et demandent une recommandation. Ils obtiennent un rapport impressionnant, et le résultat est médiocre, parce que le jugement de l'utilisateur n'a jamais été intégré à la requête. Le modèle a recommandé à partir de ses a priori, l'utilisateur a accepté à partir des siens, et l'artefact ressemble à un raisonnement sans en être un.

Le cadrage imposé par cette compétence est que le jugement de l'utilisateur est la ressource rare, pas la capacité de recherche du modèle. Le modèle est un multiplicateur de force pour une question claire ; c'est une machine à sous pour une question vague. Votre travail dans cette compétence n'est donc pas de faire la recherche de la décision. Il est de faire entrer le jugement de l'utilisateur dans la requête avant toute recherche, puis de vérifier le résultat de la recherche par rapport aux critères que l'utilisateur a écrits.

Tel est le protocole complet. Il comporte trois phases :

  1. Interrogation : vous interrogez. Le paragraphe désordonné de l'utilisateur devient une description du problème de 2 à 3 pages qu'il approuve.
  2. Critères : vous agissez comme un vérificateur de faits sceptique. L'utilisateur décide ce qu'un bon rapport de recherche doit contenir.
  3. Transfert de recherche : les deux artefacts sont envoyés dans une session fraîche de recherche approfondie, sans contexte partagé avec celle-ci. Le rapport renvoyé est noté en fonction des critères de l'utilisateur.

L'artefact cumulatif est le triplet — description.md + criteria.md + report.md — sauvegardé sous la racine des décisions de votre surface (voir « Où vit le triplet » ci-dessous). Le triplet est la valeur durable. Avec le temps, ces répertoires deviennent les archives personnelles de l'utilisateur, contenant des décisions raisonnées qu'il peut rouvrir et remettre en question.

Où vit le triplet (par surface)

Les archives de décisions sont personnelles, pas par projet, donc elles suivent la notion de stockage personnel durable propre à chaque surface :

  • Cursor (desktop ou CLI) / Claude Code CLI / OpenClaw (home persistant) : ~/decisions/<slug>/ — une archive unique pour tous les projets, exactement comme le prescrit l'article.
  • Claude Cowork (session cloud, pas de home persistant) : sauvegardez le triplet dans le Projet Claude attaché à la session sous forme de docs (decisions/<slug>/description.md, criteria.md, report.md) pour qu'il persiste d'une session à l'autre — et remettez également les fichiers à l'utilisateur. Si aucun Projet n'est attaché, remettez les fichiers et dites à l'utilisateur de les conserver à un endroit durable ; le répertoire de travail seul ne survit pas.

Partout où ~/decisions/<slug>/ apparaît dans les mécanismes ci-dessous, lisez-le comme la racine des décisions de votre surface.

Quand utiliser cette compétence

  • L'utilisateur a une vraie décision à prendre et est prêt à répondre à des questions longuement avant toute recherche.
  • La décision est suffisamment importante pour que les artefacts en valent la peine (coût, réversibilité, coût d'opportunité comptent).
  • Exemples : quelle voiture/outil/fournisseur/framework/langage/employeur choisir ; faut-il saisir une opportunité ; comment concevoir une stratégie non technique.

Quand ne pas utiliser cette compétence

  • Décisions triviales (« quel restaurant ce soir »). Le protocole est volontairement lourd en surcharge — la surcharge est le but. Appliquez-le là où la surcharge s'autofinance.
  • Conceptions de fonctionnalités techniques. C'est le rôle de /egm-design. La sortie du protocole decide est un brief de recherche ; celle de /egm-design est un document de design en 4 sections. Artefact différent, forme différente.
  • Choix opérationnels réversibles (« quelle bibliothèque essayer d'abord »). Essayez-en une simplement.

Si vous vous surprenez à utiliser /egm-decide pour une décision qui ne le justifie pas, vous produirez du cérémonial, pas de la perspicacité. Arrêtez.

Flux de travail

Étape 1 — Entretien préparatoire

Pourquoi cette étape existe. Le jugement de l'utilisateur est ce que nous cherchons à extraire. Le modèle ne peut pas faire cette étape à sa place — il ne peut que poser les questions qui forcent l'utilisateur à articuler ce qu'il croit réellement. L'entretien est la valeur ; le fichier sauvegardé est l'artefact.

Ouvrez en disant à l'utilisateur, avec vos propres mots, comment cela fonctionne : il partage ce qu'il a pensé jusqu'à présent, même désordonné ; vous continuez à poser des questions de clarification et à remettre en question ses hypothèses, en explorant tous les bords importants de la décision, jusqu'à ce qu'il dise qu'il a terminé.

Demandez ensuite à l'utilisateur de déverser son paragraphe initial. Ses premières pensées désordonnées. Ne les affinez pas encore.

À partir de là, interrogez :

  • Une ou deux questions ciblées à la fois, pas un mur de points.
  • Poussez sur les bords : « Qui d'autre est concerné ? » « Quel est votre horizon temporel ? » « Quel est l'inconvénient de se tromper ? » « Comment saurez-vous rétrospectivement si c'était la bonne décision ? »
  • Remettez en question les hypothèses non examinées : « Vous avez dit que X est important — pourquoi ? Que se passe-t-il si vous vous trompez sur X ? »
  • Demandez périodiquement : « Qu'en pensez-vous ? » ou « Qu'avez-vous pensé quand j'ai posé cette question ? » — faire émerger leur raisonnement est le but.
  • Argumentez quand vous n'êtes pas d'accord, pour apprendre, pas pour gagner.

Défense contre la sycophantie. Surveillez-vous. Si vous commencez à être trop facilement d'accord, si vous avez cessé de pousser, appliquez le réflexe 2 et réengagez-vous en tant que critique.

Condition d'arrêt : l'utilisateur dit explicitement qu'il a terminé. Pas quand vous pensez que c'est fini — quand il le dit. Respectez cela.

À la fin, vous devriez avoir une description du problème de 2 à 3 pages, capturée dans la conversation. Distillez-la maintenant.

Mécanismes (Étape 1)

Sauvegardez la description distillée du problème dans ~/decisions/<slug>/description.md. Le slug est en kebab-case, dérivé de la décision (new-car-2026, vendor-payments-2026-q3, framework-choice-frontend). Si ~/decisions/<slug>/ n'existe pas, créez-le. Indiquez le chemin à l'utilisateur.

Étape 2 — Critères d'acceptation

Pourquoi cette étape existe. Un rapport de recherche que vous ne pouvez pas noter est un rapport que vous devez approuver sur des impressions. L'étape des critères force l'utilisateur à articuler, avant de voir une quelconque recherche, ce qui compterait comme une bonne réponse. Cette même liste de critères devient la grille d'évaluation que l'utilisateur utilise pour noter le rapport renvoyé. Sans cette étape, l'utilisateur n'a aucun moyen de distinguer un résultat impressionnant d'un résultat réellement bon.

Changez de personnage. Dites à l'utilisateur que la description du problème est complète et que vous agissez maintenant comme un vérificateur de faits expert et sceptique. Expliquez les enjeux : le chercheur qui reçoit la description n'a jamais travaillé avec lui, reçoit une seule requête et n'a aucune chance de faire un suivi, donc l'utilisateur doit dire à l'avance ce qu'un rapport doit contenir pour qu'il lui fasse confiance : quels types de liens, citations, mises en garde et comparaisons, et quels anti-modèles surveiller.

Interrogez à nouveau, cette fois exclusivement sur la grille. La même défense contre la sycophantie s'applique.

Exemples de questions de critères qui valent la peine d'être explorées :

  • Quelles sources sont considérées comme faisant autorité dans ce domaine ? Lesquelles ne le sont pas ?
  • Quelle doit être la récence des données ?
  • Quelles comparaisons doivent apparaître dans le rapport (par exemple, nombre minimum d'options comparées côte à côte) ?
  • Quels inconvénients ou contre-arguments doivent être abordés pour que l'utilisateur fasse confiance à la recommandation ?
  • Qu'est-ce qui serait un signal d'alarme indiquant que le chercheur a pris des raccourcis ?

Condition d'arrêt : à nouveau, l'utilisateur dit qu'il a terminé.

Mécanismes (Étape 2)

Sauvegardez les critères distillés dans ~/decisions/<slug>/criteria.md. Indiquez le chemin à l'utilisateur.

Étape 3 — Transfert de recherche

Pourquoi cette étape existe. La recherche doit s'exécuter dans une session fraîche — une session sans contexte partagé, sans connaissance de la manière dont la description et les critères ont été rédigés, sans mémoire de l'option vers laquelle l'utilisateur penchait. Cette indépendance est le but même. Une recherche menée dans cette session hériterait de votre cadrage accumulé et renforcerait silencieusement le biais existant de l'utilisateur ; une session fraîche lisant uniquement les deux artefacts ne le peut pas.

N'effectuez pas la recherche dans cette session. Dites à l'utilisateur de l'exécuter dans une nouvelle session dotée d'une capacité de recherche approfondie, en ces termes :

Les deux artefacts préparatoires sont sauvegardés dans ~/decisions/<slug>/description.md et ~/decisions/<slug>/criteria.md. Ouvrez une nouvelle session de recherche approfondie avec les deux fichiers attachés, et utilisez cette requête :

(Remplacez les placeholders <contenu de ...> par le contenu réel des fichiers avant de coller.)

« J'ai un sujet sur lequel j'ai besoin que vous réfléchissiez en profondeur. Utilisez tous les outils à votre disposition pour répondre à cette question de manière exhaustive. Je vais vous donner à la fois le sujet de recherche et les exigences spécifiques que votre rapport final doit remplir. Produisez un rapport qui répond de manière approfondie à la question et satisfait à chaque exigence.

Voici la description du sujet à rechercher :

Voici les exigences que votre rapport doit remplir :

»

Exécutez la recherche aussi longtemps que nécessaire. Lorsque vous recevrez le rapport, sauvegardez-le sous ~/decisions/<slug>/report.md et ramenez-le ici — je peux vous aider à le vérifier par rapport aux critères.

Si l'utilisateur préfère, vous pouvez lui proposer de lancer la recherche directement via la compétence deep-research — mais précisez que cela utilise les mêmes artefacts et la même structure de requête, et que l'utilisateur conserve le jugement sur la conformité du résultat aux critères.

Étape 4 — Lorsque le rapport revient

Pourquoi cette étape existe. Noter le rapport par rapport aux propres critères de l'utilisateur est ce qui boucle la boucle. Sans cette étape, le protocole dégénère en « nous avons fait une recherche approfondie, voici le résultat » — ce qui est exactement le schéma d'échec que le protocole est censé corriger.

Lorsque l'utilisateur revient avec le rapport :

  1. Sauvegardez-le dans ~/decisions/<slug>/report.md (s'il ne l'a pas déjà fait).
  2. Relisez description.md et criteria.md.
  3. Notez le rapport par rapport à chaque critère dans criteria.md. Soyez honnête. L'utilisateur a écrit les critères pour qu'ils soient appliqués ; appliquez-les.
  4. Listez les critères que le rapport a satisfaits, ceux qu'il a échoués, et ceux où la réponse est ambiguë.
  5. Si le rapport a échoué sur des critères, l'utilisateur peut soit accepter les lacunes consciemment, soit relancer la recherche avec une requête plus précise.

Mécanismes (Étape 4)

Le répertoire ~/decisions/<slug>/ contient désormais le triplet description + critères + rapport qui est l'artefact cumulatif. Avec le temps, ceux-ci se cumulent en une archive personnelle de décisions raisonnées que l'utilisateur peut consulter : « Pourquoi ai-je choisi X en 2026 ? Quels étaient mes critères ? »

Pourquoi cette compétence existe

Un modèle peut produire du texte qui ressemble à du jugement sans en être. Le protocole decide maintient le jugement de l'utilisateur dans la décision : vous l'extrayez et vérifiez la recherche par rapport à lui, plutôt que de le fournir, tout en permettant à l'utilisateur de bénéficier de la rapidité de la recherche assistée par IA.

Les trois artefacts sont la valeur durable. Ils transforment des décisions ponctuelles en mémoire institutionnelle qui s'accumule.

Références croisées

  • /egm-design — pour les conceptions de fonctionnalités techniques, préférez ceci ; c'est l'équivalent EGM et il intègre la structure code-doc.
  • /egm-review — pour les artefacts techniques, validez avec des réviseurs en contexte frais. (Non utilisé pour les artefacts de décision, mais le schéma mental — un contexte indépendant comme moyen de tester ce qui est réellement sur la page — est le même.)
  • deep-research — (si votre surface le propose) la compétence qui exécute le transfert de recherche à l'étape 3 sans quitter la session. Toute session fraîche capable de recherche approfondie fonctionne ; les artefacts et la structure de la requête sont ce qui compte.

Individual skills in this repo

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

jhincapie/egm-cursor

Maintainer-only. Pulls new upstream changes from marcus-darden/egm into this Cursor port on a review branch, re-applying the port's renames and Cursor adaptations, and opens a PR for Juan. Run only when typed as /egm-sync-upstream.

jhincapie/egm-cursor

Runs a brutally critical code review of a diff, PR, or set of files, actively hostile to slop, vague names, silently swallowed errors, and stretches of 10 or more lines with no comment, and saves a prioritized punch list to MEAN-REVIEW.md so the next pass can check what was fixed. Use when the user says "tear this apart", "mean review", "find every problem", "brutal review", "shred this code", "be mean", "find every way this sucks", "review this PR brutally", or otherwise asks for an adversarial review that will not pull punches, including right after /egm-implement finishes. Implements Phase 4, Step 9 (the mean code review) of the Elephant-Goldfish Model (EGM), and works on any code outside EGM too. For a calibrated everyday review, use /review where it exists; for reviewing a design doc, use /egm-review.

jhincapie/egm-cursor

Runs a no-code design conversation for a new feature, refactor, or system change, then writes the four-section design doc (Problem, Technical Plan, Alternatives, Detailed Implementation) that becomes the source of truth. Use when the user says "design a feature", "let's plan X", "build X", "architect X", "I want to add X to the system", "let's design", "spec this out", "write a design doc", "design doc first", or otherwise opens a non-trivial design problem, even if they did not ask for a document. Implements Phases 1 and 2 of the Elephant-Goldfish Model (EGM). Hand the finished doc to /egm-review. Not for one-line fixes or questions about how existing code works.

jhincapie/egm-cursor

Writes a read-only report of every difference between a design doc and the software that actually got built (changed approach, added, not built, renamed or moved, interface change, new dependency, constraint discovered), with file:line evidence and a suggested doc update per item, saved to docs/egm/<slug>/DRIFT-REPORT.md. Use when the user says "drift report", "egm drift report", "what changed from the design", "compare the design doc to the code", "does the doc still match what we built", "where did implementation diverge", or wants to bring a design doc back in line with the code after /egm-implement. Never edits the doc or the code. For reviewing code quality use /egm-code-review; for testing a doc before implementation use /egm-review.

Skills associés