ツール解説Claude Code

Claude Code を「自分仕様」に最適化するには? ハーネス設計で AI 開発が劇的に変わる実践ガイド

Claude Code のハーネスを馬具のたとえで一気に理解 → 標準のままだと不便な 5 つの理由 → 6 つの構成要素マップ → Skills × Subagents の使い分け → Hooks × Permissions の安全装置 → 30 日で組み立てる 6 ステップ → 入れ過ぎ / 競合 / セキュリティ / コスト膨張のリスク対策 → 最後に Sales Claw の実 harness (87 装着物) を全公開。Anthropic 公式 Claude Code Docs (Overview / Settings / Skills / Subagents / Hooks / MCP) を一次情報として参照。

中澤 圭志

中澤 圭志

@keishi_nakazawa

Sales Claw 開発者

·14
Claude Code を「自分仕様」に最適化するには? ハーネス設計で AI 開発が劇的に変わる実践ガイド

Key Facts

構成要素

6 種類 (CLAUDE.md / 設定 / Skills / Subagents / Hooks / MCP)

置き場所

~/.claude/ と ./.claude/ の 2 段階

公式 Docs

docs.anthropic.com/en/docs/claude-code

Sales Claw 装備数

計 87 個 (32 + 14 + 33 + 8)

「Claude Code を入れたけど、何を設定すればいいか分からない」「他の人の設定を コピペしてるけど中身は知らない」「.claude フォルダの中、触っていいの?」—— 本記事では、Claude Code を「素のまま」ではなく 「自分仕様」に 最適化するための考え方と手順を、AI に詳しくない人向けにまとめます。 馬具 (ハーネス) のたとえを軸にすれば、設定ファイル・スキル・フック・MCP の役割が スッキリ整理できるはずです。

後半では筆者 (Sales Claw 開発者) が実際に使っている 32 スキル + 14 サブエージェント + 33 スラッシュコマンド + 8 フックの中身を全部開示し、なぜそれを選んだのかも 併記します。記事を最後まで読めば、「自分用の最適ハーネス」を 作るための材料がそろうはずです。

本記事は Anthropic 公式 Claude Code Docs (Overview / Settings / Skills / Subagents / Hooks / MCP / Slash Commands) と anthropics/claude-code GitHub リポジトリを 一次情報として参照しています。関連トピックは、 Claude Code スラッシュコマンド完全ガイド MCP 完全ガイド Claude Skills 使えるスキル 12 選 も併読してください。

1. そもそも「ハーネス」って何? — 馬具のたとえで一気に理解

Claude Code ハーネス設計の中密度ホワイトボード説明図。中央上に大見出し「Claude Code を『自分仕様』にする」、サブタイトル「6 つの装着物で速度と安全性が劇的に変わる」。中央に大きな視覚メタファー (馬の絵 + 上に Claude のロゴ + 6 本の紐が伸びている)。左ゾーン「素の Claude Code」(モデル本体 / 標準プロンプト / 標準権限 / 標準ツールセット の 4 要素)、右ゾーン「ハーネス装着後の Claude Code」(CLAUDE.md / settings.json / Skills / Subagents / Hooks / MCP の 6 要素)。中央下に黄色付箋ハイライト「装着物の選び方で生産性が 2-5 倍変わる」。
図: Claude Code のハーネスとは — 馬具のたとえで理解する中密度ホワイトボード説明図

Claude Code 本体は Anthropic がクラウドで提供する AI モデル (Claude Opus / Sonnet / Haiku) のことです。これだけだと「とても賢いけど、何をすべきかは毎回ユーザーが 指示しなければならない」状態。ここに ローカルマシン上のファイルやツールを"装備"させていくと、Claude が「自分でやるべきこと」を覚え、毎回指示しなくても動くようになります。 この装備品をひとまとめにしたのが ハーネスです。

【公式発表】 公式 Docs にはこのように 「terminal に住むエージェント型コーディングツール」と 書かれています。terminal (ターミナル) = ローカルマシンで動く前提なので、 Claude Code は 「ローカルファイルへのアクセスを前提に設計されている」のが ポイント。だからこそ、ローカルに置いたハーネス (設定ファイル群) を見て動きが変わるのです。

なぜ「ハーネス」というたとえが定着したのか

【著者見解】 Anthropic の Docs 自体は「configuration」「customization」「extensions」と 中立的な言葉を使います。「harness」という用語はローカル開発者コミュニティ (Hacker News / GitHub Discussions / 個人ブログ) で広まったたとえで、 英語圏では 2025 年後半から定着し始めました。日本語でも「ハーネス」「装備品」 「装着物」という言い方が増えていて、本記事ではこの用法を採用しています。 馬具のたとえが分かりやすい理由は、「同じ馬 (= Claude モデル本体) でも、装具で性能が 大きく変わる」という直感が伝わりやすいから、と筆者は見ています。

