Communitygithub.com

fade-away

Eine dauerhafte Gedächtnisschicht für KI-Chats – führt Tagebuch, verfolgt Aufgaben und baut eine vom Menschen geprüfte Wissensbasis in einem einfachen Markdown-Obsidian-Vault auf. Ein Sitzungsverfolgungs-Skill für Claude Code & Codex.

Was ist fade-away?

**fade-away** ist ein Skill für KI-Assistenten wie Claude Code und Codex, der als dauerhafte Gedächtnisschicht fungiert. Er führt ein strukturiertes Tagebuch in Markdown-Dateien innerhalb eines Obsidian-Vaults, verfolgt Aufgaben in einem Aufgabenindex und baut nach und nach eine Wissensbasis auf, die der Nutzer freigeben kann. Der Skill kann Sitzungen starten, Aufgaben binden, Themenvorschläge machen und kontextuelles Wissen abrufen, ohne dass der Nutzer Kontexte wiederholen muss. Er stellt sicher, dass jede nennenswerte Interaktion protokolliert wird und das Vault organisiert bleibt, indem er zwischen Journal, Aufgabenindex und Wissensseiten unterscheidet. Der Skill läuft über die gesamte Konversation und führt nach jedem relevanten Assistentenbeitrag eine Zeile im aktiven Journaleintrag hinzu. Er unterstützt die Zeitzonenkonfiguration, die Vermeidung paralleler Sitzungen und das automatische Verknüpfen von Aufgaben mit Themen. Low-Frequency-Operationen wie das Bootstrapping eines neuen Vaults, die Aufgabenverwaltung oder die Wissensförderung sind in Referenzmodulen ausgelagert, die nur bei Bedarf geladen werden. Der Skill respektiert den Obsidian-Vault als einzige Quelle der Wahrheit und bietet umfangreiche Mechanismen zur Überprüfung und Aktualisierung von Aufgaben, Themen und Wissensseiten.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add Aresfangxx/fade-away-skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht fade-away?

Pflege eine schlanke Log- → Themen-Wiki → Index → wöchentliche MOC → Wissens-Wiki-Gedächtnisschicht, damit der Nutzer zwischen Aufgaben wechseln und eine persönliche LLM-Wissensbasis aufbauen kann, ohne Kontext wiederholen zu müssen.

Betriebsvertrag

Dieser Skill läuft über die gesamte Konversation, nicht nur in der ersten Runde. Überprüfe vor jeder Assistentenantwort, ob die Runde einen Sitzungsstart, speichern pro Runde, Themenwechsel, manuelle Aufzeichnung, Themenförderung, wöchentliches/Dashboard/Lint oder Wissensförderung auslöst. Die am häufigsten übersehene Regel ist das speichern pro Runde: Jede nennenswerte Assistentenrunde fügt eine (HH:MM) <进展>-Zeile an den aktiven Journaleintrag an.

Halte den heißen Pfad klein. Lagere seltene Mechaniken in references/ aus und lade sie nur, wenn ihr Auslöser feuert.

Pfade

<VAULT_ROOT> ist das Obsidian-Vault, das fade-away verwaltet. Löse es einmal pro Sitzung auf, in dieser Reihenfolge:

  1. Das Vault root-Feld, das in der AGENTS.md / CLAUDE.md des Projekts deklariert ist (geschrieben vom Bootstrap-Installer, scripts/bootstrap_vault.py).
  2. Wenn kein solches Feld existiert, behandle das aktuelle Projekt / Arbeitsverzeichnis als Vault-Root.

Ersetze <VAULT_ROOT> immer durch diesen absoluten Pfad, bevor du liest oder schreibst:

  • Journal: <VAULT_ROOT>/03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-MM-DD.md wobei <YYYY-MM> der eigene Monat des Datums ist und <YYYY-Wnn> die ISO-Woche dieses Datums.
  • Wochenindex: <VAULT_ROOT>/03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-Wnn 周索引.md wobei <YYYY-MM> der Monat ist, der den Sonntag der Woche enthält.
  • Aufgabenindex: <VAULT_ROOT>/00 Tasks/_Index.md
  • Themenseiten: <VAULT_ROOT>/00 Tasks/<topic-filename>.md
  • Wissensseiten: <VAULT_ROOT>/02 Knowledge/<domain>/<page>.md
  • Referenzen: das references/-Verzeichnis dieses Skills

