Wie der Skill intern funktioniert: Dateisystem-basierter Knowledge Graph, mehrstufige Suche, Dokument-Extraktion und 6 Export-Formate. Alles in reinem Python ohne Datenbank.
* Nutzt Python-Stdlib + bereits installierte Libs (pypdf, pandas, python-docx, python-pptx, pandoc)
No SQLite, no Redis, no vector DB. Context Memory stores everything as JSON and Markdown in the file system. This makes it portable, inspectable, and trivially debuggable.
Each script has exactly one job. cm_core.pyShared Library: Datenstrukturen, Storage-I/O, ID-Generierung, Duplikaterkennung, Tag-Normalisierung, temporale Metadaten. ist die gemeinsame Basis — alle anderen importieren daraus.
Der Ingest-Pfad ist der komplexeste Teil. Ein PDF durchläuft: Typ-Erkennung → Extractor-Dispatch → Content-Splitting → Duplikat-Check → Batch-ID-Generierung → Index+Tree-Update.
Keine Embeddings, kein FAISS, kein Cosine Similarity. Stattdessen: gewichtete Tag/Title-Matches, dann Fulltext mit Phrase-Bonus, dann Relations-Anreicherung.
Der Graph ist eine einfache Kanten-Liste in relations.json. 22 typisierte Relationstypen, jeder mit automatischer Umkehrung. BFS für Pfadfindung, N-Hop-Traversal für Kontextabruf.
cm_export.py ist das größte Script. Es validiert automatisch und erzeugt einen Quality Score (0–100) basierend auf 8 Checks. Die Embedding-Chunks sind Markdown-bereinigt und starten mit natürlichsprachlichem Zeitbezug.
Context Memory ist ein SkillEine Markdown-Datei (SKILL.md) die Claude Anweisungen gibt, plus unterstützende Scripts. Claude liest die SKILL.md und führt die Scripts im Hintergrund aus., kein eigenständiges Tool. Claude liest die SKILL.md, versteht den Workflow und ruft die Scripts über bash auf. Der Nutzer sieht nur natürliche Sprache.
Was gut gelöst ist: Dateisystem-Portabilität, Duplikat-Erkennung, in-memory Batch-IDs, saubere Chunk-Bereinigung, 22 Relationstypen mit BFS.
Was man erweitern könnte: Semantic Search via Embeddings (braucht API-Key), Real-time Collaboration (braucht Server), Automatisches Kuratieren bei jedem Gespräch (braucht Hook-Integration), Graph-Visualisierung als interaktives HTML.