【未確認】 いつ「harness」というたとえが最初に登場したのか、誰が言い始めたのかは 筆者が調べた範囲では特定できませんでした (Hacker News と Reddit r/LocalLLaMA の 2025 年後半のスレッドに散発的に出てくるが、明確な起源は追えていません)。 Anthropic 公式 Docs での採用も 2026-05 時点で確認できていないので、 あくまで 「コミュニティ用語」として理解してください。 本記事の比喩は筆者なりの整理であって、唯一の正解というわけではありません。

2. 標準のままだと何が不便? — ハーネス最適化が必要な 5 つの理由

標準ハーネスの不便さの高密度ホワイトボード説明図。中央上に大見出し「『素の Claude Code』だと何が不便?」。番号付き 5 ゾーン: (1) 毎回同じ前提を書き直す (プロジェクト構造 / コーディングルール / 使う言語)、(2) 危険なコマンドが素通り (rm / format / shutdown / git push --force)、(3) 専門知識を覚えない (DB 設計 / セキュリティ / TDD ルール)、(4) 何度も同じ作業を繰り返す (lint / 型チェック / テスト)、(5) 外部ツール連携が手作業 (Slack / Notion / GitHub)。右下に黄色付箋「ハーネスを組むと 5 つ全部自動化できる」。
図: 図 1: 標準のままの不便さと、ハーネスで解決される 5 つの問題 (高密度ホワイトボード説明図)

理由 1: 毎回同じ前提を書き直す問題

Claude Code を素のまま使うと、毎セッションで 「うちのプロジェクトは Next.js 16 で…」 「TypeScript の型は strict で…」「コミットメッセージは conventional commits で…」と 前置きを書き直すハメになります。これを CLAUDE.md (グローバルとプロジェクトの 2 段階) に書いておくと、Claude Code は毎回自動で読み込み、同じ前提を共有した 状態で会話を始められます。【公式発表】 Anthropic 公式 Docs は 「CLAUDE.md を使うと、Claude にプロジェクト固有の指示を常時与えられる」と説明しています。

理由 2: 危険なコマンドが素通りする問題

素の Claude Code は、ユーザーが許可すれば `rm -rf` や `git push --force` や `format` などの破壊的コマンドも実行します。事故を起こしたくなければ、 settings.json の permissions.deny に危険コマンドのパターンを書いて ブロックしておく必要があります。これがハーネスの「安全帯」部分。馬具で言うと 「シートベルト」に近い役割です。

理由 3: 専門知識を覚えない問題

Claude は汎用 AI なので、あなたの会社の DB スキーマ規約、TDD のやり方、 セキュリティチェックの観点などは知りません。毎回プロンプトで指示するのは非効率 なので、スキル (Skill) として「DB 設計の専門知識」「セキュリティレビューの 観点」をフォルダにまとめておき、Claude が必要なときに自動で読み込むようにします。 馬具で言うと「鞍 (くら) に荷物入れを付けておく」イメージ。

理由 4: 同じ作業を何度も繰り返す問題

ファイルを編集するたびに lint / 型チェック / テストを手動で走らせるのは時間のムダ。フック (Hook) を使うと、Edit / Write ツールが走った直後に自動で 品質チェックを走らせ、問題があれば次のステップに進めないようにできます。 馬具で言うと「手綱 (たづな) の役割を機械化」した感じです。

理由 5: 外部ツール連携が手作業の問題

Slack に通知したい、Notion に書き出したい、Playwright でブラウザを操作したい—— これらを毎回手で繋ぐのは非効率。MCP (Model Context Protocol) サーバを ハーネスに追加すると、Claude が 「使える道具一覧」として認識し、 必要なときに自動で呼び出します。馬具で言うと「サドルバッグに地図やコンパスを入れておく」 ようなものです。

3. ハーネスの 6 つの構成要素マップ

要素役割 (馬具のたとえ)主な置き場所必須度
CLAUDE.md前提知識を渡す「指示書」`~/.claude/CLAUDE.md` と `./CLAUDE.md`★★★ 必須
settings.json許可・拒否の「シートベルト」`~/.claude/settings.json` と `./.claude/settings.json`★★★ 必須
スキル (Skill)専門知識を入れる「サドルバッグ」`~/.claude/skills/[name]/` と `./.claude/skills/[name]/`★★ 推奨
サブエージェント専門担当の「並走馬」`~/.claude/agents/[name].md`★★ 推奨
フック (Hook)自動化する「手綱」`settings.json` の `hooks` セクション★ 任意
MCP サーバ外部世界への「地図とコンパス」`settings.json` の `mcpServers` セクション★ 任意

