heartbeatworkspace

star 0

Cron-Heartbeat-Skill der Workspace scannt + Drift erkennt + Auto-Fix-Vorschlaege macht. Aktivieren bei "Heartbeat Check", "Workspace-Drift pruefen", "Stale-Audit pruefen", oder via cron alle 6h.

Innovatimon By Innovatimon schedule Updated 6/3/2026

name: heartbeatWorkspace description: Cron-Heartbeat-Skill der Workspace scannt + Drift erkennt + Auto-Fix-Vorschlaege macht. Aktivieren bei "Heartbeat Check", "Workspace-Drift pruefen", "Stale-Audit pruefen", oder via cron alle 6h. metadata: type: skill layer: 0-selbst-beobachter

Skill: heartbeatWorkspace — Workspace-Drift-Erkennung

Wann aktivieren

  • Manuell: "Heartbeat Check", "Drift pruefen"
  • Automatisch: via /schedule alle 6h
  • Beim Session-Start (zusaetzlich zur Init-Routine)

Was es macht (Scans)

Jeder Scan ist read-only und liefert nur Report + Auto-Fix-Vorschlag — niemals Auto-Delete. Scans, deren Voraussetzung im Workspace nicht existiert (z.B. ein L0-Selbst-Beobachter-State-File, ein Trust-Store), werden uebersprungen statt zu failen.

Scan 1: Stale Audit-Files

Glob **/*.audit.md im Workspace.

  • Output: Liste mit Pfad + Alter
  • Auto-Fix-Vorschlag: "Diese N Audits sind aelter als 3 Tage. Soll ich cleanup-after-welle aufrufen?"

Scan 2: STATUS.md Frische

Glob **/STATUS.md (Top-Level Projekte).

  • Wenn aelter als 14 Tage UND letzter git-Commit am Projekt war juenger: WARNING
  • Auto-Fix: "STATUS.md fuer ist veraltet. Letzte Welle nicht dokumentiert?"

Scan 3: MEMORY.md vs Filesystem-Drift

  • Liste alle Memory-Files
  • Vergleiche mit MEMORY.md-Index
  • Output: Phantom-Eintraege (Index referenziert geloeschte Files), Waisen-Files (Files ohne Index-Eintrag)

Scan 4: Phantom User-Anleitungen

Glob _schriftbuero/User-Anleitungen/ACT-*.md.

  • Vergleiche mit INDEX.md falls vorhanden
  • Output: Phantom-Refs

Scan 5: Skill-Eval-Drift

