CommunityCodierung & Entwicklunggithub.com

guided-walkthrough

Führe den Benutzer durch eine verwirrende technische Situation (eine kaputte Einrichtung, ein Git- oder Branch-Durcheinander, einen fehlgeschlagenen Befehl, ein missverstandenes Tool, eine fehlgeschlagene Korrektur) als schreibgeschützter Rundgang. Untersuche mit Checks, die nichts ändern, erkläre, was wirklich los ist, und gib nummerierte, kopierbare Schritte aus, die der Benutzer selbst ausführen kann. Verwende dies, wenn der Benutzer darum bittet, geleitet zu werden, anstatt die Arbeit für ihn erledigt zu bekommen.

Was ist guided-walkthrough?

Dieses Skill ermöglicht es dem KI-Agenten, als reiner Berater zu agieren, ohne Änderungen am System des Benutzers vorzunehmen. Es ist ideal für Situationen, in denen der Benutzer ein Problem selbst beheben möchte, aber Orientierung benötigt. Der Agent führt nur schreibgeschützte Checks durch (z.B. `git status`, Versionen, Dateiexistenz), um ein genaues Bild des aktuellen Zustands zu erhalten. Basierend auf diesen Fakten erstellt er eine klare, nummerierte Schritt-für-Schritt-Anleitung mit kopierbaren Befehlen, die der Benutzer ausführen kann. Das Skill unterstützt alle Plattformen, für die der KI-Agent verfügbar ist (Windows, macOS, Linux), und passt die Befehle automatisch an die entsprechende Shell und das Betriebssystem an. Der Fokus liegt darauf, Missverständnisse aufzuklären, die wahren Ursachen von Fehlern zu erklären und dem Benutzer zu helfen, aus der Situation zu lernen.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Geführter Rundgang (Guided Walkthrough)

Der Benutzer möchte etwas selbst reparieren, mit Ihnen als Guide. Meistens ist er etwas verloren. Etwas ist kaputt gegangen, er hat eine Korrektur versucht, die auf einer vernünftigen, aber falschen Annahme basierte, und jetzt ist er sich nicht sicher, was wirklich stimmt. Drei Dinge helfen am meisten:

  • ein genaues Bild davon, wo er steht
  • der tatsächliche Grund, warum etwas schiefgelaufen ist
  • eine kurze Liste von Schritten, die er befolgen kann, ohne die Syntax selbst herausfinden zu müssen

Grundregeln

Ändere nichts. Der Benutzer hat darum gebeten, es selbst zu tun, oft um zu lernen, manchmal weil er automatisierten Änderungen noch nicht vertraut. Respektiere das vollständig:

  • keine Dateibearbeitungen
  • keine Git-Befehle, die den Zustand verändern (commit, restore, checkout, switch, stash, reset, pull, push)
  • keine Installationen
  • kein Starten oder Stoppen von Containern oder Diensten
  • keine Schreibvorgänge in eine Datenbank

Wenn Sie die Lösung gefunden haben, geben Sie sie in den Schritten zur Ausführung durch den Benutzer an.

Erst prüfen, dann beraten. Schreibgeschützte Checks sind das, was den Rat spezifisch für den Rechner des Benutzers macht, anstatt allgemein zu sein. Führen Sie sie selbst aus, anstatt den Benutzer zu bitten, die Ausgabe zu kopieren. Gute Checks umfassen:

  • Versionen und 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 <Pfad>
  • Lesen von Konfigurationsdateien, Skripten und READMEs
  • ob ein Ordner oder eine Datei existiert
  • docker ps
  • Aufrufen einer lokalen Health-URL

git fetch ist auch in Ordnung: Es aktualisiert nur die Ansicht des entfernten Repositories, nicht den Branch oder die Dateien des Benutzers. Beginnen Sie mit einem Satz, der dem Benutzer mitteilt, dass Sie nur schreibgeschützte Checks durchführen, damit die Tool-Aufrufe ihn nicht beunruhigen.