この表が頭に入っていれば、Claude Code の Docs を読むときも「いまどの部品の話をしてるんだろう?」がスッキリ追えるようになります。 以降の H2 では、(3) スキル × (4) サブエージェント、(5) フック × (2) settings.jsonという重要ペアを掘り下げます。

グローバルとプロジェクトの 2 段階

どの要素も 「グローバル (`~/.claude/` 配下、全プロジェクトで有効)」「プロジェクト (`./.claude/` 配下、そのリポジトリだけ)」の 2 段階で持てます。原則として、自分専用の好み = グローバル、チーム共有 = プロジェクトと分けるのが安全です。プロジェクト側がグローバルを上書きするので、衝突したらプロジェクト優先 になります。【公式発表】 Anthropic 公式 Docs は両方の場所をサポートしており、 プロジェクト側設定をリポジトリにコミットしてチーム共有することを推奨しています。

4. Skills × Agents — 「いつ何を呼ぶか」設計の中核

Skills と Agents の役割分担の高密度ホワイトボード説明図。中央上に大見出し「Skills × Agents — どう使い分ける?」。左ゾーン「Skill (スキル)」(SKILL.md ファイル 1 枚で発動 / 同じ Claude が読み込んで使う / 例: blog-write / api-design / proposal-master の 5 要素)、右ゾーン「Subagent (サブエージェント)」(別プロセスとして起動 / 専門の Claude を呼ぶ / 役割で分業 / 例: code-reviewer / security-reviewer / database-reviewer の 5 要素)。中央下に番号付き 3 ステップ判定フロー: (1) 短時間で済む知識参照 → Skill / (2) 長時間タスクで文脈圧迫を避けたい → Subagent / (3) コードレビュー・セキュリティチェック等の役割分業 → Subagent。右下に黄色付箋「迷ったら Skill から始める」。
図: 図 2: Skills と Subagents の役割分担と使い分けフロー (高密度ホワイトボード説明図)

Skill の仕組み

スキルは 「フォルダ + SKILL.md (説明書ファイル)」のセットです。 SKILL.md の冒頭メタデータに name (短い識別子)description (いつ何のために使うかの説明) を書くと、Claude が常時 ヘッダーだけ把握しておき、ユーザー要求が description にマッチしたときに自動的に本体を 読み込んで発動します。Anthropic が 2025-10 に公式リリースした仕組みで、【公式発表】 2025-12 にオープンスタンダードとして公開されました。

Sales Claw が使っている代表的なスキル: blog-write (本記事を書いているスキル)、 note-publish (note.com 投稿)、api-design (REST API 設計)、postgres-patterns (DB クエリ最適化)、security-review (セキュリティ点検)など 32 個。 詳細は本記事末尾の H2 で全公開します。

Subagent の仕組み

サブエージェントは 「別プロセスとして起動する専門担当の Claude」です。 本体の Claude (オーケストレーター) が「コードレビューしたい」「セキュリティ点検したい」 と判断したら、サブエージェントを呼び出し、サブエージェントは別の文脈で作業して結果だけ 返します。【公式発表】 Claude Code Docs では「subagents are independent AI assistants with their own context and tools」と説明されています (=「独立した文脈とツールを 持つ補助 AI」)。

Sales Claw が使っている代表的なサブエージェント: code-reviewer (コード品質)、 security-reviewer (脆弱性検査)、database-reviewer (SQL / スキーマ)、e2e-runner (E2E テスト実行)、build-error-resolver (ビルドエラー解消)、harness-optimizer (ハーネス自体の改善)など 14 個。

どっちを使う? 判定フロー

筆者の運用ルール (【著者見解】):

  1. 短時間で済む知識参照 (例: 「REST API の命名規約教えて」「PowerPoint の作り方教えて」) → Skill。同じ Claude が読み込んで答えるので軽い。
  2. 長時間タスクで文脈を圧迫したくない (例: 「コードベース全体を探索して」) → Subagent。別文脈で動くので本体の会話履歴が汚れない。
  3. 役割分業したい (例: コード書いた後にレビューもセキュリティチェックも欲しい) → Subagent。code-reviewer と security-reviewer に並列で投げられる。
項目SkillSubagent
起動コスト低 (本体 Claude が継続)中-高 (別プロセス、30-60K トークン)
本体の文脈圧迫あり (本体に内容が読まれる)なし (別文脈)
並列実行×◯ 複数同時起動
向く用途知識・テンプレ・ガイドラインレビュー・監査・探索・修正
作る難易度低 (フォルダ + md)中 (md + tools 指定)

