CommunityCodierung & Entwicklunggithub.com

hwipit/plugin

Hwip-Push-Benachrichtigungen für dieses Projekt anzeigen oder ändern: quiet (Standard), normal, loud, mute, unmute; --global setzt die Standardeinstellung. `approve on|off` schaltet die telefonische Genehmigung für schwer rückgängig zu machende Befehle ein oder aus.

Was ist plugin?

Diese Fähigkeit verwaltet die Hwip-Push-Benachrichtigungen für ein Projekt, das mit dem Hwip-Tool (Claude Code / Terminal-basierte KI-Agenten) arbeitet. Sie ermöglicht es dem Benutzer, die Benachrichtigungslautstärke (quiet, normal, loud) zu ändern, Benachrichtigungen stummzuschalten (mute/unmute) und die Standardeinstellung global oder projektspezifisch festzulegen. Die `approve`-Funktion steuert, ob zerstörerische Bash-Befehle (`rm -rf`, Force-Push, Produktions-Deploy) eine Bestätigung über die Hwip-App auf dem Telefon erfordern. Die Fähigkeit wird über ein Bash-Skript (`hwip-mode.sh`) ausgeführt, das je nach Ausgangscode verschiedene Zustände meldet: stummgeschaltet, Push-Modi (leise/normal/laut), Genehmigungs-Gate, Gültigkeitsbereich (Projektverzeichnis statt Sitzung) und letzte Push-Fehler. Die Ausgabe enthält einen `=== Hwip rules …`-Block, der bei Zustandsänderungen die Sitzungsregeln aktualisiert. Sie ist für Claude Code (oder jeden Terminal-KI-Agenten mit Hwip-Integration) gedacht und erfordert die Umgebungsvariablen `CLAUDE_PLUGIN_ROOT` und `CLAUDE_PROJECT_DIR`. Die Fähigkeit hilft, die Push-Intensität zu steuern, Fehler zu diagnostizieren und sensible Vorgänge durch Abwesenheitsgenehmigung zu schützen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hwipit/plugin/tree/HEAD/skills/hwip-mode

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

Führe dies genau wie geschrieben aus – die Argumente stehen in der zweiten Zeile des Here-Dokuments, niemals im Befehl selbst, in einer Zeile und nur die Wörter quiet normal loud mute unmute --global approve on off:

bash "${CLAUDE_PLUGIN_ROOT}/scripts/hwip-mode.sh" <<'HWIP_MODE_INPUT'
${CLAUDE_PROJECT_DIR}
$ARGUMENTS
HWIP_MODE_INPUT

Exit 2 bedeutet ein ungültiges Argument – zeige dem Benutzer die ausgegebene Verwendungszeile. Gib andernfalls die Statuszeilen in eigenen Worten wieder:

  • NOTIFICATIONS: muted → die Stop- und Ask-Hooks sind hier stumm; hwip_*-Werkzeuge funktionieren weiterhin, werden aber nur aufgerufen, wenn der Benutzer danach fragt. Stummschaltung überschreibt jede Einstellung.
  • PUSH MODE: quiet → nur hochpriorisierte Pushs (Blocker, high Push-Signal), während der Benutzer am Terminal ist, plus ein Abschluss-Push, nachdem er weg war (HWIP_AWAY_SEC, Standard 300 s) oder wenn dieser tmux-Bereich nicht auf dem Bildschirm ist. Die Standardeinstellung.
  • PUSH MODE: normal → ein Push bei jedem Durchlauf, der echte Arbeit geleistet hat, still bei schreibgeschützten Durchläufen; die Push-Signal-Marker entscheiden über die Randfälle.
  • PUSH MODE: loud → jeder Durchlauf pusht und überschreibt skip.
  • Die Klammer zeigt an, woher die Einstellung stammt: dieses Projekt, globaler Standard (gesetzt mit --global, von Projekten ohne eigene Einstellung geerbt) oder der integrierte Standard. Eine Projekteinstellung überschreibt immer die globale.
  • APPROVAL GATE: on|off → ob schwer rückgängig zu machende Bash-Befehle (rm -rf, Force-Push, Produktions-Deploy, destruktives SQL) in diesem Projekt auf Genehmigung warten. Am Terminal fragt Claude Codes eigene Berechtigungsaufforderung; bei Abwesenheit, im REMOTE-Modus oder wenn die Anwesenheit nicht gelesen werden kann, tut es das Telefon des Benutzers. on, but inactive while muted (ein, aber inaktiv bei Stummschaltung) – ein stummgeschaltetes Projekt hat niemanden, den es fragen kann, also wird nichts zurückgehalten.
  • SCOPE: … → die Einstellungen, Stummschaltung, Genehmigungs-Gate und Auto-Modus gehören zum Projektverzeichnis, nicht zur Sitzung: Eine zweite Claude-Sitzung im selben Verzeichnis teilt sie. Sage dies, wenn der Benutzer eine davon ändert.
  • AUTO MODE: … → eine /hwip-auto-Sitzung läuft mit diesem verbleibenden Budget. off (an expired … session left its state behind — cleared) bedeutet, dass eine abgestürzt ist.
  • LAST PUSH: … → die Aufzeichnung des letzten fehlgeschlagenen Pushs der CLI (hwip notify schreibt sie, ein erfolgreicher Push löscht sie). Die Hooks verbergen die Fehler von notify, daher unterscheidet diese Zeile „leise, nichts zu senden“ von „jeder Push schlägt fehl“. Gib die Ursache und deren Behebung wie angegeben weiter (z.B. abgelehnter Schlüssel → hwip login, keine App angemeldet → in der Hwip-App auf einem iPhone oder Android-Telefon anmelden); hwip verify hat mehr.
  • Hwip: <device> changed its encryption key — … → kein Fehler: Eines der Geräte des Benutzers listet jetzt einen anderen Verschlüsselungsschlüssel auf, als dieser Rechner gespeichert hatte, und der neue Schlüssel wird vertraut. Wird einmal angezeigt, dann gelöscht. Gib es als das wieder – eine neu installierte App oder ein neues Telefon erklärt es; wenn beides nicht zutrifft, zeigt hwip trust die Fingerabdrücke zum Vergleich mit der App an.

Fragen (hwip_ask, das AskUserQuestion-Gegenstück) pushen bei jeder Einstellung außer stumm.

Der Kontext, den eine versiegelte Frage mit sich führt (die gemaskierte Git-Diff und die letzten Terminalzeilen der Sitzung), ist hier keine Einstellung. Wenn der Benutzer fragt, das Senden zu stoppen, verweise ihn auf hwip ask-context off (dieses Projekt) oder hwip ask-context off --global (jedes Projekt); hwip ask-context zeigt, welche gilt.

Wenn die Ausgabe mit einem === Hwip rules — replace the Hwip rules from session start ===-Block endet, hat sich der Zustand geändert und die Regeln, die der SessionStart-Hook dieser Sitzung gegeben hat, sind veraltet: Folge stattdessen diesem Block für den Rest der Sitzung, auch nach einer Verdichtung. Session rules unchanged bedeutet, dass die Änderung die Regeln nicht berührt hat (z.B. normal ↔ loud); behalte die, die du hast. approve ändert nie die Regeln. Eine could not refresh-Zeile bedeutet, dass die Änderung zwar gilt, die Regeln aber nicht aktualisiert wurden – sage dem Benutzer, dass eine neue Sitzung sie übernimmt.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Verwandte Skills