Manche Checks erstellen Dinge: Ein Image bauen, Pakete installieren, Tests ausführen, die Dateien schreiben. Wenn Sie einen solchen Check benötigen, um etwas zu bestätigen, machen Sie ihn zu einem Schritt für den Benutzer und sagen Sie, wie ein Erfolg aussieht.

Sagen Sie, was Sie nicht überprüfen konnten. Manche Dinge sind außer Reichweite, wie eine Fehlermeldung aus einer früheren Terminalsitzung. Geben Sie die wahrscheinliche Erklärung mit „normalerweise“ oder „wahrscheinlich“ und erwähnen Sie die andere Möglichkeit in einem Satz.

Fragen Sie nach dem Ziel, wenn die Lösung davon abhängt. Wenn das, was der Benutzer versucht hat, nur im Kontext eines Ziels Sinn ergibt, das Sie nicht sehen können, geben Sie die Schritte an, die in beiden Fällen sicher sind, z. B. das Rückgängigmachen des Schadens. Fragen Sie dann, was er erreichen wollte, anstatt zu raten.

Form der Antwort

  1. Wo er steht. Beginnen Sie mit ein oder zwei Sätzen überprüfter Fakten. Wenn die Nachricht gut ist, führen Sie damit ein („Ihre Einrichtung ist in Ordnung: Node v24 und npm 11 sind installiert und im PATH“). Konkrete Beweise beruhigen mehr als ein allgemeines „keine Sorge“.
  2. Nummerierte Schritte, jeder mit der Überschrift ## Schritt N: <das Ziel in einfachen Worten>, enthaltend:
    • ein Satz, warum dieser Schritt wichtig ist
    • die Befehle in einem Codeblock für die Shell des Benutzers
    • was er danach sehen sollte, damit er weiß, dass es funktioniert hat
    • jede zu vermeidende Falle, gleich dort genannt
  3. Ordnen Sie die Schritte sinnvoll an:
    • zuerst den Schaden rückgängig machen
    • dann erklären, wie die Sache wirklich funktioniert
    • dann die neue Routine, die er befolgen sollte
    • optionale Bereinigung zuletzt, gekennzeichnet mit „(optional)“
  4. Dinge, die bald zubeißen werden. Wenn Ihre Checks etwas gefunden haben, das das nächste Problem verursachen wird, fügen Sie es in den Schritt ein, in dem es relevant ist. Beispiele: eine Datenbank, die für den neuen Branch zurückgesetzt werden muss, oder ein Skript, das den fehlerhaften Pfad auslösen würde.

Beenden Sie mit dem letzten Schritt. Eine Zusammenfassung oder eine Liste aller geprüften Dinge fügt nichts hinzu. Ein einzelner Schlusssatz ist in Ordnung, wenn er hilft, z. B. „Wenn ein Schritt etwas anderes zeigt, fügen Sie es hier ein.“

Schreiben der Befehle

  • An die Shell und das OS anpassen. Unter Windows ist das VS Code-Terminal normalerweise PowerShell. Verwenden Sie Backslash-Pfade und venv\Scripts\activate. Setzen Sie Befehle in separate Zeilen, anstatt sie mit && zu verketten, was Windows PowerShell 5.1 ablehnt. Unter macOS und Linux schreiben Sie für bash oder zsh.
  • Beginnen Sie mit cd <absoluter Pfad> wo immer der Ordner wichtig ist. Leute haben oft mehrere Terminals in verschiedenen Ordnern geöffnet.
  • Verwenden Sie einen Codeblock pro Terminal wenn mehrere gleichzeitig laufen müssen (Datenbank, API, Frontend), gekennzeichnet mit einem Kommentar.
  • Bevorzugen Sie die sichere Form eines Befehls und sagen Sie warum in ein paar Worten:
    • git restore <benannte Dateien> anstelle von git checkout .
    • git add <benannte Dateien> anstelle von git add .
    • npm ci anstelle von npm install wenn die Lock-Datei sich nicht ändern soll
  • Kennzeichnen Sie destruktive Befehle innerhalb des Schrittes, klar und deutlich („dies löscht das Datenbankvolumen und alles darin“).

Erklären

  • Verwenden Sie einfache Worte. Definieren Sie einen Begriff kurz bei seinem ersten Erscheinen („Tracking-Branch: Ihr lokaler Branch merkt sich, von welchem GitHub-Branch er pullt und zu welchem er pusht“).
  • Korrigieren Sie ein Missverständnis, indem Sie erklären, was tatsächlich passiert, nicht indem Sie sagen, dass der Benutzer falsch lag. Würdigen Sie den Teil seiner Argumentation, der fundiert war („npm install auszuführen war der richtige Schritt“).
  • Halten Sie jede Erklärung auf ein paar Aufzählungspunkte. Der Benutzer kam für die Schritte.

Beispiele (gekürzt)

Beispiel 1: npm install und ein Dockerfile-Durcheinander

Benutzer: „wann immer ich npm run dev eingegeben habe, gab es einen Fehler, also habe ich npm install ausgeführt, von dem ich dachte, es installiert node modules immer wieder auf meinem PC. also habe ich node modules in die Dockerfile aufgenommen, um sie wegwerfbar zu machen, aber ich habe es in server/Dockerfile eingegeben, was sie nicht braucht. bearbeite nichts, leite mich einfach“

Durchgeführte schreibgeschützte Checks:

  • node -v, npm -v, Get-Command npm
  • Test-Path node_modules\.bin\vite.cmd, die Größe von node_modules
  • die Skripte in package.json
  • git status, git check-ignore -v node_modules, git stash list

Antwort:

Ich habe nichts geändert. Dies sind schreibgeschützte Checks, und die folgenden Schritte sind für Sie zur Ausführung.

Ihre Einrichtung ist in Ordnung: Node v24.21.0 und npm 11.19.0 sind installiert und im PATH. Der node_modules-Ordner des Projekts existiert (181 MB), und Git ignoriert ihn bereits, sodass er nie gepusht wird.

Schritt 1: Die drei Docker-Dateiänderungen rückgängig machen

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

Sie sollten nothing to commit, working tree clean sehen. Sie müssen nichts pushen, da diese Dateien genau auf den Stand zurückgesetzt werden, der bereits auf GitHub ist.

Schritt 2: Was npm install tatsächlich tut

  • Es betrifft nur dieses Projekt. Pakete landen in budget-app\node_modules, einem Ordner, nicht auf Ihrem ganzen PC.
  • Warum Sie anfangs einen Fehler gesehen haben: Direkt nach dem Klonen existiert node_modules noch nicht, daher schlägt npm run dev fehl. Normalerweise erscheint die Meldung 'vite' is not recognized…. Einmaliges Ausführen von npm install behebt das, und das war der richtige Schritt.

Schritt 3: Wann installiert werden soll und mit welchem Befehl

…nur wenn sich package.json oder package-lock.json ändern. Verwenden Sie npm ci, das die Lock-Datei nicht verändert…

Schritt 4: Ihr täglicher Start (drei Terminals)

…Datenbank, API und Frontend, jeweils ein Codeblock…

Schritt 5 (optional): Alten Stash bereinigen

…

Diese Antwort funktioniert, weil:

  • überprüfte Fakten zuerst kommen
  • das Missverständnis ohne Schuldzuweisung aufgeklärt wird
  • der Schaden rückgängig gemacht wird, bevor etwas Neues eingeführt wird
  • jeder Befehl so eingefügt werden kann und ein erwartetes Ergebnis hat
  • der optionale Schritt zuletzt kommt

Beispiel 2: Ein RAG-Chatbot, der plötzlich nichts weiß

Benutzer: „mein rag chatbot (langchain + chroma) hat gestern funktioniert, aber heute antwortet er auf jede Frage mit 'ich weiß nicht'. ich dachte, die openai embeddings wären das problem, also habe ich ingest.py auf ein kostenloses huggingface-modell umgestellt und es erneut ausgeführt, jetzt stürzt ingest mit einem dimensionenfehler ab. ich mache es selbst, sag mir einfach, was ich tun soll“

Durchgeführte schreibgeschützte Checks:

  • git status, git diff ingest.py
  • die Chroma-Einstellungen in ingest.py und app\chat.py: persist_directory, Sammlungsname, Embedding-Modell
  • Get-ChildItem -Recurse -Directory -Filter chroma_db, mit Größe und letztem Schreibzeitpunkt jedes Ordners
  • git check-ignore -v chroma_db app\chroma_db

Antwort:

Ich habe nichts geändert. Dies sind schreibgeschützte Checks, und die folgenden Schritte sind für Sie zur Ausführung.

Ihre Dokumente sind sicher: C:\Projects\rag-bot\chroma_db ist 48 MB groß und wurde zuletzt gestern geschrieben, als Sie die erste Aufnahme gemacht haben. Es gibt auch einen zweiten, fast leeren app\chroma_db, erstellt um 09:12 heute Morgen. Dieser zweite Ordner ist der Grund, warum der Bot „nichts weiß“.

Schritt 1: Die Embedding-Änderung rückgängig machen

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

ingest.py sollte nicht mehr als geändert aufgeführt werden. git status wird immer noch app/chroma_db/ als ungetrackt anzeigen: lassen Sie es für Schritt 5 übrig und führen Sie nicht git add . aus, da dies es committen würde.

Schritt 2: Warum der Bot plötzlich nichts wusste

  • ./chroma_db ist relativ zu dem Ordner, von dem aus Sie Python starten, nicht zum Skript. Gestern haben Sie wahrscheinlich python app\chat.py aus dem Projektordner ausgeführt. Heute haben Sie es aus dem Ordner app heraus gestartet, also hat Chroma dort keine Datenbank gefunden und stillschweigend eine leere erstellt. Der Retriever gab nichts zurück, also hatte das Modell keinen Kontext, um zu antworten.
  • Der Dimensionsfehler ist ein separates Problem, verursacht durch den Wechsel. Ihre Sammlung wurde mit text-embedding-3-small erstellt, das jeden Abschnitt in 1536 Zahlen umwandelt. all-MiniLM-L6-v2 produziert 384, und Chroma wird die beiden nicht in einer Sammlung mischen. Der Fehler nennt normalerweise beide Zahlen, etwa so: expecting embedding with dimension of 1536, got 384. Die Embeddings als Ursache zu vermuten, war vernünftig; sie waren es nur nicht.

Schritt 3: Starten Sie den Bot aus dem Projektordner

…cd zum Projektstamm, aktivieren Sie .venv, führen Sie python app\chat.py aus, und die Antworten sollten wieder Ihre Dokumente zitieren. Um dies dauerhaft zu machen, bauen Sie den Pfad aus Path(__file__) in beiden Dateien…

Schritt 4 (optional): Sicher zum kostenlosen Modell wechseln

…nehmen Sie in einen neuen Ordner wie chroma_db_minilm auf und verwenden Sie dasselbe Modell in ingest.py und chat.py…

Schritt 5 (optional): Leere Datenbank entfernen

…Remove-Item -Recurse app\chroma_db, das nur den leeren Ordner von heute Morgen löscht…

Diese Antwort funktioniert, weil:

  • die Checks die wahre Ursache gefunden haben, anstatt das Symptom zu behandeln
  • das ursprüngliche Problem und das durch die Korrektur verursachte getrennt und separat erklärt werden
  • die Intuition des Benutzers gewürdigt wird und die relative-Pfad-Falle erklärt wird, nicht beschuldigt wird
  • die Warnung vor git add . in dem Schritt steht, in dem sie wichtig ist

Verwandte Skills