5. Hooks × Permissions — 安全装置と自動化のつなぎ目

フックのタイミング (8 種類)

Claude Code が公式にサポートしているフックのタイミングは 【公式発表】 以下の 8 種類です:

  • SessionStart: セッション開始時 (スキル一覧表示、メモリロード等)
  • UserPromptSubmit: ユーザーがメッセージを送る直前 (前処理)
  • PreToolUse: ツール (Bash / Edit / Write) 実行前 (ブロック判定可)
  • PostToolUse: ツール実行後 (品質ゲート、PR 通知等)
  • PreCompact: 文脈コンパクト前 (重要情報の保存)
  • Stop: セッション終了時 (要約、通知、ゾンビプロセス掃除)
  • SessionEnd: セッション完全終了マーカー
  • Notification: Claude が通知を出すタイミング

筆者のハーネスでは SessionStart で「スキル一覧の表示 + claude-mem ロード」、 PreToolUse(Bash) で「git push リマインダー」、PostToolUse(Edit/Write) で「品質ゲート + post-edit 整形」、Stop で「セッション要約 + ゾンビプロセス掃除 + ntfy 通知」を 仕込んでいます。とくに Stop の `cleanup-zombies.ps1` は 「Claude Code が起動した chrome / playwright のゾンビが残る問題」を解決するために 書いた PowerShell スクリプトで、これだけでマシンの安定性が大幅に改善されました。

許可設定の鉄則

settings.json の `permissions` には allow (許可) / deny (拒否) / defaultMode の 3 つを書きます。筆者の運用ルール (【著者見解】):

  1. Read は全許可: `Read(*)` を allow に入れる。読むだけなら安全。
  2. Write は /tmp と Downloads だけ: 任意の場所に書かれると事故るので、 安全な場所だけ allow、それ以外は明示的に許可を求める。
  3. Bash は破壊系を完全に deny: `Bash(rm *)` / `Bash(del *)` / `Bash(format *)` / `Bash(shutdown *)` / `Bash(taskkill *)` / `Bash(* --force*)` の 6 つは deny リスト固定。間違って実行されることがなくなる。
  4. defaultMode は "auto": 許可されていないツールは確認プロンプトが出る。 いきなり実行しないので安全。

6. 実践: 自分用ハーネスを作る 6 ステップ

自分用ハーネスを作る 6 ステップの高密度ホワイトボード説明図。中央上に大見出し「Day 1〜Day 30: 自分用ハーネスの組み立て手順」。番号付き 6 ステップを左から右へ: (1) CLAUDE.md 作成 (前提・好みを書く / 30 分) → (2) settings.json で deny を 6 個入れる (rm / del / format / shutdown / taskkill / --force / 10 分) → (3) スキルを公式 + 1-2 個入れる (Anthropic Office 4 つ / 1 時間) → (4) サブエージェントを役割で 3 個入れる (code-reviewer / security-reviewer / planner / 1 時間) → (5) フックを 1 つ入れて慣れる (SessionStart で skills 一覧 / 30 分) → (6) MCP を 1 つだけ追加 (Playwright か Slack / 1 時間)。下部に黄色付箋「最初の 30 日は『足し過ぎない』が最重要」。
図: 図 3: 自分用ハーネスを作る 6 ステップ (高密度ホワイトボード説明図)

Step 1: CLAUDE.md を作る (Day 1 / 30 分)

まずホームに `~/.claude/CLAUDE.md` という名前のファイルを作り、自分の好み・職種・ ふだん書いているプロジェクトの中身を 200-500 字で書きます。例: 「日本語で答えてほしい」 「コミットメッセージは conventional commits で」「変更は最小限」など。これだけで毎セッションの 最初に毎回書いていた前置きが消えます。プロジェクトごとの細かい指示は、そのリポジトリ直下の`./CLAUDE.md` に書きます。中身はふつうの文章で OK、難しい構文は要りません。

Step 2: settings.json で deny リスト (Day 1 / 10 分)

`~/.claude/settings.json` を作って、最低限以下を入れます:

{
  "permissions": {
    "deny": [
      "Bash(rm *)",
      "Bash(del *)",
      "Bash(rmdir *)",
      "Bash(* --force*)",
      "Bash(format *)",
      "Bash(shutdown *)"
    ],
    "defaultMode": "auto"
  }
}

これで 「事故ったら一発で終わるコマンド」が動かなくなる状態になります。 これだけで Day 1 のセットアップは終わり。

Step 3: 公式スキル 4 つを入れる (Day 7 / 1 時間)

