After: Eine Claude Code Prompt-Warteschlange, die nicht umlenkt
Prompt-Warteschlange für Claude Code: /after startet die nächste Aufgabe, wenn die aktuelle endet, ohne sie umzulenken.
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.*).
- Fügt Befehle/Tools hinzuRegistriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).
- Speichert DatenBehält Daten zwischen Sitzungen im privaten Speicher des Plugins ($.store.*).
- getestet mit
- v2.1.303
- zuletzt getestet
- erfordert
- Claude Code ≥ 2.1.287
- Oberflächen
- über dem Prompt, Bereich, Toast, Statuszeile
In Claude Code installieren:
/plugin install after --marketplace midudev/better-claudeWas macht diese Mod?
After ist eine Community-Mod von Miguel Ángel Durán (midudev) und funktioniert als Claude Code Prompt-Warteschlange. /after <task> fügt eine Aufgabe hinzu, die läuft, sobald Claude mit seiner aktuellen Arbeit fertig ist; ist Claude untätig, startet die Aufgabe sofort. /before <task> stellt eine Aufgabe nach vorn, sodass sie als Nächstes läuft. Der Punkt ist, dass eingereihte Aufgaben den aktuellen Turn nicht lenken: Claude sieht sie erst, wenn sie an der Reihe sind.
Jeder Befehl antwortet mit einer umrandeten Karte im Transkript, die zeigt, was sich geändert hat: eine neue, verschobene, bearbeitete oder entfernte Aufgabe. Solange etwas in der Warteschlange liegt, zeigt ein einzeiliges Band über dem Prompt, was gerade läuft und was als Nächstes kommt. Ein einfaches /after öffnet ein Pane, in dem du Aufgaben mit der Tastatur auswählst, bearbeitest, umsortierst und löschst. Du kannst auch normale Sprache tippen, etwa /after remove the tests one oder /after tests, write a README explaining them; Haiku ermittelt, was du meinst, wenn der Text auf etwas Eingereihtes verweisen könnte.
Weitere Befehle: /after rm 2, mv 3 1, edit 2 <text>, pause, resume, undo, clear, list und help. Die README des Autors nennt eine Claude-Code-Version mit Mods, 2.1.289 oder neuer.
Demo
Die Aufnahme startet Claude Code mit der geladenen Mod im kleinen Demo-Projekt und bittet Claude, README.md zu lesen und das Projekt in einem Satz zu beschreiben. Während Claude noch arbeitet, tippt der Clip /after read src/login.js and say what it does in one sentence. Eine Karte mit dem Titel After erscheint mit Queued #1 und der mit ← new markierten Aufgabe, und das Band über dem Prompt zeigt die Aufgabe. Wenn die erste Antwort endet, sendet die Mod die eingereihte Aufgabe als Nachricht („Prompt from the after plugin“), das Band wechselt zu ▶ read src/login.js and say what… nothing else queued, und Claude beginnt damit. Dort endet der Clip.
Installation
Nutze eine der Methoden im Installationsblock; sie installieren direkt aus dem Marketplace des Autors. Wenn du in eine bereits geöffnete Sitzung installierst, führe zuerst /reload-plugins aus. Probiere dann /after <task>, während Claude arbeitet.
$ install after
Erfordert Claude Code ≥ 2.1.287
Wird aus dem Marketplace des Autors installiert: midudev/better-claude
1.Eine Zeile, direkt in Claude Code
/plugin install after --marketplace midudev/better-claudeIn eine laufende Sitzung einfügen (v2.1.275+). Claude Code fragt zuerst, ob der Marketplace hinzugefügt werden soll.
2.Aus deiner Shell
claude plugin marketplace add midudev/better-claude claude plugin install after@better-claudeFühre danach in jeder bereits geöffneten Sitzung /reload-plugins aus.
3.Ohne Installation ausprobieren
git clone https://github.com/midudev/better-claude claude --plugin-dir ./better-claude/plugins/afterLädt die Mod nur für eine Sitzung. An deinen Einstellungen wird nichts geändert.
So funktioniert es
Die ganze Mod ist ein Hooks-Modul, hooks/register.tsx, über schlichtem JavaScript unter src/. /after und /before sind als sofortige Befehle registriert und laufen daher auch mitten im Turn. Die Warteschlange liegt für Band und Pane in $.state und wird pro Sitzung in $.store gesichert. Wenn ein Turn endet, wird die nächste Aufgabe an Claude übergeben:
on('turn.complete', async ($, e, next) => {
const result = await next(e)
if (e.agentId === undefined) await finishTurn($, e.reason === 'answer')
return result
})
// ...
reason = (await $.prompt.submit({ text: item.text, asUser: true })).dropNur beantwortete Turns des Hauptagenten bewegen die Warteschlange; Esc, eine Ablehnung oder ein API-Fehler halten sie an, bis ein Turn wieder normal endet. Damit Aufgaben aus Claudes Kontext bleiben, antwortet der Befehl nur mit einer kurzen Referenz wie #lq2x9k-3, ein ui.render-Hook auf CommandOutput zeichnet an ihrer Stelle die Karte, und ein session.append-Hook leert die Argumente des Befehls im Transkripteintrag, wie die /after-Zeile in der Demo zeigt. Text in normaler Sprache geht nur dann an $.model.complete, wenn er auf die Warteschlange verweisen könnte, und lokale Heuristiken übernehmen, wenn das Modell nicht antwortet.
Anpassen
/config listet drei Optionen, oder setze sie unter pluginConfigs.after.options in settings.json:
smart(Standard an): ein kleines Modell fragen, was ein Befehl bedeutet. Aus nutzt nur lokalen Abgleich.model(Standardhaiku): ein Alias oder eine vollständige Modell-ID für diese Anfragen.display(Standardband):bandüber dem Prompt,statusals eine Zeile darunter odernone.
Berechtigungen & Sicherheit
Wir haben jede Datei gelesen, die das Plugin lädt, bevor wir etwas ausgeführt haben: plugin.json, hooks/hooks.json, hooks/register.tsx, ganz src/ (reines JavaScript ohne Node-APIs und ohne Importe außerhalb des Plugins), die Typen und die Tests. Im Plugin gibt es keine package.json, kein Installationsskript, keinen gebündelten oder minifizierten Code und keine Binärdatei. Das Repo hat eine MIT-LICENSE-Datei.
Ändert die UI umfasst das Band, das Pane, die Karten und einen Toast, „After · all queued tasks done“. Fügt Befehle hinzu umfasst /after und /before. Speichert Daten umfasst die Warteschlange und die Karten im eigenen $.store des Plugins, bereinigt nach 7 bzw. 30 Tagen.
Befunde, die du kennen solltest:
- Es sendet Prompts für dich.
$.prompt.submitschickt jede eingereihte Aufgabe als deine eigene Nachricht, wenn ein Turn endet. Claude arbeitet dann unter deinen normalen Berechtigungseinstellungen, aber eingereihte Aufgaben laufen unbeaufsichtigt; prüfe die Warteschlange mit/after listoder dem Band. - Es sendet Text der Warteschlange an ein Modell. Befehle in normaler Sprache senden den Befehl und die Texte der eingereihten Aufgaben über Claude Codes eigenen Client (
$.model.complete, 25 s Timeout) an Haiku. Das ist dasselbe Konto, das du schon nutzt, ohne zusätzlichen Host oder Schlüssel; mitsmartabschaltbar. - Es schreibt den Transkripteintrag um. Der
session.append-Hook entfernt die Argumente von/afterund/beforeaus dem, was das Modell liest. Er blockiert oder ändert weder Tool-Aufrufe noch deine Prompts;validateführt ihn als Gating-Hook ohne.catch, und der Code entspricht der README. - Es nutzt von sich aus weder das Netzwerk noch Shell-Befehle, liest keine Umgebungsvariablen und schreibt nicht außerhalb seines Speichers.
scripts/eval-haiku.jsstartet zwarclaude -p, ist aber ein Entwicklerskript, das das Plugin nie lädt. - Es prüft auf alte Dateien
after.mdundbefore.mdin~/.claude/commandsund protokolliert nur eine Meldung mit der Bitte, sie zu löschen. Es rührt sie nicht an.
claude plugin validate meldete keine Fehler oder Warnungen, und die 20 Tests des Autors liefen mit Claude Code 2.1.303 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.*).
- Fügt Befehle/Tools hinzu
- Registriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).
- Speichert Daten
- Behält Daten zwischen Sitzungen im privaten Speicher des Plugins ($.store.*).
Kompatibilität & Fehlerbehebung
Geprüft mit Claude Code 2.1.303 auf macOS (validate, Tests und Demo). Wenn es nicht funktioniert:
/afterfehlt: Prüfe, ob das Plugin in/plugingeladen ist, und führe nach der Installation/reload-pluginsaus.- Eine Datei
after.mdoderbefore.mdin~/.claude/commands(von After 0.1 hinterlassen) überdeckt die Mod; lösche sie. - Nichts läuft: Vielleicht ist die Warteschlange pausiert, dann
/after resume. Nach Esc oder einem Fehler wartet sie, bis ein Turn normal endet. - Das Pane braucht Eingabeunterstützung auf deiner Oberfläche; ohne sie nutze die Befehle direkt.
- Um eine Warteschlange aufzubauen, bevor etwas startet, während Claude untätig ist:
/after pause, Aufgaben hinzufügen, dann/after resume.
FAQ
- Was ist der Unterschied zwischen Tippen während Claude arbeitet und /after?
- Text, den du während eines Turns tippst, wird in diesen Turn eingespeist und kann ändern, was Claude gerade tut. Eine mit /after eingereihte Aufgabe bleibt aus Claudes Kontext, bis der aktuelle Turn endet, und kommt dann als deine eigene Nachricht an.
- Ruft After ein Modell auf?
- Nur bei Befehlen in normaler Sprache wie „/after remove the tests one“, und nur wenn der Text auf eine eingereihte Aufgabe verweisen könnte. Es fragt Haiku über Claude Codes eigenen Client, ein API-Schlüssel ist nicht nötig. Mit der Option smart auf aus wird nur lokal abgeglichen.
- Was passiert, wenn ich Esc drücke?
- Esc unterbricht die laufende Aufgabe wie gewohnt, und die Warteschlange wartet, bis ein späterer Turn normal endet. Du kannst sie auch selbst mit /after pause anhalten und mit /after resume weiterlaufen lassen.
- Übersteht die Warteschlange einen Neustart oder /clear?
- Ja. Die Warteschlange wird pro Sitzung im eigenen Speicher des Plugins gesichert, eine fortgesetzte Sitzung findet sie ohne laufende Aufgabe wieder, und /clear behält sie für die neue Unterhaltung.
- Wie blende ich das Band über dem Prompt aus?
- Setze die Option display auf status für eine Zeile unter dem Prompt oder auf none, um die Warteschlange nur über /after zu sehen. Die Optionen stehen in /config.
# Ähnliche Mods
EmpfohlenFertig-Toast
Toast „Done in 2m 14s“ und kurzer Klang, wenn ein langer Claude-Turn endet, optional mit Desktop-Benachrichtigung.
- Toast
- Führt Befehle aus
- Verändert die Oberfläche
- Spielt Ton ab
getestet mit v2.1.310
EmpfohlenTool-Call-Zähler
Zählt Claudes Tool-Aufrufe pro Turn und Sitzung, zeigt sie neben dem Spinner und ergänzt /tally als Übersicht.
- Spinner
- Verlauf
- Statuszeile
- Fängt Tool-Aufrufe ab
- Verändert die Oberfläche
- Fügt Befehle/Tools hinzu
getestet mit v2.1.310
Mehr in Timer, Todos, Standups, Slash-Commands.