Claude Code
Claude Code(GA)向けの Apothem ハーネスアダプター。
ベンダー: Anthropic
インストール名: claude-code
ステータス: GA
ネイティブ設定: ~/.claude/
インストール
apothem install --harness claude-codeclaude-code アダプターは、共有の Apothem コーパスを Claude Code のネイティブな検出ツリーに
インストールします。Markdown のエージェント、ルール、スキル、出力スタイル、設定は、それぞれの
ネイティブな場所にインストールされます。コマンドプロンプトはスキルに変換されるため、再利用可能な
ワークフローは、現在の Claude Code のスキル面を通じて見える状態に保たれます。ステータスライン
レンダラーは ~/.claude/statuslines/ にコピーされますが、接続はされません。Claude Code は
ステータスラインを statusLine 設定から読み取り、アダプターはこの設定を未設定のままにします。
有効にするには、~/.claude/statuslines/render.py を実行する "type": "command" の statusLine
エントリーを settings.json に追加してください。スニペットの commandWindows の値は Windows で
実行され、インタープリターを引用符なしで指定します。インタープリターのパスに空白が含まれる場合、
ボリュームが 8.3 形式の短い名前を持っていれば、インストールはその値に Windows 8.3 形式の短い形式を
書き込みます。settings.json のフックのエントリーは、完全なパスのまま残ります。
書き込まれるファイル: ~/.claude/ 配下の settings.json、CLAUDE.md 内の Apothem ブロック、
agents/、rules/、skills/、statuslines/、output-styles/、および .apothem/support/
サポートサブツリー(.apothem/support/hooks/、.apothem/support/conformity/、
.apothem/support/schemas/、.apothem/support/templates/)。
コマンドファイルは子スキルディレクトリに変換されます。
フックディスパッチャーとコンフォーミティゲートは、それぞれのマテリアライズされたコピーから実行されます。settings.json のフックエントリは ~/.claude/.apothem/support/hooks/dispatch.py と ~/.claude/.apothem/support/conformity/gate.py を絶対パスで呼び出すため、ホスト上にインポート可能な apothem パッケージは必要ありません。
~/.claude/CLAUDE.md は引き続きオペレーターの所有です。
アダプターはそこに、センチネルで区切られた Apothem ブロックを 1 つ書き込み、センチネルの外側のすべての行を一字一句そのまま保持します。このブロックには、プロファイルの投影(アイデンティティ、プリファレンス、ルール、シリアスネス、オプトインした振る舞い)と Apothem サポートファイルのセクションが含まれます。
サポートファイルのセクションは、インストールされたルール、スキル、エージェント内にあるリポジトリ形式の各参照が解決される先の絶対ディレクトリを示します。rules/<name>.md は ~/.claude/rules/ 配下に、templates/...、schemas/...、hooks/...、conformity/... は ~/.claude/.apothem/support/ 配下に解決されます。
また、ルールインデックス ~/.claude/rules/apothem-rule-index.md も指し示します。
Apothem のガバナンス面の残りは、伝播された rules/ ツリーと SessionStart フックを通じて Claude Code に届きます。
OpenCode も、~/.config/opencode/AGENTS.md が存在しない場合には ~/.claude/CLAUDE.md を読み込むため、このブロックは単一のツールを読み手として名指ししません。
プロファイルからネイティブ設定へのマッピング
apothem install または apothem update のたびに、アダプターは伝播マニフェストに従って共有の apothem コーパスを ~/.claude/ に伝播します。
アダプターは可能な場合はネイティブディレクトリを直接使用し、コマンドプロンプトをスキルフォルダーに変換します。
Apothem が管理する既存の一致する子要素は、置き換えの前にバックアップされます。無関係なオペレーター作成のエントリは保持されます。
settings.json はマージされるため、オペレーターが作成したキーは復元可能なままです。
オペレーターが作成したファイルは、以下のフォルダの外にのみ保持されます。インストールと更新のたびに、~/.claude/ 配下に存在する次の各フォルダが、Apothem が書き込んだかどうかにかかわらず削除されます:src/、conformity/、schemas/、hooks/、config/、scripts/、tools/、lib/、templates/、docs/、tests/、packaging/、mcp/、examples/、assets/、site/、public/、commands/。また、statuslines/__init__.py と、agents/、rules/、skills/、statuslines/、output-styles/ にある AGENTS.md ファイルも削除されます。削除されたフォルダは、その中に配置したファイルを含めて丸ごと削除されます。commands/ に保持したスラッシュコマンドも削除され、Apothem は独自のコマンドプロンプトを skills/ 配下のスキルとしてインストールします。hooks/ に保持したフックスクリプトも削除されるため、それを呼び出す settings.json のエントリーは何も指さない状態になります。このスイープは、インストールが独自のファイルを書き込む前に実行されます。削除された各パスは、まず ~/.apothem/backups/ にコピーされ、インストール記録にそのコピーの場所が記載されます。アンインストールでは復元されません。削除されたパスを復元するには、そのパスを削除したインストールに対して apothem rollback --harness claude-code --install-id ID を実行します(ロールバックのリファレンスに記載されています)。単に apothem rollback を実行すると、最新のインストールのみが取り消されます。インストール記録とそのコピーは、直近の 10 回分のインストールについて保持されるため、削除されたパスは、そのインストールが保持範囲に含まれている間だけ復元できます。インストールの前に apothem diff --harness claude-code を実行すると、これらの削除が Prune stale files として一覧に表示されます。
インストールされたスキルと、Claude Code プラグインに同梱されたスキルは、ソースコーパスの userInvocable の代わりに user-invocable を持ちます。Claude Code はハイフン付きのキーしか読み取らないためです。
2 つのテンプレートコンテナー(plan-suite、research-suite)はこれを false に設定しているため、/ メニューには表示されません。
すべての出力スタイルは keep-coding-instructions: true を設定しているため、いずれかを選択しても Claude Code の組み込みのソフトウェアエンジニアリング指示は維持されます。
どちらも、Apothem 専用のフロントマターキー(version、updated、archetype、portability)を、末尾の引用符付き文字列の metadata: マップの下に、この固定の順序で持ちます。
Claude Code は未知のトップレベルキーを無視し、オープンなスキル形式はクライアント固有の追加項目を metadata に保持します。
ソースファイルは変わりません。
ユーザーレベルのスキルフォルダー(~/.agents/skills/、~/.codebuddy/skills/、~/.kiro/skills/、~/.trae/skills/)も同じ metadata 形式を使うため、フォルダーを共有するインストールが互いのファイルを書き換えることはありません。
他のすべてのハーネスは、これまでどおりトップレベルでキーを受け取ります。
ルールと起動時に読み込まれるもの
Claude Code は、フロントマターにスコープを限定する paths: リストがない限り、起動時にルールファイルを読み込みます。
paths: がある場合は、一致するファイルを読み取るか編集したときにそのルールを読み込みます。
** だけからなるリストは何もスコープしないため、そのルールも起動時に読み込まれます。そのようなリストを使う Apothem のルールはありません。
インストールは各ルールの pathFilter をそのリストに変換します。
5 つのルールはそれを持たず、すべてのセッションで読み込まれます:agnostic-posture、authority-inquiry、session-closure、context-management、そしてルールインデックスの apothem-rule-index です。
他のすべてのルールは paths: 付きで ~/.claude/rules/ 配下にインストールされ、一致するファイルに触れたときに読み込まれます。
Claude Code はこれらの glob を、.gitignore のセマンティクスで、作業ディレクトリからの相対的なファイルのパスに照合し、その外にあるファイルには決して照合しません。
自動メモリのディレクトリは ~/.claude/projects/ 配下にあるため、auto-memory と auto-memory-topic-files がパスの一致で読み込まれることはありません。
別のプロジェクトから ~/.claude/CLAUDE.md や ~/.claude/rules/ 配下のファイルを編集しても、それらのファイルにスコープされたルールは読み込まれません。
これらのルールはインデックスを通じてセッションに届きます。
インデックスは各ルールと、それを必要とする状況を挙げます。
rules/<name>.md を手順として引用するステップは、まずそのファイルを読みます。
コンテキストのコンパクションの後は、適用していたルールを読み直してください。Claude Code は、一致するファイルに再び触れるまで、パスにスコープされたルールを再注入しません。
apothem-rule-index.md という名前は予約されています。インストールはその名前のルールファイルをバックアップしてから上書きするためです。
Apothem 自身の面を統制するルールは、CLAUDE.md、AGENTS.md、および rules/、commands/、skills/、agents/、hooks/、output-styles/ 配下の Markdown にスコープされています。
アプリケーションのリポジトリにそうしたファイルが含まれることはまれなので、そこではこれらのルールは、パスの一致ではなく、インデックス、それらを引用するスキル・コマンド・ヘルパー、およびフックを通じてセッションに届きます。
ルールのコピーは、コマンドスキルと同様に、末尾の ## Bindings セクションを除いて書き込まれます。
このセクションは、メンテナーとコンフォーミティゲートのための相互参照を保持します。
ソースファイルはこれを保持し、他のハーネスが受け取るコピーも同様です。
スコープ付きのルールをすべてのセッションで有効にしておくには、~/.claude/CLAUDE.md 内の Apothem ブロックの外にあるテキストから、たとえば @rules/definitiveness.md のようにインポートすることを試せます。
Claude Code のメモリのページはこのインポートを文書化しており、インポートされたパスはインポート元のファイルからの相対パスとして解決されると述べています。
インポートされたルールの paths リストがどう扱われるかは述べておらず、Apothem もこれを検証していません。
InstructionsLoaded フックを使って、そのルールが起動時に読み込まれ、パスの一致で 2 回目に読み込まれないことを確認してください。
コマンドスキルとリファレンスファイル
コンテキストのコンパクションの後、Claude Code は呼び出された各スキルの最初の 5,000 トークンだけを再添付し、SKILL.md をおよそ 500 行以下にして詳細を兄弟ファイルに置くことを推奨しています。
コマンドプロンプトは最大 67 KB に達するため、Claude Code 向けの出力は、それぞれをスリムな SKILL.md と references/ 配下のファイルに分割します。
## Bindingsセクションは除去されます。これはコンフォーミティゲートのためのメンテナー向けテキストであり、モデルが必要とすることはありません。- Pipeline Contract、Foundational Stanzas、Decision Tree、例、モードのセクション、およびいくつかの引用されたインベントリは、リファレンスファイルに移動します。見出しは残り、その下の 1 行のポインターがファイル名と、それを読むべきタイミングを示します。Pipeline Contract と Foundational Stanzas のポインターは、ファイルが扱う内容も列挙します。
- それでも
SKILL.mdが 15,800 バイトを超える場合、最も大きい Workflow のステップから順に、収まるまでreferences/step-NN-<slug>.mdに移動します。slug は、Step N:の接頭辞と末尾の括弧付きのマンデートまたはディシプリンの ID を除いたステップのタイトルです。600 バイト未満のステップはインラインのまま残ります。それでも足りない場合は、Output、Mandates、Critical Rules、Instructions のセクションがこの順に移動します。 - プリアンブルの後の短い注記が、ファイルの場所(
${CLAUDE_SKILL_DIR}/references/)と、コンパクションの後には現在のステップを統制するものを読み直さなければならない(MUST)ことをモデルに伝えます。
インストールが追記する ## Installed Reference Paths の注記を含め、出力されるすべての SKILL.md は、最大 140 文字のインストールルートに対して 17,000 バイト以下に収まります。
プラグインは同じファイルをその注記なしで同梱し、そのコマンドは skills/ 配下のスキルなので、commands/ フォルダーはありません。呼び出し /apothem:<name> は変わりません。
分割は決定的かつ可逆です。SKILL.md とそのリファレンスファイルのテキストから、Bindings を除いたソースコマンドが再構築されます。
ソースファイルと、他のすべてのハーネス向けの出力は変わりません。
他のツールも ~/.claude/skills/ からスキルを読むため、同じファイルを目にします。apothem install はそれらを挙げます。
すべてのコマンドの数値を確認するには、チェックアウトから計測スクリプトを実行します。
python scripts/dev/measure_claude_skills.py # per-command table
python scripts/dev/measure_claude_skills.py --check # exit 1 on a breachこれは、ソース、SKILL.md、リファレンスのサイズ、予算までの余裕、推定トークン数を報告し、比較のためにネイティブスキルを一覧表示します。
ソースが分割されないネイティブスキルである research-suite は、上限を超える唯一のスキルです。
互換性に関する注意
コマンドプロンプトはスキルディレクトリに変換され、ルールは上記のとおりにレンダリングされます。スキルと出力スタイルはそのままコピーされ、エージェントは書かれたとおりにコピーされます。ただし、プロファイルの agent_mcp_servers キーが挙げるヘルパーは、その tools 行に、指定された各サーバーにつき mcp__<server>__* エントリを 1 つ得ます(MCP サーバーを参照)。
インストールでは、プロファイルが整形式であること、および settings.json 内のすべてのフックバインディングが解決可能であることを検証します。
アダプターは MCP サーバーのエントリを一切作成しません。サーバーは claude mcp add で登録してください(MCP サーバーを参照)。
~/.claude/agents/ は Claude Code が所有する共有ルートであり、~/.claude/skills/ も同様です。他のサポート対象ツールがこれらのフォルダーを読み込むため、Claude Code のインストールがそこに書き込むエージェントとスキルはそれらのツールにも現れ、インストールはそれらのツールを挙げるメモを表示します。
ハーネスレジストリは、各ルートの読み手を一覧表示します。
Claude Code は、すべてのセッション開始時に settings.json 内のすべてのフックバインディングを適用します。各アダプターは、それぞれのネイティブなハーネスに対して検証されます。特権的な「参照」ハーネスは存在しません。
権限ルールの制限
設定テンプレートは、.env* や ~/.ssh/** などのシークレットとキャッシュのパスに対する Read(...) を拒否します。
Claude Code は Read の拒否を、自身のファイルツール、Bash 内で認識するファイルコマンド(cat、head、tail、sed、tee)、およびリダイレクト先に適用します。
ファイル名を指定せずにファイルを読み取る検索(grep -r pattern . など)や、自分でファイルを開くスクリプトには、この拒否を適用しません(権限リファレンス)。
macOS、Linux、WSL では、Claude Code は Glob ツールと Grep ツールをデフォルトのツールセットから外し、代わりに Bash を通じて検索します。そのため、テンプレートの Glob と Grep の許可エントリは、これらのツールが存在する環境でのみ有効になります。
あらゆるプロセスによるパスの読み取りをブロックするには、Claude Code のサンドボックスを有効にしてください。
TodoWrite を名指しするスキルとヘルパー定義は、TaskCreate、TaskGet、TaskList、TaskUpdate も名指しします。Claude Code は、これらのツールを優先して TodoWrite をデフォルトで無効にしているためです。
検証
apothem verify --harness claude-codeverify コマンドは次のことを確認します。
- ネイティブ設定が想定されたパスに存在すること。
- 管理対象の各ターゲットが存在すること。管理対象のファイルは空ではなく、JSON または YAML の設定は解析できること。
--profile PATHを追加すると、インストールされたファイルがそのプロファイルと一致することも確認します。 - アダプター固有の検証ルーチンが成功を報告すること。
更新
apothem update --harness claude-code現在の共有プロファイルからネイティブ設定を再導出します。
インストール済みの apothem パッケージが更新された後に実行し、伝播された規約面(エージェント、ルール、スキル、ステータスライン、出力スタイル)が新しいバージョンを反映するようにしてください。
CLAUDE.md では、update はセンチネルの間にある Apothem ブロックのみを書き換えます。
アンインストール
apothem uninstall --harness claude-code~/.claude/CLAUDE.md から Apothem ブロックを取り除き、その中にある他のテキストはそのまま残します。
ファイルが削除されるのは、中に他に何も残っていない場合のみです。
アダプターが ~/.claude/settings.json に追加したエントリを取り除きます(あなた自身の権限ルール、キー、フックハンドラーは残り、ファイルが削除されるのは、Apothem が作成したファイルで、かつあなたのものが何も残っていない場合のみです)。
また、~/.claude/agents/、~/.claude/rules/、~/.claude/skills/、~/.claude/statuslines/、~/.claude/output-styles/、~/.claude/.apothem/support/ 内にある Apothem のファイルを取り除きます。これらのフォルダー内の他のファイルはそのまま残ります。
各ファイルは、変更または削除される前に ~/.apothem/backups/ 配下にバックアップされます。
インストール済みの apothem パッケージとソースリポジトリには影響しません。
コンフォーミティゲート
python -m apothem.conformity.gate --all .リポジトリに対して実行すると、ゲートはすべてのルール、コマンド、ヘルパー、スキルに ## Bindings セクションを要求します。
インストールされた ~/.claude/ ツリーに対して実行すると、インストールがそのセクションを省くため、セクションのないルールやスキルのコピーを受け入れ、存在するセクションは引き続き検査します。
トラブルシューティング
| 症状 | 対処 |
|---|---|
| 設定ファイルが見つからない | apothem install --harness claude-code を再実行する |
| 検証が失敗した | apothem update --harness claude-code を実行してから、再度検証する |
| 想定外の設定内容 | apothem update を再実行する。信頼できる情報源は共有の apothem プロファイルであり、~/.claude/ ではない |
設定ノブ
| フラグ | デフォルト | 説明 |
|---|---|---|
--dry-run | false | ファイルを書き込まずにインストールをプレビューする。 |
関連項目
- すべてのハーネス — サポート対象ツールの完全なカタログ
- インストールガイド — このハーネスに Apothem をインストールする
apothem harnessesリファレンス — CLI からアダプターを一覧表示して調べる