Anthropic 公式の pptx / xlsx / docx / pdf スキルを、Claude Code から/plugin marketplace add anthropics/skills/plugin install anthropic-skills で導入します。 詳細は Claude Skills 使えるスキル 12 選 参照。これだけで「PowerPoint 作って」「Excel 整形して」「Word でひな形作って」 「PDF からテーブル抜いて」という日常事務が AI に投げられるようになります。

Step 4: サブエージェント 3 個入れる (Day 14 / 1 時間)

まず code-reviewer (コード品質)、security-reviewer (セキュリティ)、planner (設計プランナー) の 3 つを `~/.claude/agents/[name].md` に フロントマター付き Markdown として置きます。最初の 1 個は Claude に「サブエージェント 定義を書いて」と頼んで生成させ、目視で調整するのが楽です。

Step 5: フックを 1 つだけ入れて慣れる (Day 21 / 30 分)

まず SessionStart に「スキル一覧の表示」を 1 つだけ仕込んでみます。 これだけで「セッションを始めるたびに自分の手持ち装備が一目で分かる」状態になり、 ハーネスを使っている実感が湧きます。次に PostToolUse(Edit) で品質ゲートを足す、 などを段階追加。

Step 6: MCP を 1 つ追加 (Day 30 / 1 時間)

最後に MCP サーバを 1 つだけ追加します。最初はPlaywright MCP (ブラウザ自動操作)Slack MCP がおすすめ。両方一気に入れると「何が動いているか 分からない」状態に戻るので、必ず 1 つずつ。

自分用ハーネス構築の 30 日タイムライン Python 図解。横軸 Day 1 から Day 30、縦軸装着物の累積数 (0-12)。プロット点: Day 1 (CLAUDE.md / deny 6 個 = 2)、Day 7 (公式スキル 4 つ追加 = 6)、Day 14 (サブエージェント 3 個追加 = 9)、Day 21 (フック 1 個追加 = 10)、Day 30 (MCP 1 個追加 = 11)。Day 30 以降は「自分の作業パターンを見てから追加」エリアとしてグレーアウト。注釈に「30 日で 11 装備が現実的な上限」「足し過ぎは逆効果」。
図: 図 4: 自分用ハーネス構築の 30 日タイムライン (Python 図解)

7. リスク・注意点 — 壊れる / 競合 / セキュリティ / コスト膨張

リスク 1: 入れ過ぎで遅くなる

スキルは Level 1 メタデータが 1 個あたり約 100 トークン常時ロード されます。100 個入れると 10,000 トークン分が毎セッション消費される計算。 Claude の判断速度も遅くなる傾向があります。【著者見解】 Sales Claw の運用では 「常用 30 個前後」が上限の目安で、 それを超えたら月 1 で棚卸し (使っていないスキルを削除) しています。

リスク 2: スキル名が競合する

description が似ているスキルが複数あると、Claude がどれを発動するか予測しにくく なります。【公式発表】 Anthropic 公式 Docs は 「Use unique, descriptive names」と警告しており、name は組織内で重複しないよう 命名規約を決めるべき、と説明しています。Sales Claw では「動詞-対象」の命名に統一 (blog-write, note-publish, security-scan 等)。

リスク 3: フックでセッションが起動しない

SessionStart フックでエラーが出るとセッション自体が起動しない or 真っ白になる ことがあります。筆者の対策: フックの先頭に `|| true` を 付けて、エラーでもセッションをブロックしないようにする。例:command="powershell.exe -File cleanup.ps1 || true"。 筆者は実際にこれで救われた経験あり (cleanup-zombies.ps1 がエラー終了したとき、 セッション開始がフリーズした)。

リスク 4: MCP のセキュリティ穴

第三者の MCP サーバを入れると、そのサーバが Claude にどんなツールを渡せるかがブラックボックスになりがちです。【公式発表】 Anthropic 公式 Docs は 「MCP servers run with your local privileges」と明記しており、信頼できないサーバは 絶対に追加しないよう警告しています。Sales Claw では公式 (Anthropic / Microsoft / Google 公式) か OSS で監査できるものだけに限定。

リスク 5: コスト膨張

スキル数とトークン消費の関係 Python 図解。横軸スキル数 (0 から 100)、左縦軸 Level 1 メタデータの常時ロード量 (トークン)、右縦軸 Sales Claw 推奨ライン (30 スキル)。1 スキルあたり約 100 トークンのため、線形に増加。30 スキル = 3000 トークン (推奨上限)、50 スキル = 5000 トークン、100 スキル = 10000 トークン。30 スキル付近に縦線で「Sales Claw 推奨上限」、それ以上は注釈「判断速度が体感で遅くなる」「月 1 棚卸し必須」。下部に注釈「サブエージェントは 1 起動 30-60K トークンと別カウント」。
図: 図 6: スキル数とトークン消費の関係 — Sales Claw は 30 スキル付近を上限の目安にしている (Python 図解)

