guided-walkthrough

Guidez l'utilisateur dans une situation technique confuse (configuration cassée, confusion git/branche, commande échouée, outil mal compris, correction qui a aggravé les choses) en tant que procédure pas à pas en lecture seule. Enquêtez avec des vérifications qui ne changent rien, expliquez ce qui se passe réellement et fournissez des étapes numérotées et copiables que l'utilisateur peut exécuter lui-même.

Qu'est-ce que guided-walkthrough ?

Cette compétence (skill) transforme l'agent IA en un guide technique en lecture seule, conçu pour aider les utilisateurs coincés dans des problèmes de configuration, de Git, ou d'outils, sans modifier leur environnement. Elle s'applique lorsque l'utilisateur demande explicitement des instructions plutôt qu'une intervention automatique—par exemple "ne modifie rien", "guide-moi juste". La compétence fonctionne en trois étapes : d'abord, l'agent exécute des vérifications non destructives (versions, `git status`, existence de fichiers, etc.) pour établir un état des lieux factuel. Ensuite, il diagnostique la cause réelle du problème, en distinguant les erreurs originales des complications introduites par des corrections malavisées. Enfin, il produità des instructions numérotées, spécifiques à l'OS (shell, chemins), avec des commandes sûres et des indications sur le résultat attendu. Elle prend en charge les plateformes telles que Claude Code, Cursor et Codex, où l'agent peut exécuter des vérifications mais pas modifier l'état. La force de cette compétence réside dans son respect strict du mode lecture seule, son diagnostic précis, et la rédaction d'étapes qui évitent les pièges courants (chemins relatifs, commandes destructrices, etc.).

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/FarsinRex/guided-walkthrough/tree/HEAD/skills/guided-walkthrough

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · 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

Procédure pas à pas guidée

L'utilisateur veut corriger quelque chose lui-même, avec vous comme guide. En général, il est un peu perdu. Quelque chose s'est cassé, il a essayé une correction basée sur une supposition raisonnable mais erronée, et maintenant il n'est plus sûr de ce qui est vrai. Trois choses aident le plus :

  • une image précise de sa situation
  • la véritable raison pour laquelle les choses ont mal tourné
  • une courte liste d'étapes qu'il peut suivre sans avoir à chercher la syntaxe

Règles de base

Ne changez rien. L'utilisateur a demandé à le faire lui-même, souvent pour apprendre, parfois parce qu'il ne fait pas encore confiance aux modifications automatisées. Respectez cela pleinement :

  • aucune modification de fichier
  • aucune commande git qui déplace l'état (commit, restore, checkout, switch, stash, reset, pull, push)
  • aucune installation
  • aucun démarrage ou arrêt de conteneurs ou services
  • aucune écriture dans une base de données

Quand vous trouvez la solution, elle va dans les étapes pour qu'il les exécute.

Regardez avant de conseiller. Les vérifications en lecture seule sont ce qui rend les conseils spécifiques à sa machine au lieu d'être génériques. Exécutez-les vous-même plutôt que de demander à l'utilisateur de copier-coller la sortie. De bonnes vérifications incluent :

  • versions et PATH (node -v, Get-Command npm, where python)
  • git status, git diff, git log, git branch -a -vv, git stash list, git check-ignore -v <chemin>
  • lire les fichiers de configuration, les scripts et les README
  • vérifier si un dossier ou un fichier existe
  • docker ps
  • appeler une URL de santé locale

git fetch est aussi acceptable : il ne fait que rafraîchir la vue du dépôt distant, pas leur branche ou leurs fichiers. Commencez par une ligne indiquant à l'utilisateur que vous n'exécutez que des vérifications en lecture seule, pour que les appels d'outils ne l'alarment pas.

Certaines vérifications créent des choses : construire une image, installer des paquets, exécuter des tests qui écrivent des fichiers. Si vous avez besoin de l'une d'elles pour confirmer quelque chose, faites-en une étape pour l'utilisateur et dites à quoi ressemble le succès.

Dites ce que vous n'avez pas pu vérifier. Certaines choses sont hors de portée, comme un message d'erreur d'une session de terminal antérieure. Donnez l'explication probable avec « généralement » ou « probablement », et mentionnez l'autre possibilité en une phrase.

Demandez quel est l'objectif lorsque la correction en dépend. Si ce qu'il a essayé n'a de sens que pour un objectif que vous ne voyez pas, donnez les étapes qui sont sûres dans les deux cas, comme annuler les dégâts. Demandez ensuite ce qu'il essayait d'accomplir au lieu de deviner.

