🏠 ホーム ← 知識管理 安全な使い方 →

title: "05 自動化と拡張" icon: "⚙️"

05 自動化と拡張

Claude Code はそのままでも強力ですが、設定次第でさらに便利になります。この章では、AI アシスタントの能力を自動的広げる仕組みを説明します。

sequenceDiagram participant U as ユーザー participant CC as Claude Code participant Pre as PreToolUse participant Tool as ツール participant Post as PostToolUse Note over CC: 🔄 SessionStart Hook発火 U->>CC: リクエスト送信 CC->>Pre: ツール実行前チェック alt チェックOK Pre->>Tool: ✅ ツール実行 Tool->>Post: 実行完了 Post->>CC: ログ記録 else チェックNG Pre-->>CC: 🚫 ブロック end CC->>U: レスポンス Note over CC: 🔄 Stop Hook発火

05-1 フック(Hooks):自動化の核心

フックとは、特定のタイミング自動的に実行されるスクリプトです。Claude Code のワークフローのあらゆる瞬間に、カスタム処理を差し込めます。

###代表的なフックの種類

フック名 実行タイミング 用途の例
SessionStart セッション開始時 前回の続き读取、最新ファイル確認
AfterEveryGeneration 各レスポンス生成後 作業ログ自動記録、自動コミット
BeforeTask 作业开始前 プロジェクト状态確認、コンテキスト整備
AfterTool ツール実行後 ファイル变更検知、セキュリティチェック

フックの動作流れ

以下に、Mermaid を使用してフックの処理流れを可视化管理します。

sequenceDiagram
    participant User as ユーザー
    participant Claude as Claude Code
    participant Hook as フックスクリプト
    participant System as システム

    User->>Claude: コマンドを入力
    Claude->>System:コマンドを実行
    System-->>Claude: 結果を返す
    Claude->>Hook: トリガー条件をチェック
    Hook->>Hook: スクリプトを実行
    Hook-->>Claude: 完了通知
    Claude-->>User: 最終結果を返す

この流れを見てわかるとおり、フックはClaude Code の动作の合間に介入します。ユーザーは意識せずに、自動化された処理が裏で動いています。

実用的なフックの例

以下は、ファイル変更を検出して自動コミットする Bash スクリプトの例です。

#!/bin/bash
# .claude/hooks/after-tool-check.sh
# 特定のファイルが変更されたら自動コミットする例

TRACKED_FILES=("src/main.ts" "src/utils.ts" "docs/")

for file in "${TRACKED_FILES[@]}"; do
    if git diff --quiet "$file" 2>/dev/null; then
        #変更なし
 :
    else
        echo "[Hook] $file が変更されました"
        git add "$file"
        git commit -m "docs: update $file (auto-commit by hook)"
    fi
done

このスクリプトを settings.json の 該当するフックに登録すると、ファイル変更のたびに自動でコミットが行われます。

05-2 Cronジョブ:定期実行の自動化

Cron は、時間を指定してタスクを自動実行する仕組みです。Claude Code でも使用可能です。

###典型的なユースケース

設定方法

Cron は5つの時間フィールドで動作タイミングを指定します。

分 時 日 月 曜日

設定例:

05-3 MCPサーバー: 拡張機能のplugins

MCP(Model Context Protocol)サーバーは、Claude Code に専門的な機能を追加する「plugins」です。

どんな時に使う

MCP サーバーを導入すると、Claude Code が标准で持っていない機能を使えるようになります。

設定方法

settings.json に以下のように設定します。

{
  "mcpServers": {
    "web-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    }
  }
}

設定後は、Claude Code が再起動なしに新しいツールを利用できるようになります。

05-4 スキル(Skills): 定型応答の再利用

スキルは、特定の ードや状況に対してあらかじめ定義した応答を返す仕組みです。「このような質問が来たら、このプロンプトを実行する」という設定を定義できます。

用途の例

スキルは主に ~/.claude/skills/ フォルダに Markdownファイルとして保存します。ファイル名をキーワードとして登録し、内容をプロンプトテンプレートとして使えます。

05-5 セキュリティ上の注意

自動化は便利ですが、注意点があります。

自動実行スクリプトのリスク

権限の管理

外部服务的連携

自動化は生産性を大きく向上させますが、責任も伴います。 小さなリスクから始めて、効果を確認しながら段階的に拡大しましょう。