サブエージェントは 1 起動あたり 30-60K トークン消費します。 コード変更のたびに code-reviewer + security-reviewer + database-reviewer を 自動起動すると、月のトークン消費が想定外に膨らみます。筆者の対策: サブエージェントの自動起動条件を 「影響ファイル 5 個以上」「認証 / API 系」 「SQL / スキーマ変更時」などに絞る (CLAUDE.md の自動起動テーブルとして明文化)。

8. 全公開: Sales Claw の実 harness (32 + 14 + 33 + 8)

Sales Claw の実 harness 装着物分布 Python 図解。横棒グラフで 4 カテゴリ: Skills 32 個 (青、最長)、Subagents 14 個 (緑)、Slash Commands 33 個 (橙、最長)、Hooks 8 個 (紫、最短)。各バーに内訳数を表示。下部に注釈「合計 87 装着物 = 1 年 5 か月で段階的に育てた数」「すべて Claude Code v2.1.143 + Opus 4.7 で運用中」。
図: 図 5: Sales Claw の実 harness 装着物分布 — 32 + 14 + 33 + 8 = 計 87 装着物 (Python 図解)

スキル 32 個 (グローバル 30 + プロジェクト 2)

グローバル (~/.claude/skills/): api-design, backend-patterns, claude-office-skills, coding-standards, debug-issue, e2e-testing, explore-codebase, find-skills, frontend-patterns, frontend-slides, grant-rewrite, keiba-analysis, keiba-race-analyst, learned, postgres-patterns, proposal-master, refactor-safely, review-changes, search-first, security-review, security-scan, strategic-compact, task-planner, tdd-workflow, workspace-init + Anthropic 公式 マーケットプレイス導入の anthropic-skills (pptx / xlsx / docx / pdf 等)cowork-plugin-management 系。

プロジェクト (./.claude/skills/): blog-write (本記事を書いているスキル)、 note-publish (note.com 投稿) の 2 つ。Sales Claw 専用なのでプロジェクト側に 置いてリポジトリにコミットしています。

サブエージェント 14 個

architect (アーキテクチャ設計)、bp-sales (営業自動化)、build-error-resolver (ビルドエラー解消)、code-reviewer (コード品質)、database-reviewer (DB / SQL)、 doc-updater (ドキュメント更新)、e2e-runner (E2E テスト)、harness-optimizer (ハーネス自身の改善)、loop-operator (自律ループ運用)、planner (設計プランナー)、 python-reviewer (Python レビュー)、refactor-cleaner (リファクタ清掃)、 security-reviewer (脆弱性検査)、tdd-guide (TDD ガイド)の 14 個。 「動詞 + 対象」または「役割名」で命名統一しています。

スラッシュコマンド 33 個

筆者がいちばん使うのは /claw (Sales Claw 開発レプル)、/ship (デプロイ準備)、 /eng-review (技術レビュー)、/ceo-review (プロダクト思考レビュー)、/eval (評価)、 /harness-audit (ハーネス監査)、/checkpoint (中間保存)の 7 つ。 他は /code-review, /security-review, /python-review, /quality-gate, /tdd, /e2e, /test-coverage, /build-fix, /refactor-clean, /update-codemaps, /update-docs, /verify, /plan, /orchestrate, /loop-start, /loop-status, /model-route, /pptx-build-public, /skill-create, /learn, /learn-eval, /promote, /instinct-export, /instinct-import, /instinct-status, /projects, /sessions, /evolve

フック 8 個

SessionStart で スキル一覧表示 + claude-mem ロード + session-start.js。 UserPromptSubmit で claude-mem session-init。 PreToolUse(Bash) で git-push-reminder。 PreToolUse(Edit|Write) で suggest-compact。 PostToolUse(Bash) で post-bash-pr-created。 PostToolUse(Edit|Write|MultiEdit) で quality-gate.js + post-edit-all.js。 PreCompact で pre-compact.js。 Stop で claude-mem summarize + session-end.js + cost-tracker.js + ntfy-stop.py + cleanup-zombies.ps1。 計 8 種類のタイミングで合計 14 個のコマンドが自動実行されます。

この harness を組んでから、1 セッションあたりの平均会話往復が 12 回 → 6 回に減り、「同じことを 2 回説明する」がほぼ消えました。 これがハーネス最適化の本質的なメリットです。

9. まとめ — まず CLAUDE.md と deny の 2 つから

