Zum Inhalt springen
claudemods

Next Steps: Claude Code Prompt-Vorschläge nach jedem Turn

Nach jedem Turn zwei oder drei mögliche nächste Prompts über der Eingabe. Mit 1, 2 oder 3 wird ein Entwurf eingefügt.

Berechtigungen

  • Ruft das Modell auf (nutzt dein Kontingent)Kann eigene Anfragen an Claude senden, die auf die Nutzung deines Plans angerechnet werden ($.model.* / $.agent.spawn).
  • Liest deine PromptsKann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
  • Verändert die OberflächeZeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
getestet mit
v2.1.291
zuletzt getestet
erfordert
Claude Code ≥ 2.1.287
Oberflächen
über dem Prompt

In Claude Code installieren:

/plugin install next-steps --marketplace hamzafer/claude-code-mods
Alle Installationswege ↓

Was macht diese Mod?

Next Steps ist eine Community-Mod von Hamza Zafar (hamzafer) aus seiner Sammlung claude-code-mods. Sie liefert Claude Code Prompt-Vorschläge: Wenn ein Turn endet, zeigt sie in einem Band über der Eingabe zwei oder drei kurze Prompts, die du wahrscheinlich als Nächstes tippst. Nachdem Claude zum Beispiel eine Datei erklärt hat, könnte sie Write a test for the login function vorschlagen.

Solange die Eingabe leer ist, legt 1, 2 oder 3 den jeweiligen Vorschlag als Entwurf ins Eingabefeld, und 0 blendet die Liste aus. Nichts wird von selbst gesendet: Du bearbeitest den Entwurf oder drückst Enter. Auf einem breiten Terminal stehen die Vorschläge in einer Zeile (next: 1 ... · 2 ... · 0 dismiss). Passen sie nicht in eine Zeile, bekommt jeder eine eigene, es sei denn, das Band hat zu wenige freie Zeilen; dann wird die einzelne Zeile am Ende abgeschnitten.

Die Vorschläge stammen aus einem Aufruf des haiku-Modells nach dem Turn. Das Band bleibt versteckt, solange Claude arbeitet oder eine Umfrage offen ist, wenn die Antwort unter 20 Zeichen hat und solange Hintergrund-Agenten noch laufen. Subagent-Turns werden ignoriert. Die Mod where-am-i des Autors liest ein gemeinsames Flag, um ihren eigenen „next“-Teil wegzulassen, solange diese Liste angezeigt wird.

Demo

Die Aufnahme startet Claude Code mit geladener Mod im kleinen Demo-Projekt und bittet Claude, src/login.js zu lesen und in zwei Sätzen zu erklären. Wenn der Turn endet, erscheint über der Eingabe ein next:-Band mit drei nummerierten Vorschlägen, etwa Add error handling for empty strings und Write a test for the login function, und dem Hinweis 0 dismiss. Das Video bleibt auf diesem Bild stehen, dann wird im leeren Prompt 1 gedrückt, und der erste Vorschlag erscheint als ungesendeter Entwurf im Eingabefeld. Der Clip ist beschleunigt, die Pausen sind also kürzer, als sie aussehen.

Installation

Nutze eine der Methoden im Installationsblock; sie installieren direkt aus dem eigenen Marketplace des Autors. Das Band erscheint nach dem nächsten abgeschlossenen Turn.

$ install next-steps

Erfordert Claude Code ≥ 2.1.287

Wird aus dem Marketplace des Autors installiert: hamzafer/claude-code-mods

  1. 1.Eine Zeile, direkt in Claude Code

    /plugin install next-steps --marketplace hamzafer/claude-code-mods

    In eine laufende Sitzung einfügen (v2.1.275+). Claude Code fragt zuerst, ob der Marketplace hinzugefügt werden soll.

  2. 2.Aus deiner Shell

    claude plugin marketplace add hamzafer/claude-code-mods
    claude plugin install next-steps@claude-code-mods

    Führe danach in jeder bereits geöffneten Sitzung /reload-plugins aus.

  3. 3.Ohne Installation ausprobieren

    git clone https://github.com/hamzafer/claude-code-mods
    claude --plugin-dir ./claude-code-mods/mods/next-steps

    Lädt die Mod nur für eine Sitzung. An deinen Einstellungen wird nichts geändert.