Glob ~/.claude/skills/*/.

  • Pruefe ob jeder Skill: SKILL.md + eval.json + learnings.md + last-output.md hat
  • Output: Skills denen Eval-Files fehlen

Scan 6: Runbook-Mitlern-Drift

Glob _runbooks/*.md (+ Projekte/**/_runbooks/*.md), ohne INDEX.md.

  • Fehlende ## Run-Log Sektion — Runbook hat den Pflicht-Abschnitt nicht (Grep (?m)^##\s+Run-Log). Haerter: auch ## Learnings fehlt.
  • Stale Run-Log — letzter (oberster) Datums-Eintrag im ## Run-Log ist > 45 Tage alt, obwohl das Runbook einen aktiven Bereich betrifft (Projekt-Status AKTIV in CLAUDE.md, oder L2/L4-global). Heuristik, nicht hart — markieren, nicht loeschen.
  • Header-Drift> Klassifikation: oder > Stand: fehlt.
  • INDEX-Phantom — Runbook nicht in _runbooks/INDEX.md referenziert (bzw. INDEX zeigt auf nicht-existentes Runbook).
  • Output: Liste Runbook + welcher Mangel. Auto-Fix-Vorschlag: "Run-Log-Sektion nachruesten (Vorlage _control/templates/runbook-template.md)" bzw. "Runbook wurde seit nicht genutzt-protokolliert — noch aktuell?"

Scan 7: Lesson-Drift (Episodic-Memory-Pattern)

Glob **/_control/audits/*/ (Welle-Ordner). Fuer jede Welle der letzten 7 Tage:

  • Fehlende WELLE-LOG.md — Welle abgeschlossen ohne Episodic-Memory-Eintrag (Pflicht: _control/templates/welle-log-template.md).
  • WELLE-LOG ohne Lessons-Tabelle## Lessons-Sektion fehlt oder ist leer trotz >=5 Tool-Calls (Heuristik aus Audit-File-Anzahl).
  • Verankerungs-Drift — WELLE-LOG hat Lessons-Tabelle mit "Vorgeschlagene Verankerung", aber im genannten Skill/Runbook/Memory-File ist seit der Welle nichts hinzugekommen (Git-log-Check oder grep nach Welle-ID).
  • Output: Liste Welle + Mangel. Auto-Fix-Vorschlag: "WELLE-LOG.md fuer Welle fehlt — Lesson-Auto-Capture nachholen (Skill cleanup-after-welle Schritt 9+10)" bzw. "Welle hat Lessons vorgeschlagen, aber nicht verankert — Architekt-Review noetig."

Scan 8: Skill-INDEX-Drift

Glob ~/.claude/skills/*/SKILL.md. Vergleiche mit Eintraegen in ~/.claude/skills/INDEX.md.

  • Phantom im INDEX — INDEX listet Skill der nicht existiert.
  • Waise — Skill existiert ohne INDEX-Eintrag.
  • Output: Diff. Auto-Fix-Vorschlag: "INDEX nachpflegen (Layer + Trigger eintragen)".

Scan 9: Lern-Register-Drift