Wenn 00 Tasks/ oder _Index.md fehlt, überspringe die Aufgabenindex- und Themenlogik für die Sitzung. Erstelle 00 Tasks/ nicht automatisch während einer Sitzung. Die Journalprotokollierung läuft weiter.

Top-Level-Dateien wie 备忘.md können direkt unter 03 Journal/ liegen; verschiebe sie nicht.

Zeitzonenregel

Alle Daten und Uhrzeiten, die von diesem Skill aufgezeichnet werden, MÜSSEN eine konsistente Zone verwenden, die Vault-Zeit genannt wird. Löse die Vault-Zeit aus dem Time zone-Feld in der AGENTS.md / CLAUDE.md des Projekts auf; wenn keine gesetzt ist, verwende die lokale Zone des Rechners. Der Bootstrap-Installer setzt dies standardmäßig auf Asia/Hong_Kong, sodass nicht konfigurierte Vaults als Asia/Hong_Kong / GMT+8 / UTC+8 fungieren.

Verwende die Vault-Zeit für Journal-Dateinamen, übergeordnete Pfade, Überschriften, Fortschrittszeilen, Themen-Frontmatter, _Index.md-Zeitstempel und die Wochenindex-Ableitung.

Bevorzugter Shell-Check (setze deine konfigurierte Zone ein):

TZ=Asia/Hong_Kong date

Vertraue der Vault-Zeit mehr als den Zeithinweisen des Harness. Wenn der Harness-Zeitstempel mit der Vault-Zeit in Konflikt steht, leite den Journal-Dateinamen, die ISO-Woche und HH:MM aus einer neuen Vault-Zeitmessung ab. Für Anhänge-/Parallelitätsdetails lies references/journal-write-protocol.md.

Sitzungszustand

Verfolge intern:

  • current_entry_start: aktiver Journal-Eintrag HH:MM.
  • current_entry_date: aktiver Journal-Eintrag YYYY-MM-DD.
  • current_entry_title: aktueller kurzer chinesischer Aufgabentitel.
  • bound_topic: Themen-Dateiname ohne .md, oder None.
  • bind_skipped: True nur, nachdem der Nutzer sich gegen eine Bindung entschieden hat.
  • task_auto_bind_checked / task_auto_bind_skipped: wird für jeden neuen Journaleintrag zurückgesetzt.
  • knowledge_candidate_prompted / knowledge_candidate_skipped: wird für jeden neuen Journaleintrag zurückgesetzt.
  • knowledge_context_checked: True, nachdem die aktuelle Nutzeranfrage das Wissensabruf-Gate passiert hat oder wenn das Gate absichtlich übersprungen wurde.
  • tracking_disabled: True nur, wenn der Nutzer für diese Sitzung abwählt.

Gesprächsbeginn

  1. Lese <VAULT_ROOT>/00 Tasks/_Index.md, falls vorhanden. Analysiere Tabellenkörperzeilen als [[topic]] | timestamp | next-step; behandle fehlende Dateien als leeren Index.

  2. Überprüfe günstig auf eine gleichzeitige Sitzung zum selben Thema. Lese das Ende des heutigen Vault-Zeit-Journals, falls es existiert. Wenn die letzte Fortschrittszeile innerhalb von 15 Vault-Zeit-Minuten liegt und ihr Eintrag plausibel mit der ersten Nachricht des Nutzers überlappt, zeige:

    ⚠️ 另一会话 <HH:MM> 刚写过 [[<topic>]],可能在并行做同一件事。我先扫一眼最新进展再回。
    

    Lese dann den kürzlichen Eintrag, damit diese Antwort nicht der parallelen Arbeit widerspricht. Wenn kein kürzlicher überlappender Eintrag existiert, überspringe stillschweigend.

  3. Führe das Wissensabruf-Gate für jede nennenswerte Anfrage aus, bevor du dich nur auf _Index.md, das heutige Journal oder die passende Themenseite verlässt. Lese references/knowledge-retrieval-trigger.md, wenn die Anfrage ein Projekt/Domain/Person/Methode betrifft, die dauerhaften Kontext in <VAULT_ROOT>/02 Knowledge/ haben könnte, oder wenn der Nutzer nach Kontext, Analyse, Entscheidungen, Strategie, Fortsetzung, Überprüfung, Schreibstil, wiederverwendbarem Workflow oder älteren Arbeiten fragt. Verwende eine Bestands-erste-Routing: Liste den aktuellen Wissensbaum auf, leite aktuelle Ordner/Projekte daraus ab, vergleiche dann Dateinamen, H1/Titel, Aliase, Tags, status: canonical, Navigationsseiten und Quellen-der-Wahrheit-Seiten, bevor du eine breite Textsuche durchführst. Überspringe nur Begrüßungen, die auf Bestätigung warten, Dashboard-/Lint-only-Berichte, reine Journal-Buchhaltung, atomare Hilfsabfragen und Fälle, in denen nach diesem Metadaten-ersten Durchlauf kein relevanter Wissensfund existiert.

  4. Verteile auf die erste Nachricht des Nutzers, in dieser Reihenfolge:

    • Bootstrap-/Setup-Absicht (install fade-away, setup, bootstrap, 初始化, 第一次使用, 开源部署, oder eine fehlende _Index.md plus eine Nutzeranfrage zur Initialisierung): lies references/bootstrap-vault.md. Bootstrap ist ein einmaliger Einrichtungspfad; frage nach dem Vault-Root, wenn es unklar ist, und erstelle niemals Dateien, es sei denn, der Nutzer bestätigt.
    • Kontext-/Anweisungsprüf-Absicht (AGENTS, CLAUDE, 上下文, context, 经验继承, 规则漂移, Projektstruktur, Skill/Vault/Workflow-Wartung, oder eine neue cwd-/Projektgrenze): lies references/context-check.md. Melde nur, wenn eine Abweichung gefunden wird oder der Nutzer explizit fragt; schreibe keine Anweisungsdateien, es sei denn, der Nutzer bestätigt den spezifischen Patch.
    • Memory-Lint-Absicht (lint, 体检, health check, 检查知识库, 检查任务索引, 看看哪些适合变成 wiki, oder ähnlich): lies references/lint-vault-memory.md; gib zuerst einen Bericht aus und schreibe keine Korrekturen oder Wissensseiten, es sei denn, der Nutzer bestätigt.
    • Wissensförderungs-Absicht (沉淀成知识, 写进 knowledge, 变成 wiki, 归档成知识页, oder ähnlich): lies references/promote-to-knowledge.md.
    • Wochenindex-Absicht (周索引, 周报, weekly index, weekly summary, 本周总结, oder ähnlich): lies references/render-weekly-index.md. Öffne einen Journaleintrag nur, wenn das Modul einen Wochenindex schreibt oder aktualisiert.
    • Dashboard-Absicht (看下任务, 看板, dashboard, 总览, oder ähnlich): lies references/render-dashboard.md, gib nur aus und öffne noch keinen Journaleintrag.
    • Klarer bestehender Themen-Match: lies diese Themenseite stillschweigend, setze bound_topic, öffne dann einen Journaleintrag.
    • Vage Begrüßung (hi, 你好, 在吗, 开始干活了, etc.): wenn _Index.md Zeilen hat, gib ⏮️ 上次:<task>,下一步是 <next-step>。继续这个还是新任务? aus und warte auf die Antwort. Binde nur an die oberste Zeile, wenn der Nutzer bestätigt.
    • Neue nennenswerte Aufgabe: erwähne alte Aufgaben nicht; lasse bound_topic = None.

Journaleintrag öffnen

Öffne einen Journaleintrag nur, wenn die Arbeit tatsächlich beginnt. Berechne den Vault-Zeit-Tagespfad als 03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-MM-DD.md, wobei <YYYY-MM> der eigene Monat des Datums ist und <YYYY-Wnn> die ISO-Woche. Erstelle fehlende Monats-/Wochenordner mit mkdir -p.

Wenn die Tagesdatei fehlt, erstelle sie aus der Vorlage in references/journal-write-protocol.md. Stelle sicher, dass ## 🕐 任务时间线 existiert, füge dann eine Überschrift am Ende dieses Abschnitts an:

  • Ungebunden: ### HH:MM ▶️ <短中文标题>
  • Gebunden: ### HH:MM ▶️ <短中文标题> → [[00 Tasks/<bound_topic>]]

