Claude Code
Apothem-Harness-Adapter für Claude Code (GA).
Anbieter: Anthropic
Installationsname: claude-code
Status: GA
Native Konfiguration: ~/.claude/
Installation
apothem install --harness claude-codeDer claude-code-Adapter installiert den gemeinsamen Apothem-Korpus in den nativen
Discovery-Baum von Claude Code. Markdown-definierte Agenten, Regeln,
Skills, Output-Styles und Einstellungen werden an ihren nativen Orten installiert;
Command-Prompts werden in Skills umgewandelt, damit wiederverwendbare Workflows über
die aktuelle Skill-Oberfläche von Claude Code sichtbar bleiben. Der
Statusline-Renderer wird nach ~/.claude/statuslines/ kopiert, aber nicht
eingebunden: Claude Code liest seine Statuszeile aus der Einstellung statusLine,
die der Adapter nicht setzt. Um sie einzuschalten, ergänze in settings.json einen
Eintrag statusLine mit "type": "command", der ~/.claude/statuslines/render.py
ausführt. Der Wert commandWindows des Snippets läuft unter Windows und nennt den
Interpreter ohne Anführungszeichen. Enthält der Interpreter-Pfad ein Leerzeichen,
schreibt die Installation in diesen Wert die Windows-8.3-Kurzform, sofern das Volume
eine besitzt. Die Hook-Einträge in settings.json behalten den vollständigen Pfad
bei.
Geschriebene Dateien: settings.json, der Apothem-Block in CLAUDE.md, agents/, rules/, skills/,
statuslines/, output-styles/ sowie der Unterstützungs-Teilbaum .apothem/support/
(.apothem/support/hooks/, .apothem/support/conformity/,
.apothem/support/schemas/, .apothem/support/templates/) unter ~/.claude/.
Command-Dateien werden in
untergeordnete Skill-Verzeichnisse umgewandelt. Der Hook-Dispatcher und das
Konformitäts-Gate laufen aus ihren materialisierten Kopien — die Hook-Einträge
in settings.json rufen
~/.claude/.apothem/support/hooks/dispatch.py und
~/.claude/.apothem/support/conformity/gate.py über den absoluten Pfad auf,
sodass auf dem Host kein importierbares apothem-Paket benötigt wird.
~/.claude/CLAUDE.md bleibt im Besitz des Operators. Der Adapter schreibt
einen einzelnen, durch Sentinels begrenzten Apothem-Block hinein, der die
Profilprojektion (Identität, Präferenzen, Regeln, Ernsthaftigkeit und per
Opt-in aktivierte Verhaltensweisen) und einen Abschnitt zu den
Apothem-Unterstützungsdateien enthält, und bewahrt jede Zeile außerhalb der
Sentinels wörtlich. Der Abschnitt zu den Unterstützungsdateien nennt das
absolute Verzeichnis, gegen das jeder Verweis im Repository-Stil in den
installierten Regeln, Skills und Agenten aufgelöst wird: rules/<name>.md unter
~/.claude/rules/ sowie templates/..., schemas/..., hooks/... und
conformity/... unter ~/.claude/.apothem/support/. Außerdem verweist er auf
den Regelindex, ~/.claude/rules/apothem-rule-index.md. Der Rest der
Governance-Oberfläche von Apothem erreicht Claude Code über den propagierten
rules/-Baum und den SessionStart-Hook. OpenCode lädt ~/.claude/CLAUDE.md
ebenfalls, wenn keine ~/.config/opencode/AGENTS.md existiert, daher nennt der
Block kein einzelnes Werkzeug als Leser.
Zuordnung von Profil zu nativer Konfiguration
Bei jedem apothem install oder apothem update propagiert der Adapter den
gemeinsamen apothem-Korpus gemäß dem Propagation-Manifest nach ~/.claude/.
Der Adapter verwendet native Verzeichnisse direkt, wo dies möglich ist, und
wandelt Command-Prompts in Skill-Ordner um. Bereits vorhandene, übereinstimmende,
von Apothem verwaltete Kindelemente werden vor dem Ersetzen gesichert; nicht
zugehörige, vom Operator verfasste Einträge bleiben erhalten. settings.json
wird zusammengeführt, sodass vom Operator verfasste Schlüssel
wiederherstellbar bleiben.
Vom Operator verfasste Dateien bleiben nur außerhalb der unten genannten Ordner erhalten. Jede Installation und jede Aktualisierung entfernt jeden dieser Ordner unter ~/.claude/, der vorhanden ist, unabhängig davon, ob Apothem ihn geschrieben hat: src/, conformity/, schemas/, hooks/, config/, scripts/, tools/, lib/, templates/, docs/, tests/, packaging/, mcp/, examples/, assets/, site/, public/ und commands/. Außerdem entfernt sie statuslines/__init__.py sowie die Dateien AGENTS.md in agents/, rules/, skills/, statuslines/ und output-styles/. Ein entfernter Ordner wird als Ganzes entfernt, einschließlich der Dateien, die Sie darin abgelegt haben. Slash-Befehle, die Sie in commands/ behalten, werden ebenfalls entfernt, und Apothem installiert seine eigenen Befehlsvorlagen als Skills unter skills/. Ein Hook-Skript, das Sie in hooks/ behalten, wird entfernt, wodurch jeder Eintrag in settings.json, der es aufruft, ins Leere zeigt. Die Bereinigung läuft, bevor die Installation ihre eigenen Dateien schreibt. Jeder entfernte Pfad wird zuvor nach ~/.apothem/backups/ kopiert, und der Installationsdatensatz nennt diese Kopie. Die Deinstallation stellt sie nicht wieder her. Um einen entfernten Pfad wiederherzustellen, führen Sie für die Installation, die ihn entfernt hat, apothem rollback --harness claude-code --install-id ID aus, wie in der Rollback-Referenz beschrieben. Ein einfaches apothem rollback macht nur die letzte Installation rückgängig. Installationsdatensätze und ihre Kopien werden für die neuesten 10 Installationen aufbewahrt; ein entfernter Pfad kann daher nur wiederhergestellt werden, solange seine Installation zu diesen gehört. apothem diff --harness claude-code führt diese Entfernungen vor der Installation als Prune stale files auf.
Installierte Skills und die im Claude Code-Plugin gebündelten Skills tragen
user-invocable statt des userInvocable aus dem Quellkorpus, weil Claude
Code nur den Schlüssel mit Bindestrich liest. Die beiden Template-Container
(plan-suite, research-suite) setzen ihn auf false, sodass sie nicht im
/-Menü erscheinen. Jeder Output-Style setzt keep-coding-instructions: true,
sodass bei der Auswahl eines Output-Styles die integrierten
Softwareentwicklungs-Anweisungen von Claude Code erhalten bleiben.
Beide tragen außerdem die nur für Apothem bestimmten Frontmatter-Schlüssel
(version, updated, archetype, portability) unter einer abschließenden
metadata:-Map aus Zeichenketten in Anführungszeichen, in dieser festen
Reihenfolge. Claude Code ignoriert unbekannte Schlüssel auf oberster Ebene, und
das offene Skill-Format hält clientspezifische Extras in metadata. Die
Quelldateien ändern sich nicht. Die Skill-Ordner auf Benutzerebene
(~/.agents/skills/, ~/.codebuddy/skills/, ~/.kiro/skills/ und
~/.trae/skills/) verwenden dieselbe metadata-Form, sodass Installationen,
die sich einen Ordner teilen, nie gegenseitig ihre Dateien neu schreiben. Jeder
andere Harness erhält die Schlüssel wie bisher auf oberster Ebene.
Regeln und was beim Start geladen wird
Claude Code lädt eine Regeldatei beim Start, sofern ihr Frontmatter keine
paths:-Liste trägt, die ihren Geltungsbereich eingrenzt. Mit paths: lädt es
die Regel, wenn es eine passende Datei liest oder bearbeitet. Eine Liste, die nur
aus ** besteht, grenzt nichts ein, daher wird auch diese Regel beim Start
geladen; keine Apothem-Regel verwendet eine solche. Die Installation wandelt den
pathFilter jeder Regel in diese Liste um. Fünf Regeln haben keinen und werden in jeder Sitzung geladen: agnostic-posture, authority-inquiry,
session-closure, context-management und der Regelindex,
apothem-rule-index. Jede andere Regel wird unter ~/.claude/rules/
mit paths: installiert und bei einem passenden Dateizugriff geladen.
Claude Code gleicht diese Globs mit .gitignore-Semantik gegen den Pfad der
Datei relativ zum Arbeitsverzeichnis ab und nie gegen eine Datei außerhalb
davon. Das Auto-Memory-Verzeichnis liegt unter ~/.claude/projects/, daher
werden auto-memory und auto-memory-topic-files nie über einen Pfadtreffer
geladen. Auch das Bearbeiten von ~/.claude/CLAUDE.md oder einer Datei unter
~/.claude/rules/ aus einem anderen Projekt heraus lädt die auf diese Dateien
eingegrenzten Regeln nicht. Diese Regeln erreichen eine Sitzung über den Index.
Der Index nennt jede Regel und die Situation, die sie erfordert. Ein Schritt, der
rules/<name>.md als sein Verfahren zitiert, liest diese Datei zuerst. Lesen Sie
nach einer Kontextkomprimierung jede Regel erneut, die Sie gerade angewendet
haben: Claude Code fügt eine pfadgebundene Regel erst wieder ein, wenn erneut
auf eine passende Datei zugegriffen wird. Der Name apothem-rule-index.md ist
reserviert, weil eine Installation eine Regeldatei mit diesem Namen sichert und
überschreibt.
Die Regeln, die Apothems eigene Oberflächen steuern, sind auf CLAUDE.md,
AGENTS.md und das Markdown unter rules/, commands/, skills/, agents/,
hooks/ und output-styles/ eingegrenzt. Ein Anwendungs-Repository enthält
diese Dateien selten, daher erreichen diese Regeln dort eine Sitzung über den
Index, über einen Skill, einen Befehl oder einen Helfer, der sie zitiert, und
über die Hooks, nicht über einen Pfadtreffer.
Die Regelkopien werden ohne ihren abschließenden Abschnitt ## Bindings
geschrieben, wie es auch bei Command-Skills der Fall ist. Der Abschnitt enthält
wechselseitige Verweise für Maintainer und das Konformitäts-Gate. Die
Quelldateien behalten ihn, ebenso die Kopien, die andere Harnesses erhalten.
Um eine eingegrenzte Regel in jeder Sitzung aktiv zu halten, können Sie
versuchen, sie aus Text außerhalb des Apothem-Blocks in ~/.claude/CLAUDE.md zu
importieren, zum Beispiel @rules/definitiveness.md. Die Memory-Seite von
Claude Code dokumentiert den Import und sagt, dass ein importierter Pfad relativ
zur importierenden Datei aufgelöst wird. Sie sagt nicht, wie die paths-Liste
einer importierten Regel behandelt wird, und Apothem hat das nicht verifiziert.
Prüfen Sie mit dem Hook InstructionsLoaded, dass die Regel beim Start geladen
wird und bei einem Pfadtreffer nicht ein zweites Mal geladen wird.
Command-Skills und Referenzdateien
Nach einer Kontextkomprimierung hängt Claude Code nur die ersten 5.000 Tokens
jedes aufgerufenen Skills wieder an, und es empfiehlt eine SKILL.md von etwa
500 Zeilen oder weniger mit Details in benachbarten Dateien. Die Command-Prompts
umfassen bis zu 67 KB, daher teilt die Ausgabe für Claude Code jeden davon in
eine schlanke SKILL.md plus Dateien unter references/ auf:
- Der Abschnitt
## Bindingsentfällt. Er ist Maintainer-Text für das Konformitäts-Gate, und das Modell benötigt ihn nie. - Der Pipeline Contract, die Foundational Stanzas, der Decision Tree, Beispiele, Modus-Abschnitte und einige zitierte Inventare wandern in Referenzdateien. Die Überschrift bleibt, und ein einzeiliger Verweis darunter nennt die Datei und sagt, wann sie zu lesen ist. Die Verweise für den Pipeline Contract und die Foundational Stanzas führen außerdem auf, was die Datei abdeckt.
- Ist
SKILL.mddanach noch größer als 15.800 Bytes, wandern die größten Workflow-Schritte nachreferences/step-NN-<slug>.md, die größten zuerst, bis sie passt. Der Slug ist der Schritttitel ohne sein PräfixStep N:und ohne eine abschließende eingeklammerte Mandats- oder Disziplin-ID. Schritte unter 600 Bytes bleiben inline. Reicht das nicht, wandern die Abschnitte Output, Mandates, Critical Rules und Instructions in dieser Reihenfolge. - Ein kurzer Hinweis nach der Präambel sagt dem Modell, wo die Dateien liegen
(
${CLAUDE_SKILL_DIR}/references/) und dass es diejenigen, die seinen aktuellen Schritt steuern, nach einer Komprimierung erneut lesen MUSS.
Jede ausgegebene SKILL.md, einschließlich des Hinweises
## Installed Reference Paths, den die Installation anhängt, bleibt bei einem
Installationswurzelpfad von bis zu 140 Zeichen bei höchstens 17.000 Bytes. Das
Plugin liefert dieselben Dateien ohne diesen Hinweis aus, und seine Befehle sind
Skills unter skills/, daher hat es keinen Ordner commands/; der Aufruf
/apothem:<name> bleibt unverändert. Die Aufteilung ist deterministisch und
umkehrbar: Der Text von SKILL.md und seinen Referenzdateien ergibt wieder den
Quell-Command ohne Bindings. Die Quelldateien und die Ausgabe für jeden anderen
Harness bleiben unverändert. Andere Werkzeuge lesen ebenfalls Skills aus
~/.claude/skills/ und sehen daher dieselben Dateien; apothem install nennt
sie.
Um die Zahlen für jeden Command zu sehen, führen Sie das Messskript aus einem Checkout aus:
python scripts/dev/measure_claude_skills.py # per-command table
python scripts/dev/measure_claude_skills.py --check # exit 1 on a breachEs meldet die Größen von Quelle, SKILL.md und Referenzen, den Spielraum bis
zum Budget und eine geschätzte Tokenzahl, und es listet die nativen Skills zum
Vergleich auf. research-suite, ein nativer Skill, dessen Quelle nicht
aufgeteilt wird, ist der einzige Skill über der Obergrenze.
Kompatibilitätshinweise
Command-Prompts werden in Skill-Verzeichnisse umgewandelt, und Regeln werden wie
oben beschrieben gerendert; Skills und Output-Styles werden unverändert kopiert,
und Agenten werden wie geschrieben kopiert, außer dass ein Helfer, den der
Profilschlüssel agent_mcp_servers aufführt, in seiner tools-Zeile pro
benanntem Server einen Eintrag mcp__<server>__* erhält (siehe
MCP-Server).
Die Installation
validiert, dass das Profil wohlgeformt ist und alle Hook-Bindungen in
settings.json auflösbar sind. Der Adapter verfasst keine MCP-Server-Einträge:
Registrieren Sie Server mit claude mcp add (siehe
MCP-Server).
~/.claude/agents/ ist ein gemeinsames Wurzelverzeichnis, das Claude Code
gehört, ebenso ~/.claude/skills/: Andere unterstützte Werkzeuge laden diese
Ordner, daher erscheinen die Agenten und Skills, die eine Claude Code-Installation
dort schreibt, auch in diesen Werkzeugen, und die Installation gibt einen
Hinweis aus, der sie nennt. Die
Harness-Registry listet die Leser jedes
Wurzelverzeichnisses auf.
Claude Code wendet bei jedem Sitzungsstart alle Hook-Bindungen in settings.json an. Jeder Adapter wird gegen seinen eigenen nativen Harness verifiziert — es gibt keinen privilegierten „Referenz“-Harness.
Grenzen der Berechtigungsregeln
Die Settings-Vorlage verweigert Read(...) für Geheimnis- und Cache-Pfade wie
.env* und ~/.ssh/**. Claude Code wendet eine Read-Verweigerung auf seine
Datei-Werkzeuge an, auf die Dateibefehle, die es in Bash erkennt (cat,
head, tail, sed, tee), und auf Umleitungsziele. Es wendet die
Verweigerung nicht auf eine Suche an, die Dateien liest, ohne sie zu benennen,
etwa grep -r pattern ., und nicht auf ein Skript, das Dateien selbst öffnet
(Berechtigungsreferenz). Unter
macOS, Linux und WSL lässt Claude Code die Werkzeuge Glob und Grep aus dem
Standard-Werkzeugsatz weg und sucht stattdessen über Bash, daher greifen die
Erlaubniseinträge der Vorlage für Glob und Grep nur dort, wo diese
Werkzeuge vorhanden sind. Um jedem Prozess das Lesen eines Pfads zu verwehren,
aktivieren Sie die Sandbox von Claude Code.
Die Skills und Helferdefinitionen, die TodoWrite nennen, nennen auch
TaskCreate, TaskGet, TaskList und TaskUpdate, weil Claude Code
TodoWrite standardmäßig zugunsten dieser Werkzeuge abschaltet.
Verifizierung
apothem verify --harness claude-codeDer Befehl verify bestätigt Folgendes:
- Die native Konfiguration existiert am erwarteten Pfad.
- Jedes verwaltete Ziel existiert; verwaltete Dateien sind nicht leer, und
JSON- oder YAML-Konfigurationen lassen sich parsen. Fügen Sie
--profile PATHhinzu, um außerdem zu bestätigen, dass die installierten Dateien zu diesem Profil passen. - Die adapterspezifische Verifizierungsroutine meldet Erfolg.
Aktualisierung
apothem update --harness claude-codeLeitet die native Konfiguration aus dem aktuellen gemeinsamen Profil neu ab.
Führen Sie den Befehl aus, nachdem das installierte apothem-Paket
aktualisiert wurde, damit die propagierte Konventions-Oberfläche (Agenten,
Regeln, Skills, Statuslines, Output-Styles) die neue Version widerspiegelt. In
CLAUDE.md schreibt update nur den Apothem-Block zwischen seinen Sentinels neu.
Deinstallation
apothem uninstall --harness claude-codeEntfernt den Apothem-Block aus ~/.claude/CLAUDE.md und behält jeden anderen
Text darin. Die Datei wird nur gelöscht, wenn darin nichts anderes mehr übrig
ist. Entfernt die Einträge, die der Adapter zu ~/.claude/settings.json
hinzugefügt hat (Ihre eigenen Berechtigungsregeln, Schlüssel und Hook-Handler
bleiben erhalten, und die Datei wird nur gelöscht, wenn Apothem sie angelegt hat
und nichts von Ihnen übrig ist). Entfernt außerdem die Apothem-Dateien in
~/.claude/agents/, ~/.claude/rules/, ~/.claude/skills/,
~/.claude/statuslines/, ~/.claude/output-styles/ und
~/.claude/.apothem/support/; andere Dateien in diesen Ordnern bleiben
bestehen. Jede Datei wird unter ~/.apothem/backups/ gesichert, bevor sie
geändert oder entfernt wird.
Das installierte apothem-Paket und das Quell-Repository bleiben unberührt.
Konformitäts-Gate
python -m apothem.conformity.gate --all .Gegen das Repository ausgeführt, verlangt das Gate den Abschnitt ## Bindings in
jeder Regel, jedem Befehl, jedem Helfer und jedem Skill. Gegen einen
installierten ~/.claude/-Baum ausgeführt, akzeptiert es eine Regel- oder
Skill-Kopie ohne diesen Abschnitt, weil die Installation ihn weglässt, und prüft
einen vorhandenen Abschnitt weiterhin.
Fehlerbehebung
| Symptom | Behebung |
|---|---|
| Konfigurationsdatei nicht gefunden | Führen Sie apothem install --harness claude-code erneut aus |
| Verifizierung fehlgeschlagen | Führen Sie apothem update --harness claude-code aus und verifizieren Sie dann erneut |
| Unerwarteter Konfigurationsinhalt | Führen Sie apothem update erneut aus; die Quelle der Wahrheit ist das gemeinsame apothem-Profil, nicht ~/.claude/ |
Konfigurationsschalter
| Flag | Standard | Beschreibung |
|---|---|---|
--dry-run | false | Vorschau der Installation, ohne Dateien zu schreiben. |
Siehe auch
- Alle Harnesses — der vollständige Katalog der unterstützten Werkzeuge
- Installationsanleitung — Apothem in diesen Harness installieren
- Referenz zu
apothem harnesses— Adapter über die CLI auflisten und untersuchen