manage-memory
关于
This skill manages and organizes Claude Code's persistent memory files, primarily handling MEMORY.md as a compact index. It extracts topics into dedicated files, cleans up outdated entries, verifies accuracy against project state, and enforces the 200-line limit. Use it when MEMORY.md approaches the line limit, after sessions with lasting insights, when a topic section grows too large, or when project changes may have made entries obsolete.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-memory在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Speicher verwalten
Claude Codes persistentes Speicherverzeichnis pflegen, damit es sitzungsuebergreifend korrekt, praegnant und nuetzlich bleibt. MEMORY.md wird bei jedem Gespraech in den Systemprompt geladen — Zeilen nach 200 werden gekuerzt, daher muss diese Datei ein schlanker Index sein, der fuer Details auf Themendateien verweist.
Wann verwenden
- MEMORY.md naehert sich dem 200-Zeilen-Kuerzschwellenwert
- Eine Sitzung hat dauerhafte Erkenntnisse hervorgebracht, die erhaltenswert sind (neue Muster, Architekturentscheidungen, Debugging-Loesungen)
- Ein Themenabschnitt in MEMORY.md ist ueber 10-15 Zeilen gewachsen und sollte extrahiert werden
- Der Projektstatus hat sich geaendert (umbenannte Dateien, neue Domains, aktualisierte Zaehler) und Speichereintraege koennten veraltet sein
- Beginn eines neuen Arbeitsbereichs mit Pruefung ob relevanter Speicher bereits vorhanden ist
- Regelmaessige Wartung zwischen Sitzungen, um das Speicherverzeichnis gesund zu erhalten
Eingaben
- Erforderlich: Zugriff auf das Speicherverzeichnis (typischerweise
~/.claude/projects/<project-path>/memory/) - Optional: Spezifischer Ausloesungsgrund (z.B. "MEMORY.md ist zu lang", "gerade einen grossen Refaktor abgeschlossen")
- Optional: Thema zum Hinzufuegen, Aktualisieren oder Extrahieren
Vorgehensweise
Schritt 1: Aktuellen Zustand beurteilen
MEMORY.md lesen und alle Dateien im Speicherverzeichnis auflisten:
wc -l <memory-dir>/MEMORY.md
ls -la <memory-dir>/
Zeilenanzahl gegen das 200-Zeilen-Limit pruefen. Vorhandene Themendateien inventarisieren.
Erwartet: Klares Bild der Gesamtzeilenzahl, Anzahl der Themendateien und welche Abschnitte in MEMORY.md vorhanden sind.
Bei Fehler: Falls das Speicherverzeichnis nicht existiert, es erstellen. Falls MEMORY.md nicht existiert, eine minimale mit einem # Project Memory-Header und einem ## Topic Files-Abschnitt erstellen.
Schritt 2: Veraltete Eintraege erkennen
Speicherbehauptungen mit dem aktuellen Projektstatus vergleichen. Haeufige Veraltungsmuster:
- Zaehlerabweichung: Datei-, Skill-, Domain-, Zaehlerstaende, die sich nach Ergaenzungen/Entfernungen geaendert haben
- Umbenannte Pfade: Dateien oder Verzeichnisse, die verschoben oder umbenannt wurden
- Ueberholte Muster: Workarounds, die nach Korrekturen nicht mehr benoetigt werden
- Widersprueche: Zwei Eintraege, die unterschiedliches ueber dasselbe Thema sagen
Grep verwenden, um Schluesselbehautungen stichprobenartig zu pruefen:
# Beispiel: einen Skill-Zaehler-Anspruch verifizieren
grep -c "^ - id:" skills/_registry.yml
# Beispiel: pruefen ob eine Datei noch existiert
ls path/claimed/in/memory.md
Erwartet: Eine Liste veralteter Eintraege mit den aktuell korrekten Werten.
Bei Fehler: Falls ein Anspruch nicht verifiziert werden kann (er verweist z.B. auf externen Status, der nicht geprueft werden kann), ihn belassen, aber eine (unverified)-Notiz hinzufuegen, anstatt moeglicherweise falsche Informationen stillschweigend beizubehalten.
Schritt 3: Entscheiden was hinzugefuegt werden soll
Fuer neue Eintraege folgende Filter anwenden, bevor sie geschrieben werden:
- Dauerhaftigkeit: Wird dies in der naechsten Sitzung noch wahr sein? Sitzungsspezifischen Kontext vermeiden (aktuelle Aufgabe, laufende Arbeit, temporaerer Status).
- Keine Duplikation: Deckt CLAUDE.md oder Projektdokumentation dies bereits ab? Keine Duplikation — Speicher ist fuer Dinge, die NICHT anderswo erfasst sind.
- Verifiziert: Wurde dies ueber mehrere Interaktionen bestaetigt, oder ist es eine einzelne Beobachtung? Fuer einzelne Beobachtungen gegen Projektdokumentationen pruefen, bevor sie geschrieben werden.
- Handlungsrelevant: Aendert dieses Wissen das Verhalten? "Der Himmel ist blau" ist nicht nuetzlich. "Exit-Code 5 bedeutet Zitierfehler — temporaere Dateien verwenden" aendert die Arbeitsweise.
Ausnahme: Falls der Benutzer explizit bittet, etwas zu speichern, sofort speichern — kein Warten auf mehrfache Bestaetigung erforderlich.
Erwartet: Eine gefilterte Liste von Eintraegen, die es wert sind hinzugefuegt zu werden, wobei jeder die Kriterien Dauerhaftigkeit + Keine-Duplikation + Verifizierung + Handlungsrelevanz erfuellt.
Bei Fehler: Falls unklar ist, ob ein Eintrag erhaltenswert ist, im Zweifel kurz in MEMORY.md behalten — es ist einfacher spaeter zu beschneiden als neu zu entdecken.
Schritt 4: Uebergrosse Themen extrahieren
Wenn ein Abschnitt in MEMORY.md ~10-15 Zeilen ueberschreitet, in eine dedizierte Themendatei extrahieren:
<memory-dir>/<topic-name>.mdmit einem beschreibenden Header erstellen- Den detaillierten Inhalt von MEMORY.md in die Themendatei verschieben
- Den Abschnitt in MEMORY.md durch eine 1-2-zeilige Zusammenfassung und einen Link ersetzen:
## Topic Files
- [topic-name.md](topic-name.md) — Kurze Beschreibung des Inhalts
Benennungskonventionen fuer Themendateien:
- Kleinbuchstaben-Kebab-Case verwenden:
viz-architecture.md, nichtVizArchitecture.md - Nach Thema benennen, nicht nach Chronologie:
patterns.md, nichtsession-2024-12.md - Verwandte Elemente gruppieren: "R-Debugging" und "WSL-Besonderheiten" in
patterns.mdzusammenfassen, anstatt eine Datei pro Fakt zu erstellen
Erwartet: MEMORY.md bleibt unter 200 Zeilen. Jede Themendatei ist eigenstaendig und ohne MEMORY.md-Kontext lesbar.
Bei Fehler: Falls eine Themendatei weniger als 5 Zeilen haben wuerde, lohnt sich die Extraktion wahrscheinlich nicht — inline in MEMORY.md belassen.
Schritt 5: MEMORY.md aktualisieren
Alle Aenderungen anwenden: veraltete Eintraege entfernen, neue Eintraege hinzufuegen, Zaehler aktualisieren und sicherstellen, dass der Abschnitt "Topic Files" alle dedizierten Dateien auflistet.
MEMORY.md-Struktur sollte diesem Muster folgen:
# Project Memory
## Abschnitt 1 — Uebergeordneter Kontext
- Stichpunkte, praegnant
## Abschnitt 2 — Ein weiteres Thema
- Nur Schluesselfakten
## Topic Files
- [file.md](file.md) — Was abgedeckt wird
Richtlinien:
- Jeden Stichpunkt auf maximal 1-2 Zeilen halten
- Inline-Formatierung (
code, fett) fuer schnelle Lesbarkeit verwenden - Den am haeufigsten benoetigen Kontext zuerst stellen
- Der Abschnitt "Topic Files" sollte immer am Ende stehen
Erwartet: MEMORY.md ist unter 200 Zeilen, korrekt und hat funktionierende Links zu allen Themendateien.
Bei Fehler: Falls nach der Extraktion nicht unter 200 Zeilen moeglich, den am wenigsten genutzten Abschnitt identifizieren und extrahieren. Jeder Abschnitt ist ein Kandidat — selbst die Projektuebersicht kann in eine Themendatei ausgelagert werden, wenn noetig, und nur eine 1-zeilige Zusammenfassung hinterlaesst.
Schritt 6: Integritaet verifizieren
Eine abschliessende Pruefung durchfuehren:
- Zeilenanzahl: Bestaetigen, dass MEMORY.md unter 200 Zeilen liegt
- Links: Pruefen ob jede referenzierte Themendatei in MEMORY.md existiert
- Verwaiste Dateien: Auf Themendateien pruefen, die nicht in MEMORY.md referenziert werden
- Genauigkeit: 2-3 Faktenbehauptungen stichprobenartig gegen den Projektstatus pruefen
wc -l <memory-dir>/MEMORY.md
# Auf fehlerhafte Links pruefen
for f in $(grep -oP '\[.*?\]\(\K[^)]+' <memory-dir>/MEMORY.md); do
ls <memory-dir>/$f 2>/dev/null || echo "BROKEN: $f"
done
# Auf verwaiste Dateien pruefen
ls <memory-dir>/*.md | grep -v MEMORY.md
Erwartet: Zeilenanzahl unter 200, keine fehlerhaften Links, keine verwaisten Dateien, stichprobenartig geprueft Behauptungen sind korrekt.
Bei Fehler: Fehlerhafte Links beheben (aktualisieren oder entfernen). Fuer verwaiste Dateien entweder eine Referenz in MEMORY.md hinzufuegen oder sie loeschen, falls sie nicht mehr relevant sind.
Validierung
- MEMORY.md ist unter 200 Zeilen
- Alle in MEMORY.md referenzierten Themendateien existieren auf der Festplatte
- Keine verwaisten
.md-Dateien im Speicherverzeichnis (jede Datei ist von MEMORY.md verlinkt) - Keine veralteten Zaehler oder umbenannte Pfade in einer Speicherdatei
- Neue Eintraege erfuellen die Kriterien Dauerhaftigkeit/Keine-Duplikation/Verifiziert/Handlungsrelevant
- Themendateien haben beschreibende Header und sind eigenstaendig
- MEMORY.md liest sich als nuetzliche Schnellreferenz, nicht als Aenderungsprotokoll
Haeufige Stolperfallen
- Speicherverschmutzung: Jede Sitzungsbeobachtung in den Speicher schreiben. Die meisten Erkenntnisse sind sitzungsspezifisch und muessen nicht dauerhaft gespeichert werden. Die vier Filter (Schritt 3) anwenden, bevor etwas geschrieben wird.
- Veraltete Zaehler: Code aktualisieren, aber nicht den Speicher. Zaehler (Skills, Agenten, Domains, Dateien) weichen still ab. Zaehler immer gegen die Wahrheitsquelle pruefen, bevor dem Speicher vertraut wird.
- Chronologische Organisation: Nach "wann ich es gelernt habe" statt nach "worum es geht" organisieren. Themenbasierte Organisation (
patterns.md,viz-architecture.md) ist fuer den Abruf viel nuetzlicher als datumsbasierte Dateien. - CLAUDE.md duplizieren: CLAUDE.md ist die massgebliche Projektanweisungsdatei. Speicher sollte Dinge erfassen, die NICHT in CLAUDE.md stehen — Debugging-Erkenntnisse, Architekturentscheidungen, Workflow-Praeferenzen, projektuebergreifende Muster.
- Uebermaessige Extraktion: Fuer jeden 3-zeiligen Abschnitt eine Themendatei erstellen. Nur extrahieren, wenn ein Abschnitt ~10-15 Zeilen ueberschreitet. Kleine Abschnitte funktionieren gut inline.
- Das 200-Zeilen-Limit vergessen: MEMORY.md wird in jeden Systemprompt geladen. Zeilen nach 200 werden still abgeschnitten. Wenn die Datei darueber hinauswachst, ist der untere Inhalt effektiv unsichtbar.
Verwandte Skills
write-claude-md— CLAUDE.md erfasst Projektanweisungen; Speicher erfasst sitzungsuebergreifendes Lernenprune-agent-memory— das Gegenstueck zu manage-memory: Pruefung, Klassifizierung und selektives Vergessen gespeicherter Erinnerungenwrite-continue-here— eine strukturierte Fortsetzungsdatei fuer den Sitzungsuebergabe schreiben; ergaenzt den Speicher als kurzfristige Kontextbrueckeread-continue-here— Fortsetzungsdatei beim Sitzungsstart lesen und darauf reagieren; die Verbrauchsseite der Uebergabecreate-skill— neue Skills koennen erinnerungswuerdige Muster erzeugenheal— Selbstheilung kann den Speicher als Teil des Integrationsschritts aktualisierenmeditate— Meditationssitzungen koennen Erkenntnisse zutage foerdern, die es wert sind, dauerhaft gespeichert zu werden
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