Speichere current_entry_start, current_entry_date und current_entry_title. Setze die Flags für Aufgabe, Wissenskandidat und Wissensabruf für den neuen Eintrag zurück.

Speichern pro Runde

Füge nach jeder Assistentenrunde mit nennenswerter Ausgabe genau eine Fortschrittszeile innerhalb des aktuellen Journaleintrags an:

(HH:MM) <一句话进展>

Füge am Ende des aktiven Eintragstextes an, unmittelbar vor der nächsten ### -Zeitleistenüberschrift oder EOF. Überschreibe keine früheren Fortschrittszeilen. Überspringe das Speichern, wenn die Runde nur eine Klarstellungsfrage ist oder tracking_disabled = True.

Lies references/journal-write-protocol.md, wenn du die genaue Anhängeposition, das Neubasieren bei gleichzeitigen Schreibvorgängen, die Vault-Zeit-Grenzbehandlung, die Syntax für Fallstrickzeilen oder die Journal-Vorlage benötigst.

Prüfungen nach dem Speichern

Führe diese Prüfungen nach dem speichern pro Runde durch:

  1. Explizite Förderung: Wenn die sichtbare Ausgabe einen expliziten ➡️ 下一步-Marker oder ## ➡️ 下一步-Abschnitt enthält, aktualisiere die Themen-/Index-Ebene. Wenn bound_topic gesetzt ist, lies references/topic-update-protocol.md; andernfalls, wenn bind_skipped = False, lies references/promote-to-wiki.md.
  2. Themen-Auto-Aktualisierung: Wenn bound_topic gesetzt ist und kein expliziter nächster Schritt erschien, lies references/topic-update-protocol.md, wenn der aktive Eintrag die bestehenden Veraltungsschwellen erreicht haben könnte. Behalte das aktuelle automatische Aktualisierungsverhalten bei; wandle es nicht in eine Bestätigungsaufforderung um, es sei denn, der Nutzer fragt.
  3. Aufgaben-Auto-Bindung: Wenn der aktive Eintrag ungebunden ist und keinen expliziten ➡️ 下一步 hat, lies references/task-candidate-trigger.md. Erstelle/binde ein Thema automatisch für aufgabenähnliche Sitzungen; überspringe nur triviale Q&A, Begrüßungen, Dashboard-/Lint-only-Berichte, reine Klarstellungen oder Sitzungen ohne Aufgabencharakter.
  4. Wissenskandidat: Wenn wiederverwendbares Wissen möglicherweise entstanden ist und der Nutzer nicht bereits nach Förderung gefragt hat, lies references/knowledge-candidate-trigger.md. Erstelle oder aktualisiere 02 Knowledge/ nicht automatisch.

Themenwechsel während der Sitzung

Wenn der Nutzer 继续做 X, 回到 X oder ähnlich sagt, während bereits ein Eintrag geöffnet ist:

  1. Gleiche X konservativ gegen _Index.md ab.
  2. Wenn kein klarer Treffer existiert, stelle eine kurze Klarstellungsfrage.
  3. Wenn der Treffer klar ist und sich von bound_topic unterscheidet, frage: 切到 [[X]]?我会给当前 entry 追加一行切换记录,然后打开新的 X entry。
  4. Bei Bestätigung hänge (HH:MM) 切出当前任务,转到 [[00 Tasks/X]]。 an, lies die Themenseite, setze bound_topic = X und öffne einen neuen gebundenen Journaleintrag.
  5. Wenn der Nutzer ablehnt, behalte die bestehende Bindung bei.

Wechsle Themen während der Sitzung nicht stillschweigend.

Manuelle Aufzeichnungsanfrage

Wenn der Nutzer 记录一下, 记一下刚才的进展 oder ähnlich sagt, füge eine zusätzliche Fortschrittszeile zum aktuellen Eintrag hinzu, die den Fortschritt seit dem letzten Speichern zusammenfasst. Öffne keinen neuen Eintrag und schließe den aktuellen Eintrag nicht, es sei denn, der Nutzer bittet explizit darum, Aufgaben zu wechseln.

Module

