AIコンサルのコラム一覧に戻る
AIコンサル

Claude Code完全ガイド|Skills・Hooks・MCP・サブエージェント——10ヶ月使い込んだ設定を徹底解説

2026-01-21濱本

Claude CodeをAnthropicの実験的リリースから10ヶ月間毎日使い続けた@affaanmustafa氏による完全ガイドの日本語版。Skills、Hooks、サブエージェント、MCP、プラグインなど、Claude Codeを最大限に活用するための設定とワークフローを徹底解説します。Anthropic x Forum Venturesハッカソン優勝者が明かす実践的なTipsを紹介。

Claude Code完全ガイド|Skills・Hooks・MCP・サブエージェント——10ヶ月使い込んだ設定を徹底解説
シェア

株式会社TIMEWELLの濱本です。

この記事は、XでバズっているClaude Code完全ガイド「The Shorthand Guide to Everything Claude Code」(@affaanmustafa)を日本語化したものです。

著者の@affaanmustafa氏は、2025年2月の実験的リリースから10ヶ月間毎日Claude Codeを使用し、Anthropic x Forum VenturesハッカソンでZenithというプロダクトで優勝した実績を持つ方です。

Claude Code設定の全体像

設定項目 概要
Skills 特定のワークフローに限定されたルール・プロンプトのショートカット
Commands スラッシュコマンドで実行可能なスキル
Hooks ツール呼び出しやライフサイクルイベントに基づくトリガー自動化
Subagents メインClaudeが限定スコープでタスクを委任できるプロセス
Rules Claudeが常に従うべきベストプラクティス
MCPs Claudeを外部サービスに接続するModel Context Protocol
Plugins 簡単にインストールできるツールのパッケージ

Skills(スキル)とCommands(コマンド)

Skillsは、特定のスコープやワークフローに制限されたルールのようなものです。特定のワークフローを実行する際のプロンプトのショートカットとして機能します。

活用例

  • Opus 4.5との長いコーディングセッション後に、デッドコードや不要な.mdファイルをクリーンアップしたい → /refactor-clean
  • テストが必要 → /tdd/e2e/test-coverage

Skillsとコマンドは、単一のプロンプトで連鎖させることができます。

ディレクトリ構造

# Skillsの構造
~/.claude/skills/
  pmx-guidelines.md      # プロジェクト固有のパターン
  coding-standards.md    # 言語のベストプラクティス
  tdd-workflow/          # README.mdを含む複数ファイルスキル
  security-review/       # チェックリストベースのスキル

SkillsとCommandsの違い

項目 Skills Commands
保存場所 ~/.claude/skills ~/.claude/commands
用途 より広いワークフロー定義 素早く実行可能なプロンプト
実行方法 参照される スラッシュコマンドで実行

実践的なスキル例:コードマップ更新

チェックポイントでコードマップを更新するスキルを作成できます。これにより、Claudeがコンテキストを消費せずにコードベースを素早くナビゲートできます。

# ~/.claude/skills/codemap-updater.md
# コードマップを定期的に更新するスキル

Hooks(フック)

Hooksは、特定のイベントに対して発火するトリガーベースの自動化です。Skillsとは異なり、ツール呼び出しやライフサイクルイベントに制限されています。

Hookの種類

フックタイプ タイミング 用途例
PreToolUse ツール実行前 検証、リマインダー
PostToolUse ツール完了後 フォーマット、フィードバックループ
UserPromptSubmit メッセージ送信時 入力の前処理
Stop Claude応答完了時 後処理、監査
PreCompact コンテキスト圧縮前 重要情報の保存
Notification パーミッション要求時 承認フロー

実践例:長時間コマンド前のtmuxリマインダー

{
  "PreToolUse": [
    {
      "matcher": "tool == \"Bash\" && tool_input.command matches \"(npm|pnpm|yarn|cargo|pytest)\"",
      "hooks": [
        {
          "type": "command",
          "command": "if [ -z \"$TMUX\" ]; then echo '[Hook] セッション永続化のためtmuxを検討してください' >&2; fi"
        }
      ]
    }
  ]
}

