Claude Code
Adapter harness Apothem untuk Claude Code (GA).
Vendor: Anthropic
Nama instalasi: claude-code
Status: GA
Konfigurasi native: ~/.claude/
Instalasi
apothem install --harness claude-codeAdapter claude-code memasang korpus Apothem bersama ke dalam pohon penemuan native Claude Code. Agen Markdown, aturan, skill, output-style, dan pengaturan dipasang di lokasi native-nya; prompt command dikonversi menjadi skill sehingga alur kerja yang dapat digunakan ulang tetap terlihat melalui permukaan skill Claude Code saat ini. Perender statusline disalin ke ~/.claude/statuslines/ tetapi tidak disambungkan: Claude Code membaca baris statusnya dari pengaturan statusLine, yang dibiarkan tidak disetel oleh adapter. Untuk mengaktifkannya, tambahkan ke settings.json sebuah entri statusLine dengan "type": "command" yang menjalankan ~/.claude/statuslines/render.py. Nilai commandWindows pada cuplikan tersebut dijalankan di Windows dan menyebut interpreter tanpa tanda kutip. Ketika jalur interpreter mengandung spasi, pemasangan menulis bentuk pendek 8.3 Windows pada nilai itu jika volume memilikinya. Entri hook di settings.json tetap menggunakan jalur lengkap.
Berkas yang ditulis: settings.json, blok Apothem di CLAUDE.md, agents/, rules/, skills/,
statuslines/, output-styles/, dan pohon pendukung .apothem/support/
(.apothem/support/hooks/, .apothem/support/conformity/,
.apothem/support/schemas/, .apothem/support/templates/) di bawah ~/.claude/.
Berkas command dikonversi menjadi
direktori skill anak. Dispatcher hook dan gerbang konformitas berjalan dari
salinan termaterialisasinya — entri hook di settings.json memanggil
~/.claude/.apothem/support/hooks/dispatch.py dan
~/.claude/.apothem/support/conformity/gate.py melalui jalur absolut, sehingga
tidak diperlukan paket apothem yang dapat diimpor di host.
~/.claude/CLAUDE.md tetap milik operator. Adapter menulis satu blok Apothem
yang dibatasi sentinel ke dalamnya, yang memuat proyeksi profil (identitas,
preferensi, aturan, tingkat keseriusan, dan perilaku yang dipilih untuk
diaktifkan) serta bagian berkas pendukung Apothem, dan mempertahankan setiap
baris di luar sentinel apa adanya. Bagian berkas pendukung menyebutkan
direktori absolut tempat setiap kutipan bergaya repositori dalam aturan, skill,
dan agen yang terpasang di-resolve: rules/<name>.md di bawah
~/.claude/rules/, serta templates/..., schemas/..., hooks/..., dan
conformity/... di bawah ~/.claude/.apothem/support/. Bagian itu juga
menunjuk ke indeks aturan, ~/.claude/rules/apothem-rule-index.md. Bagian lain
dari permukaan tata kelola Apothem menjangkau Claude Code melalui pohon rules/
yang dipropagasikan dan hook SessionStart. OpenCode juga memuat
~/.claude/CLAUDE.md ketika tidak ada ~/.config/opencode/AGENTS.md, sehingga
blok tersebut tidak menyebut satu alat pun sebagai pembacanya.
Pemetaan profil ke konfigurasi native
Pada setiap apothem install atau apothem update, adapter mempropagasikan
korpus apothem bersama ke ~/.claude/ sesuai manifest propagasi. Adapter
menggunakan direktori native secara langsung bila memungkinkan dan mengonversi
prompt command menjadi folder skill. Anak terkelola-Apothem yang sudah ada dan
cocok dicadangkan sebelum penggantian; entri tak terkait yang ditulis operator
dipertahankan. settings.json digabungkan sehingga kunci yang ditulis operator
tetap dapat dipulihkan.
Berkas yang ditulis operator hanya dipertahankan di luar folder di bawah ini. Setiap pemasangan dan pembaruan menghapus setiap folder ini di bawah ~/.claude/ yang ada, apakah Apothem yang menulisnya atau bukan: src/, conformity/, schemas/, hooks/, config/, scripts/, tools/, lib/, templates/, docs/, tests/, packaging/, mcp/, examples/, assets/, site/, public/, dan commands/. Ia juga menghapus statuslines/__init__.py serta berkas AGENTS.md di agents/, rules/, skills/, statuslines/, dan output-styles/. Folder yang dihapus ikut terhapus seluruhnya, termasuk berkas yang Anda taruh di dalamnya. Perintah slash yang Anda simpan di commands/ juga dihapus, dan Apothem memasang prompt perintahnya sendiri sebagai skill di bawah skills/. Skrip hook yang Anda simpan di hooks/ dihapus, sehingga entri settings.json yang memanggilnya menunjuk ke berkas yang sudah tidak ada. Penyapuan berjalan sebelum pemasangan menulis berkasnya sendiri. Setiap jalur yang dihapus disalin ke ~/.apothem/backups/ terlebih dahulu, dan catatan pemasangan menyebutkan salinan itu. Pencopotan tidak memulihkannya. Untuk memulihkan jalur yang dihapus, jalankan apothem rollback --harness claude-code --install-id ID untuk pemasangan yang menghapusnya, seperti dijelaskan dalam referensi rollback. apothem rollback biasa hanya membalikkan pemasangan terbaru. Catatan pemasangan dan salinannya disimpan untuk 10 pemasangan terbaru, sehingga jalur yang dihapus hanya dapat dipulihkan selama pemasangannya masih termasuk di antara 10 tersebut. apothem diff --harness claude-code mencantumkan penghapusan ini sebagai Prune stale files sebelum Anda memasang.
Skill yang terpasang, dan skill yang dibundel dalam plugin Claude Code, membawa
user-invocable alih-alih userInvocable milik korpus sumber, karena Claude
Code hanya membaca kunci yang memakai tanda hubung. Dua kontainer templat
(plan-suite, research-suite) menyetelnya ke false, sehingga keduanya
tidak muncul di menu /. Setiap output style menyetel
keep-coding-instructions: true, sehingga memilih salah satunya tetap
mempertahankan instruksi rekayasa perangkat lunak bawaan Claude Code.
Keduanya juga membawa kunci frontmatter khusus Apothem (version, updated,
archetype, portability) di bawah map metadata: penutup berisi string
berkutip, dalam urutan tetap tersebut. Claude Code mengabaikan kunci tingkat
atas yang tidak dikenal, dan format skill terbuka menyimpan tambahan khusus
klien di metadata. Berkas sumber tidak berubah. Folder skill tingkat pengguna
(~/.agents/skills/, ~/.codebuddy/skills/, ~/.kiro/skills/, dan
~/.trae/skills/) memakai bentuk metadata yang sama, sehingga instalasi yang
berbagi folder tidak pernah saling menulis ulang berkas satu sama lain. Setiap
harness lain menerima kunci-kunci itu di tingkat atas seperti sebelumnya.
Aturan dan apa yang dimuat saat peluncuran
Claude Code memuat berkas aturan saat peluncuran kecuali frontmatter-nya
membawa daftar paths: yang membatasi lingkupnya. Dengan paths:, Claude Code
memuat aturan itu ketika membaca atau menyunting berkas yang cocok. Daftar yang
hanya berisi ** tidak membatasi apa pun, sehingga aturan itu juga dimuat saat
peluncuran; tidak ada aturan Apothem yang memakainya. Instalasi mengubah
pathFilter setiap aturan menjadi daftar tersebut. Lima aturan tidak membawanya dan dimuat di setiap sesi: agnostic-posture, authority-inquiry,
session-closure, context-management, dan indeks aturan,
apothem-rule-index. Setiap aturan lain dipasang di bawah ~/.claude/rules/
dengan paths: dan dimuat ketika berkas yang cocok disentuh.
Claude Code mencocokkan glob tersebut, dengan semantik .gitignore, terhadap
path berkas relatif terhadap direktori kerja, dan tidak pernah terhadap berkas
di luarnya. Direktori memori otomatis berada di bawah ~/.claude/projects/,
sehingga auto-memory dan auto-memory-topic-files tidak pernah dimuat lewat
kecocokan path. Menyunting ~/.claude/CLAUDE.md atau berkas di bawah
~/.claude/rules/ dari proyek lain juga tidak memuat aturan yang lingkupnya
dibatasi pada berkas-berkas itu. Aturan-aturan ini menjangkau sesi melalui
indeks.
Indeks menyebutkan setiap aturan dan situasi yang memerlukannya. Langkah yang
mengutip rules/<name>.md sebagai prosedurnya membaca berkas itu terlebih
dahulu. Setelah pemadatan konteks, baca lagi setiap aturan yang sedang Anda
terapkan: Claude Code tidak menyuntikkan ulang aturan berlingkup path sampai
berkas yang cocok disentuh lagi. Nama apothem-rule-index.md direservasi,
karena instalasi mencadangkan dan menimpa berkas aturan dengan nama itu.
Aturan yang mengatur permukaan Apothem sendiri dibatasi lingkupnya pada
CLAUDE.md, AGENTS.md, dan Markdown di bawah rules/, commands/, skills/,
agents/, hooks/, dan output-styles/. Repositori aplikasi jarang memuat
berkas-berkas itu, sehingga di repositori semacam itu aturan-aturan ini
menjangkau sesi melalui indeks, melalui skill, command, atau helper yang
mengutipnya, dan melalui hook, bukan melalui kecocokan path.
Salinan aturan ditulis tanpa bagian penutup ## Bindings, sama seperti skill
command. Bagian itu memuat rujukan timbal balik untuk pemelihara dan gerbang
konformitas. Berkas sumber mempertahankannya, demikian pula salinan yang
diterima harness lain.
Agar aturan berlingkup tetap aktif di setiap sesi, Anda dapat mencoba
mengimpornya dari teks di luar blok Apothem di ~/.claude/CLAUDE.md, misalnya
@rules/definitiveness.md. Halaman memori Claude Code mendokumentasikan impor
tersebut dan menyatakan bahwa path yang diimpor di-resolve relatif terhadap
berkas yang mengimpornya. Halaman itu tidak menyatakan bagaimana daftar paths
milik aturan yang diimpor diperlakukan, dan Apothem belum memverifikasi hal
ini. Periksa dengan hook InstructionsLoaded bahwa aturan itu dimuat saat
peluncuran dan tidak dimuat untuk kedua kalinya lewat kecocokan path.
Skill command dan berkas referensi
Setelah pemadatan konteks, Claude Code hanya melampirkan ulang 5.000 token
pertama dari setiap skill yang dipanggil, dan merekomendasikan SKILL.md
sekitar 500 baris atau kurang dengan detail di berkas-berkas saudara. Prompt
command mencapai 67 KB, sehingga emisi Claude Code memecah masing-masing
menjadi SKILL.md yang ramping ditambah berkas di bawah references/:
- Bagian
## Bindingsdibuang. Bagian itu adalah teks pemelihara untuk gerbang konformitas dan model tidak pernah membutuhkannya. - Pipeline Contract, Foundational Stanzas, Decision Tree, contoh, bagian mode, dan beberapa inventaris yang dikutip dipindahkan ke berkas referensi. Judulnya tetap, dan penunjuk satu baris di bawahnya menyebutkan berkas itu dan kapan harus membacanya. Penunjuk untuk Pipeline Contract dan Foundational Stanzas juga mencantumkan apa yang dicakup berkas tersebut.
- Ketika
SKILL.mdmasih melebihi 15.800 bita, langkah Workflow terbesar dipindahkan kereferences/step-NN-<slug>.md, dimulai dari yang terbesar, sampai muat. Slug adalah judul langkah tanpa awalanStep N:dan tanpa id mandat atau disiplin dalam kurung di akhir. Langkah di bawah 600 bita tetap inline. Jika itu belum cukup, bagian Output, Mandates, Critical Rules, dan Instructions dipindahkan dalam urutan itu. - Catatan singkat setelah pembuka memberi tahu model di mana berkas-berkas itu
berada (
${CLAUDE_SKILL_DIR}/references/) dan bahwa model MUST membaca ulang berkas yang mengatur langkahnya saat ini setelah pemadatan.
Setiap SKILL.md yang diemisikan, termasuk catatan ## Installed Reference Paths
yang ditambahkan instalasi, tetap berukuran paling banyak 17.000 bita untuk
akar instalasi hingga 140 karakter. Plugin mengirimkan berkas yang sama tanpa
catatan itu, dan command-nya adalah skill di bawah skills/, sehingga plugin
tidak memiliki folder commands/; pemanggilan /apothem:<name> tidak berubah.
Pemecahan ini deterministik dan dapat dibalik: teks SKILL.md dan berkas
referensinya membangun kembali command sumber tanpa Bindings. Berkas sumber,
dan keluaran untuk setiap harness lain, tidak berubah. Alat lain juga membaca
skill dari ~/.claude/skills/, sehingga alat-alat itu melihat berkas yang
sama; apothem install menyebutkan nama alat-alat tersebut.
Untuk melihat angka bagi setiap command, jalankan skrip pengukuran dari sebuah checkout:
python scripts/dev/measure_claude_skills.py # per-command table
python scripts/dev/measure_claude_skills.py --check # exit 1 on a breachSkrip ini melaporkan ukuran sumber, SKILL.md, dan referensi, ruang sisa
terhadap anggaran, serta perkiraan jumlah token, dan mencantumkan skill native
sebagai pembanding. research-suite, skill native yang sumbernya tidak
dipecah, adalah satu-satunya skill yang melebihi batas.
Catatan kompatibilitas
Prompt command dikonversi menjadi direktori skill dan aturan dirender seperti
dijelaskan di atas; skill dan output style disalin apa adanya, dan agen disalin
sebagaimana ditulis kecuali bahwa helper yang dicantumkan oleh kunci
agent_mcp_servers milik profil mendapat entri mcp__<server>__* per server
yang disebutkan di baris tools-nya (lihat
Server MCP).
Instalasi memvalidasi bahwa profil terbentuk
dengan baik dan semua ikatan hook di settings.json dapat di-resolve. Adapter
tidak menulis entri server MCP apa pun: daftarkan server dengan
claude mcp add (lihat Server MCP).
~/.claude/agents/ adalah direktori akar bersama yang dimiliki Claude Code,
demikian pula ~/.claude/skills/: alat lain yang didukung memuat folder-folder
itu, sehingga agen dan skill yang ditulis instalasi Claude Code di sana juga
muncul di alat-alat tersebut, dan instalasi mencetak catatan yang menyebutkan
alat-alat itu.
Registri harness mencantumkan pembaca
setiap direktori akar.
Claude Code menerapkan semua ikatan hook di settings.json pada setiap awal sesi. Setiap adapter diverifikasi terhadap harness native-nya sendiri — tidak ada harness "referensi" yang diistimewakan.
Batas aturan izin
Templat pengaturan menolak Read(...) pada jalur rahasia dan cache seperti
.env* dan ~/.ssh/**. Claude Code menerapkan penolakan Read pada alat
berkasnya, pada perintah berkas yang dikenalinya di Bash (cat, head,
tail, sed, tee), dan pada target pengalihan. Claude Code tidak menerapkan
penolakan itu pada pencarian yang membaca berkas tanpa menyebut namanya,
seperti grep -r pattern ., atau pada skrip yang membuka berkas sendiri
(referensi izin). Di macOS,
Linux, dan WSL, Claude Code tidak menyertakan alat Glob dan Grep dalam
kumpulan alat default dan melakukan pencarian melalui Bash sebagai gantinya,
sehingga entri allow Glob dan Grep milik templat hanya berlaku di tempat
alat-alat tersebut tersedia. Untuk memblokir setiap proses agar tidak membaca
suatu jalur, aktifkan sandbox Claude Code.
Skill dan definisi helper yang menyebut TodoWrite juga menyebut TaskCreate,
TaskGet, TaskList, dan TaskUpdate, karena Claude Code menonaktifkan
TodoWrite secara default dan mengutamakan alat-alat tersebut.
Verifikasi
apothem verify --harness claude-codePerintah verify memastikan bahwa:
- Konfigurasi native ada di jalur yang diharapkan.
- Setiap target terkelola ada; berkas terkelola tidak kosong, dan konfigurasi
JSON atau YAML dapat diurai. Tambahkan
--profile PATHuntuk juga memastikan bahwa berkas yang terpasang cocok dengan profil tersebut. - Rutin verifikasi khusus adapter melaporkan keberhasilan.
Pembaruan
apothem update --harness claude-codeMenurunkan ulang konfigurasi native dari profil bersama saat ini. Jalankan
setelah paket apothem yang terpasang diperbarui, sehingga permukaan konvensi
yang dipropagasikan (agen, aturan, skill, statusline, output-style)
mencerminkan versi baru. Di CLAUDE.md, perintah update hanya menulis ulang
blok Apothem di antara sentinelnya.
Pencopotan
apothem uninstall --harness claude-codeMenghapus blok Apothem dari ~/.claude/CLAUDE.md dan mempertahankan teks lain
di dalamnya. Berkas itu dihapus hanya jika tidak ada lagi isi lain di dalamnya.
Menghapus entri yang ditambahkan adapter ke ~/.claude/settings.json (aturan
izin, kunci, dan handler hook milik Anda tetap ada, dan berkas itu dihapus
hanya jika Apothem yang membuatnya dan tidak ada lagi milik Anda yang
tersisa). Juga menghapus berkas Apothem di ~/.claude/agents/,
~/.claude/rules/, ~/.claude/skills/, ~/.claude/statuslines/,
~/.claude/output-styles/, dan ~/.claude/.apothem/support/; berkas lain di
folder-folder tersebut tetap ada. Setiap berkas dicadangkan di bawah
~/.apothem/backups/ sebelum diubah atau dihapus.
Paket apothem yang terpasang dan repositori sumber tidak terpengaruh.
Gerbang konformitas
python -m apothem.conformity.gate --all .Saat dijalankan terhadap repositori, gerbang mewajibkan bagian ## Bindings
pada setiap aturan, command, helper, dan skill. Saat dijalankan terhadap pohon
~/.claude/ yang terpasang, gerbang menerima salinan aturan atau skill yang
tidak memiliki bagian tersebut, karena instalasi menghilangkannya, dan tetap
memeriksa bagian yang ada.
Pemecahan masalah
| Gejala | Perbaikan |
|---|---|
| Berkas konfigurasi tidak ditemukan | Jalankan ulang apothem install --harness claude-code |
| Verifikasi gagal | Jalankan apothem update --harness claude-code, lalu verifikasi lagi |
| Konten konfigurasi tidak terduga | Jalankan ulang apothem update; profil apothem bersama adalah sumber kebenaran, bukan ~/.claude/ |
Tombol konfigurasi
| Flag | Default | Deskripsi |
|---|---|---|
--dry-run | false | Pratinjau instalasi tanpa menulis berkas. |
Lihat juga
- Semua harness — katalog lengkap alat yang didukung
- Panduan instalasi — pasang Apothem ke dalam harness ini
- Referensi
apothem harnesses— tampilkan daftar dan periksa adapter dari CLI