Lade seltene Workflows nur bei Bedarf:

  • references/journal-write-protocol.md: Journal-Erstellung, Anhängeposition, Vault-Zeit-Grenzbehandlung, Neubasieren bei gleichzeitigen Schreibvorgängen, Syntax für Fallstrickzeilen und Journal-Vorlage.
  • references/bootstrap-vault.md: Einmaliger Einrichtungsworkflow für das Obsidian-Vault eines neuen Nutzers; erstellt das minimale fade-away-Verzeichnis/die Vorlage/den Index und Anweisungseinstiegspunkte nur nach Bestätigung.
  • references/context-check.md: Kaltstart- oder Grenzänderungsprüfung für veraltete Anweisungs-/Kontextoberflächen wie AGENTS.md, CLAUDE.md, Projektstrukturnotizen und Wissensvererbung; melde Abweichungen, ohne zu schreiben, bis bestätigt.
  • references/task-candidate-trigger.md: Automatische Bindung nennenswerter ungebundener Aufgaben- einträge an 00 Tasks; überspringe triviale oder nicht-aufgabenbezogene Sitzungen.
  • references/topic-update-protocol.md: Aktualisiere gebundene Themenseiten, aktualisiere _Index.md und führe das aktuelle automatische Themen-Aktualisierungsverhalten aus.
  • references/promote-to-wiki.md: Binde einen ungebundenen Journaleintrag an eine Themenseite und aktualisiere _Index.md nach einem expliziten ➡️ 下一步 oder Aufgaben-Auto-Bind-Auslöser.
  • references/render-dashboard.md: Gib ein schreibgeschütztes Aufgaben-Dashboard aus aus _Index.md.
  • references/render-weekly-index.md: Erstelle oder aktualisiere eine bedarfsgesteuerte wöchentliche MOC in 03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-Wnn 周索引.md.
  • references/lint-vault-memory.md: Gib einen schreibgeschützten Gesundheitsbericht für Aufgaben-, Journal-, Wochenindex- und Wissensebenen aus.
  • references/knowledge-retrieval-trigger.md: Vor nennenswerter Arbeit, inventarisiere den aktuellen 02 Knowledge/-Baum, bewerte Kandidaten aus Metadaten und lese eine kleine Anzahl relevanter Seiten, damit älterer dauerhafter Kontext, Methoden und Projektfakten die Antwort beeinflussen können.
  • references/knowledge-candidate-trigger.md: Schlage wiederverwendbares Journal-Material für 02 Knowledge/ vor, ohne zu schreiben, bis bestätigt.
  • references/promote-to-knowledge.md: Erstelle oder aktualisiere kuratierte Seiten unter 02 Knowledge/ nach Bestätigung.

Formatregeln

  • Zeitformat: 24-Stunden HH:MM unter Verwendung der konfigurierten Vault-Zeitzone.
  • Journal-Titel: Kurzer, beschreibender chinesischer Titel; vermeide allgemeine Titel wie 任务1.
  • Themen-Dateiname: kebab-case, keine Leerzeichen, .md-Erweiterung nur auf der Festplatte.
  • Themen-Wikilink im Journal: [[00 Tasks/<topic>]].
  • Index-Zeilenformat: | [[<topic>]] | YYYY-MM-DD HH:MM | <escaped next-step> |.
  • Alte task-tracker-Verzeichnisse wurden entfernt; wenn der Nutzer nach dem alten Tracker fragt, erkläre, dass fade-away ihn ersetzt hat.

Randfälle

  • Nutzer wählt ab (这次不用记录): setze tracking_disabled = True; überspringe alle Schreibvorgänge für die Sitzung, aber das Lesen von _Index.md für den Kontext ist erlaubt.
  • Mitternachtssprung: Verwende Vault-Zeit-Mitternacht. Nach Vault-Zeit-Mitternacht öffne einen Fortsetzungs- eintrag im Journal des neuen Vault-Zeit-Tages und setze dort die speichern-pro-Runde fort.
  • Dashboard-only-Runde: Gib das Dashboard aus und warte; öffne keinen Journaleintrag, bis der Nutzer mit der richtigen Arbeit beginnt.
  • Fehlende Themenseite für einen Index-Treffer: Sage, dass die Themenzeile existiert, die Seite aber fehlt, frage dann, ob sie neu erstellt oder ungebunden fortgefahren werden soll.

Verwandte Skills