Mindful Claude: Die Claude Code Atem-Mod für die Wartezeit
Eine geführte Atemanimation über dem Prompt, während Claude arbeitet – die Wartezeit wird zu einer kurzen Atemübung.
Berechtigungen
- 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.291
- zuletzt getestet
- erfordert
- Claude Code ≥ 2.1.287
- Oberflächen
- über dem Prompt, Spinner
- Quelle
- Anthony (halluton) (MIT)
In Claude Code installieren:
/plugin install mindful-claude --marketplace halluton/Mindful-ClaudeWas macht diese Mod?
Mindful Claude ist eine Community-Mod von Anthony (halluton). Die Claude Code Atem-Mod verwandelt die Zeit, in der du auf Claude wartest, in eine kurze geführte Atemübung. Wenn Claude zu arbeiten beginnt, erscheint über dem Eingabefeld eine neunzeilige Atemanimation, darunter eine Phasenzeile wie Breathe in... 4s und der Name der Übung. Gleichzeitig wechselt das Spinner-Wort zum Atem, sodass dort Breathe in 4s… statt des üblichen Textes steht. Wenn Claude antwortet, verschwindet das Band.
Die Begründung des Autors aus dem README: Langsames Atmen mit etwa 5,5 Atemzügen pro Minute erhöht die Herzratenvariabilität, sodass jeder Claude-Turn zu einer kleinen Atemsitzung wird, ohne das Terminal zu verlassen. Es gibt vier Übungen (Kohärentes Atmen, physiologischer Seufzer, Box Breathing und 4-7-8-Atmung) und vier Animationsstile (pulse, ripples, dots und wave). Standardmäßig wird der Stil für jeden Turn zufällig gewählt, nie zweimal hintereinander derselbe. Ein Slash-Befehl /breathe ändert die Einstellungen, und sie bleiben über Sitzungen hinweg erhalten. Laut README ist Claude Code 2.1.269 oder neuer nötig.
Demo
Die Aufnahme startet Claude Code mit geladener Mod und bittet Claude, drei Dateien zu lesen und das Projekt zu beschreiben. Während der Turn läuft, dehnt sich das Atemband über dem Prompt mit der Beschriftung Breathe in… 5s (das Standardmuster Kohärentes Atmen) aus und zieht sich zusammen, und die Spinner-Zeile folgt demselben Rhythmus.
Installation
Nutze eine beliebige Methode aus dem Installationsblock; alle installieren direkt aus dem eigenen Marketplace des Autors. Sende nach der Installation einen beliebigen Prompt, und das Band erscheint, während Claude arbeitet.
$ install mindful-claude
Erfordert Claude Code ≥ 2.1.287
Wird aus dem Marketplace des Autors installiert: halluton/Mindful-Claude
1.Eine Zeile, direkt in Claude Code
/plugin install mindful-claude --marketplace halluton/Mindful-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 halluton/Mindful-Claude claude plugin install mindful-claude@mindful-claudeFühre danach in jeder bereits geöffneten Sitzung /reload-plugins aus.
3.Ohne Installation ausprobieren
git clone https://github.com/halluton/Mindful-Claude claude --plugin-dir ./Mindful-ClaudeLädt die Mod nur für eine Sitzung. An deinen Einstellungen wird nichts geändert.
So funktioniert es
Die Mod besteht aus zwei Teilen. hooks/register.tsx ist das Hook-Modul: Es merkt sich, wann der Turn begonnen hat, und hängt sich an die Render-Stelle AbovePrompt. Wenn die Engine meldet, dass ein Turn arbeitet, bindet es ein Client-Surface-Modul ein, hooks/breathe.tsx, das die Animation mit eigener Uhr zehnmal pro Sekunde zeichnet. Hier der Render-Hook aus hooks/register.tsx:
on('ui.render', { component: 'AbovePrompt' }, async ($, e, next) => {
if (e.surface !== 'terminal' || !config.enabled || !e.props.isWorking || e.props.hasSurvey) return next(e)
const now = await $.clock.now()
const running = turn ?? (turn = { startedAt: now, style: pickStyle(config.style, lastStyle) })
const elapsedMs = now - running.startedAt
if (elapsedMs < config.delay * 1000) return next(e)
const { Box, Client } = $.ui.resolve(e)
// ...
return (
<Box flexDirection="column">
<Client key={key} module="./breathe.tsx" width={e.viewport?.columns ?? 80} height={rows}
props={{ exercise: config.exercise, style: running.style, elapsedMs }} />
{await next(e)}
</Box>
)
})Das Band nutzt die Startzeit des Turns als Key, sodass jeder Turn eine frische Animation bekommt. Immer wenn sich die Phasenzeile ändert, schickt die Surface das aktuelle Wort mit surface.post zurück. Das Hook-Modul empfängt es in einem ui.message-Hook und gibt es an einen zweiten Render-Hook auf der Komponente Spinner weiter, der die Prop message des Spinners ersetzt. Der Hook turn.complete löscht den Turn, sodass das Band verschwindet, sobald Claude antwortet. Die Übungen, die Easing-Kurve und die Formen liegen als reine Funktionen in hooks/breath/.
Anpassen
Alles wird mit dem Befehl /breathe eingestellt, den die Mod bei session.start registriert:
/breathezeigt die aktuellen Einstellungen,/breathe helplistet alle Optionen./breathe on/offblendet das Band ein oder aus./breathe hrv,sigh,boxoder478wählt die Übung./breathe style wavelegt einen Stil fest (pulse,ripples,dots,wave), und/breathe style randomkehrt zum Standard zurück./breathe delay 5wartet fünf Sekunden nach Beginn eines Turns, bevor das Band erscheint, damit kurze Antworten ruhig bleiben./breathe spinner offlässt den Spinner-Text in Ruhe.
Die Einstellungen werden mit $.store unter einem einzigen Schlüssel config gespeichert und beim nächsten Sitzungsstart wieder gelesen.
Berechtigungen & Sicherheit
Wir haben jede Datei gelesen, die das Plugin lädt, bevor wir es ausgeführt haben. Das Plugin nutzt nur UI-, Uhr-, Befehls- und Speicheraufrufe: kein $.process.run, kein Netzwerk, kein Dateizugriff. Es liest weder deinen Code noch deine Prompts oder das Transkript. Seine Einstellungen liegen im eigenen $.store der Mod, und es bearbeitet nie settings.json oder Shell-rc-Dateien. Ändert die UI betrifft das Band und das umgeschriebene Spinner-Wort; Fügt Befehle/Tools hinzu betrifft /breathe, und Speichert Daten betrifft die gespeicherten Einstellungen.
Das Repository enthält außerdem einen Ordner legacy/ mit der ursprünglichen Bash- und tmux-Version. Das Plugin lädt ihn nicht. Dessen install.sh bearbeitet ~/.claude/settings.json und schreibt nach ~/.claude/mindful/, führe es also nur aus, wenn du die alte Version willst. claude plugin validate meldet eine Warnung: Der Plugin-Name enthält „claude“, was laut Validator wie ein Anthropic-Plugin klingt. Das ist ein Hinweis zur Benennung, kein Problem mit dem Code.
- 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
Wir haben die Mod mit Claude Code 2.1.291 unter macOS validiert, und die 31 bun test-Unit-Tests des Autors laufen durch. claude plugin test kann sie nicht laden, weil sie bun:test importieren. Wenn das Band nicht erscheint:
- Prüfe, ob
claude --version2.1.269 oder neuer ist. Das README des Autors verlangt außerdem,CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1imenv-Block von~/.claude/settings.jsonzu setzen. - Führe
/breatheaus und prüfe, ob dortbreathe: onunddelay 0ssteht. - Das Band wird nur im Terminal gezeichnet. Es tritt auch zur Seite, solange über dem Prompt eine Umfrage geöffnet ist.
- Führe nach einer Installation in eine bereits offene Sitzung
/reload-pluginsaus.
FAQ
- Wann erscheint die Atemanimation?
- Wenn ein Turn beginnt und der Prompt anzeigt, dass Claude arbeitet. Sie verschwindet, sobald Claude antwortet. Mit /breathe delay 5 erscheint sie erst, nachdem Claude fünf Sekunden gearbeitet hat.
- Welche Atemübungen sind enthalten?
- Vier: Kohärentes Atmen (5,5 s ein, 5,5 s aus, der Standard), der physiologische Seufzer (doppelt einatmen, lang ausatmen), Box Breathing (4 s ein, halten, aus, halten) und 4-7-8-Atmung (4 s ein, 7 s halten, 8 s aus). Umschalten mit /breathe hrv, sigh, box oder 478.
- Kostet sie Tokens oder sendet sie etwas an das Modell?
- Nein. Die Mod zeichnet nur UI und hält ihre Einstellungen im eigenen Speicher des Plugins. Sie stellt keine Netzwerkaufrufe, und das Modell sieht die Animation nie.
- Kann ich die Animation behalten, aber den Spinner unverändert lassen?
- Ja. Führe /breathe spinner off aus. Das Band über dem Prompt läuft weiter, und der Spinner zeigt wieder seine normalen Wörter.
- Funktioniert sie in der Desktop-App?
- Das Band wird nur gezeichnet, wenn die Render-Oberfläche das Terminal ist; überall sonst überspringt der Code es. Der Spinner-Text kann sich trotzdem ändern.
# Ähnliche Mods

Fertig-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.291

Kontext-Meter
Kontextfüllstand, 5-Stunden- und 7-Tage-Plannutzung und Sitzungskosten in der Statuszeile, plus Warnung vor dem Limit.
- Statuszeile
- Toast
- Verändert die Oberfläche
getestet mit v2.1.291
Mehr in Timer, Todos, Standups, Slash-Commands.