ProTip

hookifyプラグインを使用すると、JSONを手動で書く代わりに会話形式でHooksを作成できます。/hookifyを実行して、やりたいことを説明するだけです。


Subagents(サブエージェント)

Subagentsは、メインのオーケストレーター(メインClaude)が限定されたスコープでタスクを委任できるプロセスです。バックグラウンドまたはフォアグラウンドで実行でき、メインエージェントのコンテキストを解放します。

Subagentsの利点

  • Skillsと連携して、スキルのサブセットを実行可能なサブエージェントにタスクを委任
  • 特定のツールパーミッションでサンドボックス化可能
  • 自律的にスキルを使用

ディレクトリ構造

# サブエージェントの構造
~/.claude/agents/
  planner.md           # 機能実装の計画
  architect.md         # システム設計の決定
  tdd-guide.md         # テスト駆動開発
  code-reviewer.md     # 品質・セキュリティレビュー
  security-reviewer.md # 脆弱性分析
  build-error-resolver.md
  e2e-runner.md
  refactor-cleaner.md

各サブエージェントに対して、許可されるツール、MCP、パーミッションを適切にスコープ設定することが重要です。


Rules(ルール)とMemory(メモリ)

.rulesフォルダには、Claudeが常に従うべきベストプラクティスを記述した.mdファイルを配置します。

2つのアプローチ

  1. 単一のCLAUDE.md - すべてを1ファイルに(ユーザーレベルまたはプロジェクトレベル)
  2. Rulesフォルダ - 関心事ごとにグループ化されたモジュラーな.mdファイル

ディレクトリ構造

~/.claude/rules/
  security.md      # ハードコードされた秘密禁止、入力検証
  coding-style.md  # 不変性、ファイル構成
  testing.md       # TDDワークフロー、80%カバレッジ
  git-workflow.md  # コミット形式、PRプロセス
  agents.md        # サブエージェントへの委任タイミング
  performance.md   # モデル選択、コンテキスト管理

ルールの例

  • コードベースに絵文字を使わない
  • フロントエンドで紫色を避ける
  • デプロイ前に必ずコードをテスト
  • 巨大ファイルよりモジュラーコードを優先
  • console.logをコミットしない

MCP(Model Context Protocol)

MCPは、Claudeを外部サービスに直接接続します。APIの代替ではなく、APIのプロンプト駆動ラッパーであり、情報のナビゲーションにおいてより柔軟性を提供します。

活用例

  • Supabase MCP: Claudeが特定のデータを取得し、コピー&ペーストなしで直接SQLを実行
  • Chrome in Claude: Claudeがブラウザを自律的に操作し、動作を確認

重要:コンテキストウィンドウ管理

MCPの選択は慎重に。すべてのMCPをユーザー設定に保持しつつ、未使用のものはすべて無効化することを推奨します。

注意点:

  • 圧縮前の200kコンテキストウィンドウが、有効なツールが多すぎると70kになる可能性
  • パフォーマンスが大幅に低下

目安

項目 推奨値
設定内のMCP数 20〜30
有効なMCP数 10未満
アクティブなツール数 80未満

/pluginsでナビゲートするか、/mcpを実行してインストール済みMCPとそのステータスを確認できます。


Plugins(プラグイン)

Pluginsは、面倒な手動セットアップの代わりに、簡単にインストールできるツールをパッケージ化したものです。スキル + MCPの組み合わせや、Hooks/ツールのバンドルが可能です。

プラグインのインストール

# マーケットプレイスを追加
claude plugin marketplace add https://github.com/mixedbread-ai/mgrep

# Claudeを開き、/pluginsを実行、新しいマーケットプレイスを見つけてインストール

LSPプラグイン

エディタ外でClaude Codeを頻繁に実行する場合に特に有用です。Language Server Protocolにより、IDEを開かなくてもClaudeがリアルタイムの型チェック、定義へのジャンプ、インテリジェントな補完を取得できます。

# 有効なプラグインの例
typescript-lsp@claude-plugins-official  # TypeScriptインテリジェンス
pyright-lsp@claude-plugins-official     # Python型チェック
hookify@claude-plugins-official         # 会話形式でHooks作成
mgrep@Mixedbread-Grep                   # ripgrepより優れた検索

MCPと同様、コンテキストウィンドウに注意してください。


Tips & Tricks

キーボードショートカット

ショートカット 機能
Ctrl+U 行全体を削除(バックスペース連打より高速)
! 素早いbashコマンドプレフィックス
@ ファイル検索
/ スラッシュコマンドを開始
Shift+Enter 複数行入力
Tab thinking表示の切り替え
Esc Esc Claudeを中断 / コードを復元

並列ワークフロー

/fork - 重複しないタスクを並列で行うために会話をフォーク。キューに溜まったメッセージを連発する代わりに使用

Git Worktrees - 重複する並列Claudeで競合なしに作業。各worktreeは独立したチェックアウト

git worktree add ../feature-branch feature-branch
# 各worktreeで別々のClaudeインスタンスを実行

tmuxで長時間コマンドを実行

Claudeが実行するログやbashプロセスをストリーミングして監視できます。

tmux new -s dev
# Claudeがここでコマンドを実行、デタッチして再アタッチ可能
tmux attach -t dev

mgrep > grep

mgrepはripgrep/grepからの大幅な改善です。プラグインマーケットプレイスからインストールし、/mgrepスキルを使用します。ローカル検索とウェブ検索の両方に対応。

mgrep "function handleSubmit"  # ローカル検索
mgrep --web "Next.js 15 app router changes"  # ウェブ検索

その他の便利なコマンド

コマンド 機能
/rewind 以前の状態に戻る
/statusline ブランチ、コンテキスト%、todosでカスタマイズ
/checkpoints ファイルレベルのアンドゥポイント
/compact 手動でコンテキスト圧縮をトリガー

エディタ設定

エディタは必須ではありませんが、Claude Codeワークフローにプラスまたはマイナスの影響を与える可能性があります。優れたエディタと組み合わせることで、リアルタイムのファイル追跡、素早いナビゲーション、統合されたコマンド実行が可能になります。

Zed(著者のおすすめ)

Rustベースのエディタで、軽量、高速、高度にカスタマイズ可能です。

ZedがClaude Codeと相性が良い理由:

機能 詳細
Agent Panel統合 Claudeがファイルを編集するのをリアルタイムで追跡
パフォーマンス Rust製、瞬時に起動、大規模コードベースでもラグなし
CMD+Shift+R すべてのカスタムスラッシュコマンドに素早くアクセス
最小リソース使用 重い操作中にClaudeとリソースを取り合わない
Vimモード フルvimキーバインディング対応

ベストプラクティス:

  • 画面分割 - 片側にClaude Code付きターミナル、もう片側にエディタ
  • Ctrl + G - Claudeが現在作業中のファイルをZedで素早く開く
  • 自動保存 - Claudeのファイル読み取りが常に最新になるように有効化
  • Git統合 - コミット前にClaudeの変更をレビュー
  • ファイルウォッチャー - 変更されたファイルの自動リロードを確認

VSCode / Cursor

これも実行可能な選択肢です。ターミナル形式で使用でき、\ideを使用してエディタと自動同期してLSP機能を有効にできます(プラグインで多少冗長)。または、エディタとより統合されたマッチするUIを持つ拡張機能を選択できます。


著者の実際の設定

有効なプラグイン(通常4〜5個のみ有効)

ralph-wiggum@claude-code-plugins       # ループ自動化
frontend-design@claude-code-plugins    # UI/UXパターン
commit-commands@claude-code-plugins    # Gitワークフロー
security-guidance@claude-code-plugins  # セキュリティチェック
pr-review-toolkit@claude-code-plugins  # PR自動化
typescript-lsp@claude-plugins-official # TSインテリジェンス
hookify@claude-plugins-official        # Hook作成
code-simplifier@claude-plugins-official
feature-dev@claude-code-plugins
explanatory-output-style@claude-code-plugins
code-review@claude-code-plugins
context7@claude-plugins-official       # ライブドキュメント
pyright-lsp@claude-plugins-official    # Python型
mgrep@Mixedbread-Grep                  # より良い検索