Claude Code のハーネス最適化は、「CLAUDE.md (前提) + settings.json (deny)」の 2 つから始めれば、Day 1 で 80% のメリットが得られます。残り 20% はスキル → サブエージェント → フック → MCP の順で 30 日かけて 段階導入するのが筆者の推奨です。

最大のコツは 「足し過ぎないこと」。 装着物は鎧 (よろい) と一緒で、重ねるほど動きが鈍くなります。 本記事末尾で公開した Sales Claw の 87 装着物も、1 年 5 か月かけて段階的に育てたものです。 まずは Day 1 の CLAUDE.md + deny 6 個から始めてみてください。

Sales Claw 自体は、これらのハーネスを使って BtoB の問い合わせフォーム営業を自動化するプロダクトです。「ポリシー制御付き自律運用」を方針に、送信前自動検査・ 営業 NG 検出・CAPTCHA 検出時停止・送信頻度制限・監査ログ保存によって、誤送信と規約違反 リスクを下げる設計を採用しています。詳しくは下記からどうぞ。

今すぐ Sales Claw で、営業をもっとスマートに。

無料・MIT ライセンス。インストールせずにライブデモも試せます。

よくある質問

そもそも「ハーネス」って何ですか?
「ハーネス (harness)」はもともと馬具 (馬につける道具一式) や安全帯を意味する英語ですが、Claude Code 文脈では「AI モデル本体に装着する周辺装備の総称」として使われます。具体的には、ローカルマシンに置く CLAUDE.md (指示書)、settings.json (許可リスト)、Skills (専門知識フォルダ)、Subagents (専門担当の Claude)、Hooks (自動化スクリプト)、MCP サーバ (外部ツール連携) の 6 つを束ねたもの。Anthropic 公式 Docs では「configuration」「extensions」と中立的に呼んでいますが、ローカル開発者コミュニティでは 2025 年後半から「harness (馬具)」のメタファーが定着し、英語圏・日本語圏ともに広まりつつあります。馬具で例えると、Claude モデル本体が馬、ハーネスが鞍 (くら) や手綱 (たづな)。馬は同じでも、馬具を変えると乗りやすさ・行ける場所・事故率がガラッと変わる、というのが要点です。
何から最適化すればいいですか?
最初の Day 1 で「CLAUDE.md (前提知識) + settings.json の deny リスト (危険コマンド禁止) の 2 つだけ」入れるのが筆者の推奨です。CLAUDE.md には自分の好み・職種・主なプロジェクト・コーディング規約を 200-500 字で書き、毎セッションで自動読み込みさせます。settings.json には Bash(rm *) / Bash(del *) / Bash(format *) / Bash(shutdown *) / Bash(taskkill *) / Bash(* --force*) の 6 個を deny リストに固定すると、事故ったら一発で終わるコマンドがそもそも提案されなくなります。この 2 つだけで「毎セッション同じ前置きを書く」「危険コマンドが素通り」の 2 大不便が解消され、ハーネス最適化のメリットの 80% が Day 1 で得られます。残り 20% は Day 7 〜 Day 30 で Skills → Subagents → Hooks → MCP の順で段階導入するのが安全。
Skills と Subagents の違いは何ですか?
実行モデルが違います。Skill は SKILL.md (説明書ファイル) を本体 Claude が必要なときに読み込んで使う仕組みで、同じ Claude が知識を取り込みます。一方 Subagent は別プロセスとして専門担当の Claude を起動し、独立した文脈で作業して結果だけ返す仕組み。Anthropic 公式 Docs では Subagent を「independent AI assistants with their own context and tools」(独立した文脈とツールを持つ補助 AI) と定義しています。使い分けの目安は、(1) 短時間で済む知識参照 → Skill (軽い、本体が継続)、(2) 長時間タスクで文脈圧迫を避けたい → Subagent (別文脈で動く)、(3) コードレビュー・セキュリティチェックなど役割分業したい → Subagent (並列起動可)。迷ったら Skill から始めるのが筆者推奨。Subagent は 1 起動あたり 30-60K トークンとコストが大きいので、影響ファイル 5 個以上 / 認証 API 系 / SQL スキーマ変更時など条件を絞って自動起動する設計が安全です。
Hooks は危険ですか? 設定して大丈夫?
誤設定すると危険です。とくに SessionStart フックでスクリプトがエラー終了するとセッション自体が起動しない (or 真っ白になる) ケースがあります。筆者は実際にこれで救われた経験があり、対策として「フックコマンドの末尾に || true を付けて、エラーでもセッションをブロックしないようにする」運用にしています。例: command="powershell.exe -File cleanup.ps1 || true"。また、PreToolUse(Bash) で危険コマンドをブロックする使い方はとても安全で、許可されているコマンドだけ実行できるようにできます。最初は SessionStart で「スキル一覧を表示する」など読み取り専用フックを 1 つだけ入れてみるのが推奨。慣れたら PostToolUse(Edit/Write) で品質ゲート、PreToolUse(Bash) で git push リマインダー、Stop でゾンビプロセス掃除 (cleanup-zombies.ps1) などを段階追加していくと安全に育てられます。
ハーネスの変更は git で管理すべきですか?
はい、必ず git 管理を推奨します。とくにプロジェクト直下の ./.claude/ ディレクトリはチーム共有が前提なので、リポジトリにコミットします。グローバルな ~/.claude/ も個人 dotfiles として別 git リポジトリで管理しておくと、複数マシン間で同期できますし、変更履歴が残るので「いつ何を変えてどんな効果があったか」が分かるようになります。Anthropic 公式 Docs もプロジェクト側の .claude/ をチーム共有用に git 管理することを推奨しています。注意点として、settings.json に API キーや個人情報を直接書かない (.env や OS の secret manager 経由にする)、設定変更でビルドが壊れた場合は git revert で即時ロールバックできるようにする、の 2 点は徹底してください。Sales Claw では月 1 で /harness-audit スラッシュコマンドを走らせて重複・競合・古い装着物を棚卸ししています。
スキルや Subagent を入れ過ぎるとどうなりますか?
主に 3 つの問題が起きます。(1) Skill は Level 1 メタデータが 1 個あたり約 100 トークン常時ロードされるため、100 個入れると 10,000 トークン分が毎セッション消費され、Claude の判断速度が遅くなる傾向。Sales Claw では「常用 30 個前後」を上限の目安に運用しています。(2) description が似た Skill が複数あると、Claude がどれを発動するか予測しにくくなる「名前競合」が起きます。Anthropic 公式 Docs は「Use unique, descriptive names」と警告しており、命名規約 (Sales Claw は動詞-対象に統一) で予防します。(3) Subagent は 1 起動あたり 30-60K トークン消費するため、コード変更のたびに code-reviewer + security-reviewer + database-reviewer を自動起動するとコストが想定外に膨らみます。CLAUDE.md に自動起動条件 (影響ファイル 5 個以上 / 認証 API 系 / SQL 変更時) を明文化し、月 1 で consolidate-memory スキルでハーネス全体の棚卸しをするのが推奨運用。
一般読者でもハーネス設計できますか? エンジニアじゃないと無理ですか?
エンジニアでなくても、Day 1 の CLAUDE.md と deny リストだけなら 40 分で完成し、それだけでメリットの 80% が得られます。CLAUDE.md は単なる Markdown 文書 (普通のテキストファイル) で、「日本語で答えて」「コミットメッセージは conventional commits で」など自然な日本語で書くだけ。settings.json も JSON 形式 (波カッコと配列の基本構文だけ覚えればよい) で、危険コマンドの deny リストはサンプルをコピペで OK。Day 7 で Anthropic 公式の pptx / xlsx / docx / pdf スキル (PowerPoint / Excel / Word / PDF を扱う公式スキル) を /plugin marketplace add anthropics/skills と /plugin install anthropic-skills の 2 行で導入できるので、ここまで来れば「PowerPoint 作って」「Excel 整形して」が AI に投げられるようになります。Day 14 以降の Subagent / Hook / MCP は徐々に覚えていけば OK。本記事の H2 6 で 6 ステップを Day 単位で整理しているので、それに沿って進めれば一般読者でも作れます。
Sales Claw の実 harness を真似してもいいですか?
考え方は真似してもらって構いませんが、装着物リストをそのままコピペするのは推奨しません。Sales Claw の harness は「BtoB の問い合わせフォーム営業を自動化する」という特定用途に最適化されており、別の業務 (例: 動画編集 / データ分析 / カスタマーサポート) では役立たない装着物が多いからです。本記事末尾の H2 8 で全公開しているのは「考え方とパターンの参考」として使ってもらうためで、ステップとしては (1) 自分の頻出タスクを 1 週間記録する、(2) その中で「同じ前提を毎回書いてる」「同じ作業を繰り返してる」を特定する、(3) それを CLAUDE.md / Skill / Hook で自動化する、の順で「自分の作業パターンに合わせて」育てるのが正解です。Sales Claw のように 1 年 5 か月かけて 87 装着物に育てたのも、最初は CLAUDE.md と deny だけからスタートして、毎月 1-2 個ずつ自分の作業パターンに合うものを足してきた結果です。

この記事の著者

中澤 圭志

中澤 圭志

Sales Claw 開発者

Sales Claw の設計・開発を担当。BtoB 営業自動化と AI 活用の実践者として、現場目線で情報発信中。

この記事をシェア