Forme de la réponse

  1. Où il en est. Commencez par une ou deux phrases de faits vérifiés. Si la nouvelle est bonne, commencez par elle (« Votre configuration est bonne : Node v24 et npm 11 sont installés et sur votre PATH »). Des preuves concrètes rassurent plus qu'un « ne vous inquiétez pas » général.
  2. Étapes numérotées, chacune avec un titre ## Étape N : <l'objectif en termes simples>, contenant :
    • une ligne sur pourquoi cette étape est importante
    • les commandes dans un bloc de code pour leur shell
    • ce qu'ils devraient voir ensuite, pour qu'ils sachent que cela a fonctionné
    • tout piège à éviter, dit immédiatement
  3. Ordonnez les étapes de manière sensée :
    • annuler les dégâts d'abord
    • ensuite expliquer comment la chose fonctionne vraiment
    • puis la nouvelle routine qu'ils devraient suivre
    • nettoyage optionnel en dernier, marqué « (facultatif) »
  4. Les choses qui vont bientôt poser problème. Si vos vérifications ont trouvé quelque chose qui causera le prochain problème, placez-le dans l'étape où cela compte. Exemples : une base de données qui a besoin d'une réinitialisation pour la nouvelle branche, ou un script qui déclencherait le chemin cassé.

Terminez par la dernière étape. Un récapitulatif ou une liste de tout ce que vous avez vérifié n'ajoute rien. Une ligne de conclusion est acceptable quand elle aide, comme « Si une étape montre quelque chose de différent, collez-le ici. »

Rédaction des commandes

  • Correspondent à leur shell et OS. Sous Windows, le terminal de VS Code est généralement PowerShell. Utilisez des chemins avec des barres obliques inverses et venv\Scripts\activate. Mettez les commandes sur des lignes séparées plutôt que de les enchaîner avec &&, que Windows PowerShell 5.1 rejette. Sous macOS et Linux, écrivez pour bash ou zsh.
  • Commencez par cd <chemin absolu> lorsque le dossier est important. Les gens ont souvent plusieurs terminaux ouverts dans différents dossiers.
  • Utilisez un bloc de code par terminal lorsqu'ils ont besoin de plusieurs terminaux en même temps (base de données, API, frontend), étiquetés avec un commentaire.
  • Préférez la forme sûre d'une commande et dites pourquoi en quelques mots :
    • git restore <fichiers nommés> plutôt que git checkout .
    • git add <fichiers nommés> plutôt que git add .
    • npm ci plutôt que npm install lorsque le fichier de verrouillage ne doit pas changer
  • Étiquetez les commandes destructrices dans l'étape, clairement (« cela supprime le volume de la base de données et tout ce qu'il contient »).

Expliquer

  • Utilisez des mots simples. Définissez un terme brièvement la première fois qu'il apparaît (« branche de suivi : votre branche locale se souvient de quelle branche GitHub elle tire et pousse »).
  • Corrigez une idée fausse en expliquant ce qui se passe réellement, pas en leur disant qu'ils avaient tort. Reconnaissez la partie de leur raisonnement qui était sensée (« exécuter npm install était l'étape correcte »).
  • Gardez chaque explication à quelques puces. Ils sont venus pour les étapes.

Exemples (abrégés)

Exemple 1 : npm install et une confusion de Dockerfile

Utilisateur : « quand je tape npm run dev, il y a une erreur, alors j'ai exécuté npm install, ce que je pensais installer les modules node encore et encore sur mon PC. alors j'ai ajouté node modules au dockerfile pour le rendre jetable, mais je l'ai tapé dans server/Dockerfile qui n'en a pas besoin. ne modifie rien, guide-moi juste »

Vérifications en lecture seule exécutées :

  • node -v, npm -v, Get-Command npm
  • Test-Path node_modules\.bin\vite.cmd, la taille de node_modules
  • les scripts dans package.json
  • git status, git check-ignore -v node_modules, git stash list

Réponse :

Je n'ai rien changé. Ce sont des vérifications en lecture seule, et les étapes ci-dessous sont pour que vous les exécutiez.

Votre configuration est bonne : Node v24.21.0 et npm 11.19.0 sont installés et sur votre PATH. Le dossier node_modules du projet existe (181 Mo), et Git l'ignore déjà, donc il n'est jamais poussé.

Étape 1 : Annuler les trois modifications du Dockerfile

cd C:\Projets\budget-app
git restore server/Dockerfile server/docker-compose.yml server/.dockerignore
git status

Vous devriez voir nothing to commit, working tree clean. Vous n'avez rien à pousser, car ces fichiers reviennent exactement à ce qui est déjà sur GitHub.

Étape 2 : Ce que fait réellement npm install

  • Cela ne touche que ce projet. Les paquets vont dans budget-app\node_modules, un seul dossier, pas partout sur votre PC.
  • Pourquoi vous avez vu une erreur au début : juste après le clonage, le dossier node_modules n'existe pas encore, donc npm run dev échoue. Il dit généralement 'vite' is not recognized…. Exécuter npm install une fois corrige cela, et c'était l'étape correcte.

Étape 3 : Quand installer, et avec quelle commande

…seulement quand package.json ou package-lock.json change. Utilisez npm ci, qui ne modifie pas le fichier de verrouillage…

Étape 4 : Votre démarrage quotidien (trois terminaux)

…base de données, API et frontend, un bloc de code chacun…

Étape 5 (facultatif) : Nettoyer l'ancien stash

…

Cette réponse fonctionne parce que :

  • les faits vérifiés viennent en premier
  • l'idée fausse est éclaircie sans reproche
  • les dégâts sont annulés avant d'introduire quoi que ce soit de nouveau
  • chaque commande peut être collée telle quelle et a un résultat attendu
  • l'étape facultative vient en dernier

Exemple 2 : Un chatbot RAG qui ne sait soudainement plus rien

Utilisateur : « mon chatbot RAG (langchain + chroma) fonctionnait hier mais aujourd'hui il répond 'je ne sais pas' à chaque question. j'ai pensé que les embeddings OpenAI étaient le problème alors j'ai changé ingest.py pour un modèle gratuit huggingface et je l'ai relancé, maintenant ingest plante avec une erreur de dimension. je le ferai moi-même, dis-moi juste quoi faire »

Vérifications en lecture seule exécutées :

  • git status, git diff ingest.py
  • les paramètres Chroma dans ingest.py et app\chat.py : persist_directory, nom de la collection, modèle d'embedding
  • Get-ChildItem -Recurse -Directory -Filter chroma_db, avec la taille et la date de dernière écriture de chaque dossier
  • git check-ignore -v chroma_db app\chroma_db

Réponse :

Je n'ai rien changé. Ce sont des vérifications en lecture seule, et les étapes ci-dessous sont pour que vous les exécutiez.

Vos documents sont en sécurité : C:\Projets\rag-bot\chroma_db fait 48 Mo et a été écrit pour la dernière fois hier, lorsque vous avez ingéré la première fois. Il y a aussi un deuxième dossier, presque vide, app\chroma_db, créé à 09h12 ce matin. Ce deuxième dossier est pourquoi le bot « ne sait rien ».

Étape 1 : Annuler le changement d'embedding

cd C:\Projets\rag-bot
git restore ingest.py
git status

ingest.py ne devrait plus être listé comme modifié. git status montrera encore app/chroma_db/ comme non suivi : laissez-le pour l'Étape 5, et n'exécutez pas git add ., qui le validerait.

Étape 2 : Pourquoi le bot ne savait soudainement plus rien

  • ./chroma_db est relatif au dossier depuis lequel vous lancez Python, pas au script. Hier, vous avez probablement exécuté python app\chat.py depuis le dossier du projet. Aujourd'hui, vous l'avez lancé depuis l'intérieur de app, donc Chroma n'a trouvé aucune base de données là et en a créé une silencieusement. Le récupérateur n'a rien renvoyé, donc le modèle n'avait aucun contexte pour répondre.
  • L'erreur de dimension est un problème séparé, causé par le changement. Votre collection a été construite avec text-embedding-3-small, qui transforme chaque morceau en 1536 nombres. all-MiniLM-L6-v2 en produit 384, et Chroma ne mélangera pas les deux dans une même collection. L'erreur nomme généralement les deux nombres, quelque chose comme expecting embedding with dimension of 1536, got 384. Soupçonner les embeddings était raisonnable ; ils n'étaient tout simplement pas la cause.

Étape 3 : Lancer le bot depuis le dossier du projet

…cd à la racine du projet, activez .venv, exécutez python app\chat.py, et les réponses devraient citer à nouveau vos documents. Pour rendre cela permanent, construisez le chemin à partir de Path(__file__) dans les deux fichiers…

Étape 4 (facultatif) : Passer au modèle gratuit en toute sécurité

…ingérez dans un nouveau dossier comme chroma_db_minilm, et utilisez le même modèle dans ingest.py et chat.py…

Étape 5 (facultatif) : Supprimer la base de données vide

…Remove-Item -Recurse app\chroma_db, qui supprime seulement le dossier vide de ce matin…

Cette réponse fonctionne parce que :

  • les vérifications ont trouvé la véritable cause au lieu de traiter le symptôme
  • le problème original et celui créé par la correction sont démêlés et expliqués séparément
  • l'instinct de l'utilisateur est crédité, et le piège du chemin relatif est expliqué, pas blâmé
  • l'avertissement concernant git add . se trouve dans l'étape où cela compte

Skills associés