MCPサーバー(ユーザーレベル設定)

{
  "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
  "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"] },
  "supabase": {
    "command": "npx",
    "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=YOUR_REF"]
  },
  "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] },
  "sequential-thinking": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
  },
  "vercel": { "type": "http", "url": "https://mcp.vercel.com" },
  "railway": { "command": "npx", "args": ["-y", "@railway/mcp-server"] },
  "cloudflare-docs": { "type": "http", "url": "https://docs.mcp.cloudflare.com/mcp" }
}

重要: 14個のMCPを設定しているが、プロジェクトごとに5〜6個のみ有効化。これでコンテキストウィンドウを健全に保つ。

主要なHooks設定

{
  "PreToolUse": [
    // 長時間コマンド用tmuxリマインダー
    { "matcher": "npm|pnpm|yarn|cargo|pytest", "hooks": ["tmux reminder"] },
    // 不要な.mdファイル作成をブロック
    { "matcher": "Write && .md file", "hooks": ["block unless README/CLAUDE"] },
    // git push前にレビュー
    { "matcher": "git push", "hooks": ["open editor for review"] }
  ],
  "PostToolUse": [
    // JS/TSをPrettierで自動フォーマット
    { "matcher": "Edit && .ts/.tsx/.js/.jsx", "hooks": ["prettier --write"] },
    // 編集後にTypeScriptチェック
    { "matcher": "Edit && .ts/.tsx", "hooks": ["tsc --noEmit"] },
    // console.logの警告
    { "matcher": "Edit", "hooks": ["grep console.log warning"] }
  ],
  "Stop": [
    // セッション終了前にconsole.logsを監査
    { "matcher": "*", "hooks": ["check modified files for console.log"] }
  ]
}

サブエージェント構成

~/.claude/agents/
  planner.md           # 機能を分解
  architect.md         # システム設計
  tdd-guide.md         # テストを先に書く
  code-reviewer.md     # 品質レビュー
  security-reviewer.md # 脆弱性スキャン
  build-error-resolver.md
  e2e-runner.md        # Playwrightテスト
  refactor-cleaner.md  # デッドコード削除
  doc-updater.md       # ドキュメント同期

GitHub Actions CI/CD

GitHub ActionsでPRのコードレビューを設定できます。設定すると、Claudeが自動的にPRをレビューします。


サンドボックス

リスクのある操作にはサンドボックスモードを使用。Claudeは実際のシステムに影響を与えない制限された環境で実行されます。

逆に--dangerously-skip-permissionsを使用すると、Claudeを自由に動かせますが、注意しないと破壊的になる可能性があります。


重要なポイントまとめ

ポイント 詳細
過度に複雑化しない 設定はアーキテクチャではなく、ファインチューニングとして扱う
コンテキストウィンドウは貴重 未使用のMCPとプラグインを無効化
並列実行 会話をフォーク、git worktreesを使用
繰り返しを自動化 フォーマット、リンティング、リマインダー用のHooks
サブエージェントをスコープ化 限定されたツール = 集中した実行

まとめ

Claude Codeは、単なるAIコーディングアシスタントではありません。Skills、Hooks、サブエージェント、MCP、プラグインを組み合わせることで、あなた専用の開発環境を構築できます。

本記事のポイント:

  • Skills/Commandsでワークフローをショートカット化
  • Hooksでツール呼び出しの前後を自動化
  • サブエージェントでタスクを委任し、コンテキストを解放
  • MCPで外部サービスに接続(ただし有効化は厳選)
  • コンテキストウィンドウ管理が最重要
  • Zedエディタとの組み合わせがおすすめ

この設定を参考に、あなた自身のClaude Code環境を最適化してみてください。


引用元: @affaanmustafa - The Shorthand Guide to Everything Claude Code

この記事が参考になったらシェア

シェア

AIコンサルについてもっと詳しく

AIコンサルの機能や導入事例について、詳しくご紹介しています。