Was macht break-time?
Ein ambienter Skill, der dich sanft daran erinnert, eine Pause zu machen, wenn du zu lange ununterbrochen gearbeitet hast. Claude selbst kann die Wanduhrzeit nicht über mehrere Antworten hinweg verfolgen – es sieht nur den Gesprächsverlauf. Hooks laufen außerhalb von Claude in der Ausführungsumgebung und können Kontext injizieren, den Claude sonst nicht hätte. Genau so funktioniert dieser Skill.
Falls du noch nie einen Hook geschrieben hast, lies zuerst HOOKS-101.md. Es ist ein eigenständiges Tutorial – copy-paste-freundlich, ~15 Minuten Lesezeit, und die Grundlage für jeden ambienten Skill, den du später bauen möchtest.
Was es tut
- Erfasst den Start der aktuellen „aktiven Sitzung“ (wird nach 10 Minuten Inaktivität zurückgesetzt).
- Berechnet bei jeder Eingabe, wie lange du bereits aktiv arbeitest.
- Wenn ein konfigurierbarer Schwellenwert überschritten wird (Standard 45, 90, 120 Minuten), wird ein einmaliger Hinweis in Claudes Kontext eingefügt. Claude wird ihn in seiner eigenen Stimme kurz in der nächsten Antwort erwähnen, bevor es auf deine Frage eingeht.
- Du kannst es stummschalten (
/snooze 60) oder zurücksetzen (/break-reset). - Jeder Schwellenwert feuert nur einmal pro aktiver Sitzung – keine Spam.
Aufruf
Der Skill besteht aus zwei Teilen: einem passiven Hook (läuft nach Installation automatisch) und einigen aktiven Befehlen zur Steuerung.
| Auslöser | Verhalten |
|---|---|
| (automatisch) | Der Hook feuert bei jeder Eingabe. Nach der Installation ist keine manuelle Aktivierung nötig. |
/break oder /break-time | Zeigt den aktuellen Status an: wie lange die aktive Sitzung läuft, wann der nächste Schwellenwert erreicht wird, Stummschaltungsstatus. |
/snooze [N] | Schaltet die Erinnerungen für N Minuten stumm (Standard 60). |
/break-reset | Setzt den Timer der aktiven Sitzung zurück (behandelt jetzt als Sitzungsbeginn). |
/break-time configure | Führt dich durch das Bearbeiten der Schwellenwerte in ~/.claude/break-time.conf. |
| Natürliche Sprache: „Pause break-time“, „ich mache jetzt eine Pause“, „stop the timer“ | Gleich |
Deaktivieren
Entferne den Hook-Block aus ~/.claude/settings.json. Die Skill-Dateien können bleiben; ohne den eingebundenen Hook sind sie wirkungslos.
Installation
- Kopiere
break-time/nach~/.claude/skills/break-time/. - Füge den Hook-Block aus
example-settings.jsonin deine~/.claude/settings.jsonein (die Datei existiert bereits; füge hinzu, überschreibe nicht). - Starte Claude Code neu, damit die Ausführungsumgebung den neuen Hook erkennt.
- Fertig. Der Hook läuft ab sofort bei jeder Eingabe.
Eine vollständige Einsteiger-Anleitung findest du in HOOKS-101.md.
Wie der Hook funktioniert (mechanisch)
- Du sendest eine Eingabe.
- Die Ausführungsumgebung ruft
bash ~/.claude/skills/break-time/scripts/check_break.shauf, bevor Claude die Eingabe sieht. - Der Hook liest
~/.claude/break-time.state(eine flache Schlüssel-Wert-Datei), berechnet die verstrichene Zeit und entscheidet, ob ein Schwellenwert überschritten wurde. - Wenn ein Schwellenwert ausgelöst wird, gibt der Hook einen
<system-reminder>-Block auf der Standardausgabe aus. Die Ausführungsumgebung fängt die Standardausgabe ab und fügt sie als zusätzlichen Kontext für Claudes nächste Antwort ein. - Claude sieht die Erinnerung und baut sie in seine Antwort ein: „Übrigens, du bist jetzt seit 90 Minuten konzentriert bei der Sache – steh auf und geh fünf Minuten, bevor wir weitermachen. Nun zu deiner Frage…“
- Jeder ausgelöste Schwellenwert wird in der Zustandsdatei vermerkt, damit er nicht erneut feuert, bis die aktive Sitzung zurückgesetzt wird.
Konfiguration
Zustands- und Konfigurationsdateien liegen in ~/.claude/:
break-time.state– Laufzeitstatus (session_start, ausgelöste Schwellenwerte, Stummschaltung)break-time.conf– optionale Benutzerkonfiguration (Schwellenwerte, Leerlaufzeit, Nachrichtenstil)
Wenn break-time.conf fehlt, werden Standardwerte verwendet:
THRESHOLDS="45 90 120" # Minuten – wann erinnert werden soll
IDLE_GAP=10 # Minuten Leerlauf = neue Sitzung
STYLE=friendly # friendly | aggressive | poetic
STYLE=poetic macht die Erinnerung zu einem Haiku (skillübergreifende Liebeserklärung an poet-commit).
Sicherheitsvorkehrungen
- Blockiert niemals eine Eingabe. Der Hook beendet sich immer mit Exit-Code 0 – falls er fehlschlägt, wird deine Arbeit nicht beeinträchtigt.
- Protokolliert immer in eine Datei (
~/.claude/break-time.log), damit eine Fehlersuche möglich ist, ohne Fehler direkt anzuzeigen. - Begrenzte Ausgabe. Die Erinnerung ist ein kurzer Absatz. Überschwemmt niemals den Kontext.
- Stummschaltung wird immer beachtet. Wenn der Benutzer stummgeschaltet hat, zeichnet der Hook zwar die Zeit auf, gibt aber nichts aus.
- Keine Netzwerkaufrufe. Reine lokale Datei-E/A. Verzögert niemals die Eingabe.
Dateien in diesem Skill
SKILL.md– diese DateiHOOKS-101.md– eigenständiges Tutorial zum Schreiben von Hooks (veröffentlichbar)example-settings.json– copy-paste-fähige Hook-Konfiguration für~/.claude/settings.jsonscripts/check_break.sh– der Hook selbstscripts/snooze.sh– Erinnerungen für N Minuten stummschaltenscripts/reset.sh– Timer der aktiven Sitzung zurücksetzenscripts/state.sh– aktuellen Status ausgeben (wird von/breakverwendet)README.md– kurze Installationsanleitung