So funktioniert es

Die Mod hält die aktuelle Liste in einem vom Host gehaltenen $.state-Atom und zeichnet sie an der Render-Stelle AbovePrompt, unter den Bändern anderer Mods. Die Tastenbehandlung, aus hooks/register.tsx:

on('prompt.edit', async ($, e, next) => {
  if (hasSurvey || !e.key || e.key.ctrl || e.key.meta || e.text !== '' || e.start !== 0 || e.end !== 0 || !/^[0-9]$/.test(e.inputText)) return next(e)
  const s = await read($, steps)
  if (!s) return next(e)
  if (e.inputText === '0') {
    await setSteps($, () => null)
    return { text: '', cursor: 0 } // consumed: the box stays empty
  }
  const pick = s.items[Number(e.inputText) - 1]
  if (!pick) return next(e)
  return next({ ...e, inputText: pick }) // a draft: the person edits it or presses Enter
})

Bei turn.complete (nur Haupt-Agent) ruft suggest $.model.complete mit maxTokens: 200 und 20 Sekunden Timeout auf. Das Modell soll 2 oder 3 Prompts im Imperativ mit weniger als 60 Zeichen liefern, einen pro Zeile, oder NONE. Danach entfernt parseSteps Codeblöcke, Aufzählungszeichen, Nummern, Anführungszeichen und Gedankenstriche, verwirft Vorreden und Zeilen über 120 Zeichen (verworfen, nie abgeschnitten), entfernt Duplikate und behält höchstens drei. Das Ergebnis wird nur geschrieben, wenn inzwischen kein neuer Prompt und kein neuer Turn begonnen hat, sodass eine verspätete Antwort nie einen neueren Zustand überschreibt. prompt.submit und turn.start leeren die Liste.

Anpassen

In /config gibt es keine Optionen. Um das Verhalten zu ändern, bearbeite die Konstanten am Anfang von register.tsx: MODEL (Standard haiku), MAX_ITEMS (3), MAX_CHARS (60, was vom Modell verlangt wird), MAX_KEPT (120, die längste behaltene Zeile) und MIN_ANSWER (20, die kürzeste Antwort, die einen Aufruf auslöst). Der Wortlaut der Anfrage an das Modell steht in den Strings system und prompt in suggest.

Berechtigungen & Sicherheit

Wir haben vor dem Ausführen jede Datei gelesen, die das Plugin ausführen kann: .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.tsx (das einzige Modul), die Typdeklarationen und die Tests. Es gibt keine package.json, kein Installationsskript, keine Binärdatei und keinen gebündelten oder minifizierten Code, und nichts wird von außerhalb des Plugin-Ordners geladen.

  • Modellaufruf. Nach jedem abgeschlossenen Turn des Haupt-Agenten sendet suggest über $.model.complete bis zu die letzten 6 Sitzungsnachrichten (jeweils auf 800 Zeichen gekürzt) und die letzte Antwort (auf 2.000 Zeichen gekürzt) an das haiku-Modell. Das nutzt dein Claude-Code-Konto wie jeder andere Modellaufruf, und die Mod öffnet keine andere Netzwerkverbindung. Der Text ist Sitzungsinhalt und kann daher alles enthalten, was du und Claude besprochen habt.
  • Prompt-Text. Die eigenen Anweisungen der Mod an das Modell sind schlichte, lesbare Strings. Sie schleust nichts in deine Prompts oder in Claudes Kontext ein: Die Modellausgabe landet nur als Entwurf im Eingabefeld, den du selbst senden musst. Weil die Vorschläge aus dem Transkript entstehen, kann Text in einer von Claude gelesenen Datei die Vorschläge trotzdem beeinflussen, und du siehst ihn vor dem Senden.
  • Tasten- und Prompt-Hooks. prompt.edit ersetzt eine in einen leeren Prompt getippte Ziffer durch den Vorschlagstext oder schluckt 0. prompt.submit leert nur die Liste und reicht den Prompt unverändert weiter. claude plugin validate vermerkt prompt.submit als Gating-Hook ohne .catch, doch er blockiert oder verändert nie einen Prompt.
  • Sonst nichts. Sie führt keine Befehle aus, liest und schreibt keine Dateien, berührt weder Einstellungen noch Shell-Dateien oder Daemons, liest keine Umgebungsvariablen und sendet keine Telemetrie. Der Zustand liegt im Arbeitsspeicher des Hosts. Die Lizenz ist MIT, mit einer LICENSE-Datei im Repository.

claude plugin validate meldete keine Fehler oder Warnungen, und die 16 Tests des Autors liefen mit Claude Code 2.1.291 durch.

Ruft das Modell auf (nutzt dein Kontingent)
Kann eigene Anfragen an Claude senden, die auf die Nutzung deines Plans angerechnet werden ($.model.* / $.agent.spawn).
Liest deine Prompts
Kann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
Verändert die Oberfläche
Zeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).

Kompatibilität & Fehlerbehebung

Geprüft mit Claude Code 2.1.291 auf macOS (validate, Tests und die Demo-Aufnahme). Wenn keine Vorschläge erscheinen:

  • Die letzte Antwort war sehr kurz (unter 20 Zeichen) oder dem Modell fiel nichts Sinnvolles ein.
  • Hintergrund-Agenten laufen noch; der Aufruf wartet, bis der Haupt-Agent weitermacht.
  • Claude arbeitet noch, oder über dem Prompt ist eine Umfrage offen. Das Band erscheint, wenn der Turn endet.
  • Du hast eine Ziffer gedrückt, während schon Text im Feld stand, oder sie eingefügt. Ziffern wirken nur in einem leeren Prompt.
  • Du hast einen Prompt gesendet oder einen neuen Turn gestartet; das leert die Liste, bis der Turn fertig ist.

FAQ

Sendet Next Steps meine Prompts für mich ab?
Nein. Eine Ziffer legt den Vorschlag nur als Entwurf ins Eingabefeld. Du kannst ihn bearbeiten oder Enter drücken. Gesendet wird erst, wenn du es tust.
Kostet es Tokens?
Ja, ein wenig. Nach jedem Turn macht die Mod einen Aufruf des haiku-Modells über die eigene Modell-API von Claude Code, mit bis zu 6 letzten Nachrichten und der letzten Antwort als Eingabe. Bei Antworten unter 20 Zeichen und solange Hintergrund-Agenten laufen, wird der Aufruf übersprungen.
Wie tippe ich einen Prompt, der mit einer Ziffer beginnt, solange die Liste angezeigt wird?
Drücke zuerst 0. Das schließt die Liste und lässt das Feld leer, sodass die nächste Ziffer als Text landet. Ziffern nach anderem Text und eingefügte Ziffern landen immer als Text.
Wann verschwindet die Liste?
Wenn du einen Prompt sendest (auch einen Slash-Befehl), wenn ein neuer Turn beginnt, wenn du 0 drückst und solange Claude arbeitet oder über dem Prompt eine Umfrage offen ist.
Kann ich das Modell oder die Anzahl der Vorschläge ändern?
Es gibt keine Einstellungen, aber die Konstanten am Anfang von hooks/register.tsx steuern es: MODEL, MAX_ITEMS, MAX_CHARS, MAX_KEPT und MIN_ANSWER. Der Prompt an das Modell steht in der Funktion suggest derselben Datei.
Context Bar in Claude CodeEmpfohlen

Context Bar

Das Kontextfenster von Claude Code als gestapelter Balken über dem Prompt, eine Farbe pro Kategorie, mit Token-Zahlen.

  • über dem Prompt
  • Verändert die Oberfläche
  • Fügt Befehle/Tools hinzu
  • Speichert Daten

getestet mit v2.1.291

md-preview in Claude CodeEmpfohlen

md-preview

Von Claude bearbeitete Markdown-Dateien, gerendert wie auf GitHub in einem Bereich neben dem Chat, mit Vorher/Nachher.

  • Bereich
  • Toast
  • Liest Dateien
  • Schreibt Dateien
  • Führt Befehle aus
  • Fängt Tool-Aufrufe ab
  • Verändert die Oberfläche
  • Fügt Befehle/Tools hinzu

getestet mit v2.1.291

Mehr in Timer, Todos, Standups.