Read _control/lern-register.md (falls vorhanden). Parse Lessons.

  • Stale-Lesson — Lesson mit zuletzt-getroffen > 30 Tage ohne Update / ohne neue Belegung.
  • Hard-Cap-Verletzung — mehr Lessons aktiv als das definierte Limit (z.B. > 12). Heuristik: zaehle ^\[\d{4}-\d{2}-\d{2}\]\[ Treffer.
  • Kapazitaets-Reserve — < 4 Slots frei. Markieren als Pre-Promote-Warnung.
  • Beleg-fehlt — Lesson ohne klare Beleg-Welle / Beleg-Datei-Referenz im Lesson-Text.
  • Output: Liste Lesson + Mangel + Vorschlag. Auto-Fix-Vorschlag: "Stale-Lesson archivieren (KILL-Mechanism)" bzw. "Hard-Cap verletzt — User-Konsolidierungs-Entscheidung in OPEN-ITEMS notieren".

Scan 10: CLAUDE-Modul-Drift

Read CLAUDE.md (INDEX) + Glob _control/claude-md/*.md (falls die Doktrin in Module gesplittet ist).

  • Phantom-Modul im INDEX — INDEX referenziert Modul-File das nicht existiert.
  • Waisen-Modul_control/claude-md/XX-*.md existiert ohne INDEX-Eintrag.
  • thinkLikeUser-Pointer-Drift — die ~/.claude/skills/thinkLikeUser/context/*.md enthalten KEINEN Pointer auf die jeweiligen Modul-Files (grep auf die Modul-Dateinamen).
  • Modul-Token-Bombe — einzelnes Modul > 12k Tokens (Grenze fuer Sub-Agent-Spawn). Heuristik: wc -w und *1.3 als Tokens-Approx.
  • INDEX-Token-Bombe — Root-CLAUDE.md > 1.5k Tokens (INDEX soll schlank bleiben).
  • Output: Liste Mangel + Vorschlag. Auto-Fix-Vorschlag: "Modul-Phantom: INDEX-Eintrag entfernen oder Modul anlegen" / "Waise: in INDEX referenzieren" / "Pointer-Drift: thinkLikeUser/context/XXX.md nachziehen" / "Modul-Token-Bombe: weiter splitten (User-Entscheidung)".

Scan 11: Trust-Score pro Sub-Agent-Klasse (nur wenn Workspace einen Trust-Store fuehrt)

Read den Trust-Store (EMA-Speicher, z.B. _control/trust-score/trust-store.json) + Glob **/_control/audits/*/WELLE-LOG.md (Welle-Outcomes letzte 30 Tage).

  • Trust-Score-Engine: pro Sub-Agent-Klasse (z.B. cleanup-worker, reviewer, audit-worker, <projekt>-worker) wird EMA gefuehrt:
    • Initial-Score: 50/100
    • PASS-Welle: +alpha * (100 - aktueller Score), alpha=0.2
    • FAIL/PARTIAL-Welle: -alpha * aktueller Score, alpha=0.2
    • Formel: new = alpha * outcome + (1-alpha) * old, outcome={0,100}
  • Trust-Drift — Score < 35 fuer eine Klasse: Worker-Klasse hat ueberproportional gefailed.
  • Trust-Hoch — Score > 80: Klasse zuverlaessig, weniger Reviewer-Hop noetig.
  • Output: Tabelle Klasse | Score | Trend | Letzte Welle. Auto-Fix-Vorschlag: "Trust-Drift bei : spawnStructuredWorker mit verschaerftem Pflicht-Prefix nutzen / Worker-Aufgaben kleiner schneiden / Reviewer-Hop einschalten".

Scan 12: Skill-Health-Score (ruft auditSkillHealth, falls vorhanden)

Berechnet pro Skill ein Health-Score (0-100):

  • Recency (last-used aus learnings.md Run-History) — Gewicht 40%
  • Success-Rate (PASS vs. FAIL letzte 10 Runs) — Gewicht 30%
  • Eval-Quality (durchschnittlicher eval.json-Score) — Gewicht 20%
  • Drift-Risk (Pflicht-Files vorhanden?) — Gewicht 10%

Status: >= 80 ACTIVE / 60-79 STABLE / 40-59 WATCH / < 40 DECAY (Konsolidierungs-Kandidat). Speichert nach ~/.claude/skills/_health/skill-health.json. Output unter "Skill-Health" im Bericht.

Scan 13: Cross-Welle-Pattern-Drift (ruft detectCrossWellePattern, falls vorhanden)

Grept ueber alle **/_control/audits/**/WELLE-LOG.md. Clustert Lessons nach Schluesselwort. Auto-Promotion-Vorschlag wenn:

  • Cluster hat >= 3 Welle-Hits
  • Span <= 30 Tage
  • Score >= 0.5

Output: Liste Cluster + Promotion-Vorschlaege fuer Lern-Register. Architekt-Approval-Pflicht vor Promotion.

Scan 14: Selbst-Beobachter-State-Drift (nur wenn Workspace ein L0-State-File fuehrt)

Read das L0-Selbst-Beobachter-State-File (Root-State mit Trust-Score / Skill-Health / Pattern-Cluster / Welle-Forecast). Pruefungen:

  • Stale-Snapshot — Sektion "Aktueller Selbstzustand" aelter als 7 Tage. WARN.
  • Trust-Score-Drift — Werte weichen > 10 Punkte ab vom Trust-Store. FIX-VORSCHLAG.
  • Wave-Memory-Index-Luecke — Welle ohne State-Eintrag (existiert WELLE-LOG.md aber keine Zeile im State). WARN.
  • Hitzegradient-Stale — Cluster mit "(2x belegt)" aber detectCrossWellePattern findet 5 Wellen-Hits. FIX-VORSCHLAG. Auto-Fix-Vorschlag: "State-File update via cleanup-after-welle Schritt 11 nachholen".

Scan 15: Runbook-Doppelungs-Drift

Read alle gleichnamigen Runbooks (global _runbooks/<name>.md + projekt-lokal Projekte/<X>/_runbooks/<name>.md). Pro gedoppelter Name:

  • Hash-Vergleich — wenn Inhalt zwischen Doppelungen abweicht: DRIFT-WARNUNG mit Datums-Comparison.
  • Doppelungs-Map-Check — Doppelungen aus einer Skill-Scope-Mapping-Datei (falls vorhanden) mit Filesystem abgleichen. Missing-Doppelungen flaggen. Auto-Fix-Vorschlag: "Sync von projekt-lokaler PRIMARY zu globaler oder umgekehrt — Architekt entscheidet welche Richtung".

Scan 16: Pflicht-File-Check pro Projekt

Glob alle aktiven Projekte (Projekte/*/, Projekte/<MultiBrand>/Shops/*/, EXCLUDE privat-gitignorte Pfade). Pro Projekt:

  • CLAUDE.md fehlt — Agent-Doku weg, L-Klassifikation unklar -> P1
  • STATUS.md fehlt — Live-Stand-SSOT weg -> P1
  • README.md fehlt — User-Eintrittspunkt weg -> P2
  • VISION.md fehlt — Vision-Stand weg -> P2 (fuer aktive Projekte), N/A fuer Vision-Phase-Sub-Shops Auto-Fix-Vorschlag: "Projekt hat Pflicht-Files fehlend. Soll ich Templates anlegen (Pointer-Pattern)?"

Output-Format (Markdown-Bericht)

# Heartbeat-Bericht <YYYY-MM-DD HH:MM>

## Stale Audits (N gefunden)
## Veraltete STATUS.md (M gefunden)
## Memory-Drift (P Phantome, Q Waisen)
## Phantom User-Anleitungen (R gefunden)
## Skill-Eval-Drift (S Skills unvollstaendig)
## Runbook-Mitlern-Drift (T Runbooks: U ohne Run-Log, V stale, W Header/INDEX-Drift)
## Lesson-Drift (X Wellen ohne WELLE-LOG, Y ohne Lessons, Z unverankert)
## Skill-INDEX-Drift (Phantome / Waisen)
## Lern-Register-Drift (stale / Hard-Cap / ohne Beleg)
## CLAUDE-Modul-Drift (Phantome / Waisen / Pointer-Drift / Token-Bombe)
## Trust-Score pro Sub-Agent-Klasse [falls Trust-Store vorhanden]
| Klasse | Score | Trend | Letzte Welle |
## Skill-Health (ACTIVE/STABLE/WATCH/DECAY)
## Pflicht-File-Check (Projekte mit fehlenden Files)

## Auto-Fix-Vorschlaege (Architekt entscheidet)
1. cleanup-after-welle aufrufen
2. STATUS-Update fuer <Projekt> initiieren
3. Memory-Pflege Runbook ausfuehren
4. Runbook-Run-Log-Sektionen nachruesten / veraltete Runbooks ueberarbeiten
5. WELLE-LOG.md fuer offene Wellen nachholen (cleanup-after-welle Schritt 9+10)
6. Skill-INDEX nachpflegen
7. Stale-Lessons aus Lern-Register archivieren (KILL-Mechanism)
8. CLAUDE-Modul-Drift fixen (INDEX / Modul-File / thinkLikeUser-Pointer)
9. Trust-Drift bei <Klasse>: Worker-Aufgaben kleiner schneiden / verschaerften Pflicht-Prefix

Doktrin

  • Niemals automatisch loeschen — nur reporten + Vorschlaege
  • ASCII (interne Agent-Doku)
  • Scans ohne vorhandene Voraussetzung ueberspringen, nicht failen
  • Bericht IMMER an gleicher Stelle: _schriftbuero/Heartbeat/<YYYY-MM-DD-HHMM>.md

Boundaries

  • Read-only Scan, keine Edits
  • Nicht laenger als 60s laufen (Cron-Friendly)

Voraussetzungen

  • Glob/Grep-Tools
  • Working Directory = workspace root
  • Optional: /schedule fuer Cron
Install via CLI
npx skills add https://github.com/Innovatimon/claude-architect-pack --skill heartbeatworkspace
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator