CLAUDE LABEN
2.1.278 — auto モードの分類器が Claude API・Enterprise・Bedrock / Vertex / Foundry でサーバー側の既定になりました。分類器の分は課金されず、/status に Auto mode server の行が増えていますTASKOUT — TaskOutput ツールが削除されました。taskOutputMaxChars と TASK_MAX_OUTPUT_LENGTH は無効になり、バックグラウンドの出力は Read で読む形に一本化されています10/07 — 管理構成キーの旧い綴りの受付は10月7日 正午 PT までです。残り17日で、締切を過ぎた設定は書き直すまでそのコネクタが使えなくなりますBUNPANIC — 更新で入った版が、起動しただけで落ちるという報告が出ています。同じ機械で前の版は動くとのことで、環境ではなく版の側が疑われていますNEW — Cowork と Claude Code のどちらに置くかを、承認の境界で決めた記録ですSONNET4.5 — 廃止表に並ぶ日付は「それより前には終わらない下限」です。Sonnet 4.5 は今も有効で、非推奨の告知は出ていません2.1.278 — auto モードの分類器が Claude API・Enterprise・Bedrock / Vertex / Foundry でサーバー側の既定になりました。分類器の分は課金されず、/status に Auto mode server の行が増えていますTASKOUT — TaskOutput ツールが削除されました。taskOutputMaxChars と TASK_MAX_OUTPUT_LENGTH は無効になり、バックグラウンドの出力は Read で読む形に一本化されています10/07 — 管理構成キーの旧い綴りの受付は10月7日 正午 PT までです。残り17日で、締切を過ぎた設定は書き直すまでそのコネクタが使えなくなりますBUNPANIC — 更新で入った版が、起動しただけで落ちるという報告が出ています。同じ機械で前の版は動くとのことで、環境ではなく版の側が疑われていますNEW — Cowork と Claude Code のどちらに置くかを、承認の境界で決めた記録ですSONNET4.5 — 廃止表に並ぶ日付は「それより前には終わらない下限」です。Sonnet 4.5 は今も有効で、非推奨の告知は出ていません
記事一覧/Claude Code
Claude Code/2026-06-13中級

編集した SKILL.md が反映されない — /reload-skills と .claude/skills 自動ロードで再起動なしに差し替える

SKILL.md を編集しても実行中のセッションには反映されません。.claude/skills 自動ロードと /reload-skills、SessionStart フックを組み合わせた再起動なしの差し替え運用と、版番号による検証手順を実運用の経験から整理します。

Claude Code256Skills5SKILL.md7自動化88運用21

金曜日の夜、スケジュール実行に使っているスキルの指示文を1行だけ直したことがあります。出力ログの形式を変える、ささやかな修正です。ところが翌朝のログを確認すると、実行結果は修正前の旧仕様のまま。ファイルは確かに保存されているのに、Claude Code が読んでいたのは「昨日の SKILL.md」でした。

個人開発で複数の自動化タスクを SKILL.md ベースで運用していると、この「直したのに反映されない」は意外なほど頻繁に起こります。原因はスキルの読み込みタイミングにあります。最近の Claude Code には .claude/skills 配下の自動ロードと /reload-skills コマンドが入り、再起動なしでスキルを差し替えられるようになりました。私が実運用で組み立てた差し替えの手順と、リロードが「効かない」ように見える落とし穴を順に整理します。

SKILL.md はセッション開始時に読み込まれる

スキルの実体は SKILL.md という Markdown ファイルですが、Claude Code がこれを参照するのは基本的にセッションの開始時です。起動時にスキル名と説明文の一覧(インデックス)が組み立てられ、タスクの内容に応じて該当スキルの本文が展開される、という二段階で動きます。

つまり、セッションが動いている間に SKILL.md を書き換えても、そのセッションが持っているインデックスは古いままです。挙動だけを見ると「ファイルを無視されている」ように感じますが、実際には「読み込み済みのスナップショットを参照し続けている」状態です。再起動すれば反映されるのはこのためです。

スキルの設計そのものについては、Claude Code カスタムスキル開発の実装パターン — SKILL.md 設計とテスト・配布 でまとめています。

.claude/skills 自動ロードで「配布」の工程が消えた

以前はスキルの配布にプラグインやマーケットプレイスを経由する前提があり、個人の作業用スキルには少し大げさな仕組みでした。現在はプロジェクトの .claude/skills 配下に置いたスキルが、マーケットプレイスを経由せずそのまま自動ロードされます。

私はこの変更を機に、スキルの正本を Git リポジトリで管理し、各プロジェクトの .claude/skills へ同期する形に揃えました。スキルはプロンプトであると同時に「運用手順書」でもあるので、差分履歴が残る Git 管理との相性は想像以上に良いです。いつどの指示をどう変えたかが追えるだけで、「なぜこの出力になったのか」を調べる時間が目に見えて減りました。

/reload-skills の射程 — 「次の発動」から効く

セッションを保ったままスキルを差し替えたいときは /reload-skills を実行します。編集 → /reload-skills → 次の発動から新版、という流れです。

ここに一つ、公式の説明だけでは気づきにくい点があります。リロードで更新されるのはスキルのインデックスと次回展開される本文であって、すでにそのセッションで展開済みの旧本文はコンテキストに残り続けることです。長いセッションの途中でリロードすると、直前まで参照していた旧指示と新しい指示が同居し、どちらに従った結果なのか判別しづらい状態になります。

そこで私の運用では、リロードは必ず「タスクの区切り」で行うと決めています。進行中の作業を一度完了させてから /reload-skills を打ち、新しいタスクとして仕切り直す。この一手間だけで、新旧の指示が混ざる問題はほとんど起きなくなりました。

無人実行は SessionStart フックで最新版を拾う

スケジュール実行のような無人運用では、そもそも /reload-skills を手で打てません。ここで使えるのが SessionStart フックです。セッション開始時にスキルの同期処理を走らせ、フックの出力で reloadSkills: true を返すと、取得し直した最新のスキルを読み込ませられます。

次のスクリプトは、スキルの正本リポジトリを起動時に同期してから読み込ませる例です。

#!/bin/bash
# .claude/hooks/session-start-sync.sh
# スキル正本リポジトリを起動時に同期してから読み込ませる
git -C "$HOME/dev/skills-repo" pull --rebase --quiet
rsync -a --delete "$HOME/dev/skills-repo/skills/" ".claude/skills/"
echo '{"reloadSkills": true}'

settings.json 側には次のように登録します。

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash .claude/hooks/session-start-sync.sh"
          }
        ]
      }
    ]
  }
}

注意したいのは、クラウドストレージの同期機能でスキルを配っている場合です。同期が完了する前にセッションが起動すると、ローカルにはまだ旧版しかありません。フックは「その時点でローカルにあるもの」を読むだけなので、これは仕組みだけでは防ぎきれず、私は次に紹介する版番号チェックで検出する形にしています。

無人実行まわりの設計は Claude Code Skill を無人で動かす設計 — 許可ダイアログで止まらない3つの実装パターン でも扱っています。

どの版が効いているかを版番号で見える化する

「直したのに反映されない」を根本からなくしてくれたのは、リロードの仕組みそのものより、どの版のスキルが効いているかをログで確認できるようにしたことでした。やることは2つだけです。

まず、SKILL.md の冒頭コメントに版番号と日付を書きます。

<!-- version: 2026-06-13.1 -->
# article-publisher

次に、スキルの手順の先頭へ「この version 行を実行ログに出力する」ステップを入れます。

grep -m1 'version:' .claude/skills/article-publisher/SKILL.md

これだけで、毎回の実行ログの先頭に「どの版で動いたか」が残ります。挙動が旧仕様に見えたら、まずログの版番号を確認する。版が古ければ同期かリロードの問題、版が新しいのに挙動が古ければ指示文そのものの問題、と切り分けが一直線になります。私自身、この2行を入れてからは「反映されたはず」を推測で語ることがなくなりました。

次の一歩 — version 行を1つ足すところから

差し替え運用は、/reload-skills や SessionStart フックといった仕組みを覚えるより先に、「いまどの版が効いているか」を見えるようにするのが近道です。お使いのスキルの SKILL.md に version 行を1つ足し、実行ログへ出力してみてください。反映タイミングの挙動が一気に観察しやすくなります。日々の開発でどのスキルを手元に残すかという観点は Claude Code Skills を毎日の開発に組み込むときに、私が見ている 5 つの選定軸 にまとめています。同じように SKILL.md ベースの自動化を運用している方の参考になれば幸いです。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-08-31
無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
1日2回動いているはずのバッチが、実際には1回しか起動していませんでした。エラーは1件も出ていません。期待起動回数と実行記録を突き合わせて、無音の欠落を検出する仕組みを作ります。
Claude Code2026-08-25
空白ひとつで、80件の検査が0件になる — 一括処理を任せる前に置くガード
空白を含むフォルダ名の下で走らせた検査ループが、80件のうち1件も開いていませんでした。断片が実在パスに化ける仕組みを実測で切り分け、削除を伴うバッチに置く件数アサーションまで書き残します。
Claude Code2026-08-22
長い処理を別セッションに任せて待つ — 通知が届かなかったときのための完了マーカー
Claude Code の notify_when_idle で別セッションの完了通知を受け取る手順と、通知が落ちても待ち続けないための完了マーカーの最小実装。3つの状態切り分けを実行結果つきで解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます