CLAUDE LABEN
APPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意ですAPPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意です
記事一覧/Claude Code
Claude Code/2026-08-24上級

同じスキルを二か所に置いていたら、片方だけ中身が痩せていました

同名のスキルが二つのスコープに存在していました。SKILL.md は sha256 まで一致しているのに、片方には本文が名指ししているファイルが入っていません。66本を走査して欠落2件に絞るまでに検出器を三度書き直した記録です。

Claude Code250スキル設計2名前空間3整合性検査運用20

プレミアム記事

8月23日のリリースノートに、一行だけ気になる修正がありました。同梱スキルのエイリアスが、同名のユーザースキルやプロジェクトスキルに影を作られて「Unknown command」を返す問題が直った、という記述です。

自分には関係のない話だと思いました。私が使っているスキルはどれも名前を分けて付けたつもりでいたからです。

念のため数えてみました。プロジェクト側に 42 本、ユーザー側に 24 本、合わせて 66 本。そのうち 5 本が同じ名前で二か所に存在していました

そこまでは、まだ想定の範囲でした。問題はその先です。5 組すべてで SKILL.md が sha256 まで一致していたのに、そのうち 2 組は同梱ファイルの数が違っていました

名前の衝突は、それ自体では事故になりません

どちらが選ばれるかという解決順序の話は、以前 呼んだはずのスキルが何も返さない — 起動前に名前の解決順序を確定させる で扱いました。あのときの結論は「実効名の表を起動前に作る」でした。

今回ぶつかったのは、その先にある層です。実効名が確定していても、選ばれた実体が完全とは限りません

同名のスキルが二か所にあるとき、多くの人はまず本文を見比べます。私もそうしました。

diff .agents/skills/seo-audit/SKILL.md ~/.claude/skills/seo-audit/SKILL.md
# 出力なし(差分ゼロ)

差分ゼロ。バイト数も 10,688 で一致。ここで安心して閉じました。

閉じてから、ディレクトリ全体を見ていないことに気づきました。

欠けていたのは本文ではなく、本文が名指ししているファイルでした

同じ 2 つのディレクトリを、ファイル単位で並べます。

(cd .agents/skills/seo-audit && find . -type f | sort)
# ./SKILL.md
# ./evals/evals.json
# ./references/ai-writing-detection.md
 
(cd ~/.claude/skills/seo-audit && find . -type f | sort)
# ./SKILL.md

本文は同一。付随するファイルは 3 対 1。

そして SKILL.md の本文には、次の一行が入っています。

references/ai-writing-detection.md

つまり、ユーザースコープ側が選ばれた場合、スキルは実在しないファイルを読みに行くことになります。SKILL.md が完全に一致しているせいで、diff でも sha256sum でも、この状態は検出できません。

欠けていた references/ai-writing-detection.md は 6,528 バイト。SKILL.md 本体の約 61% に相当する分量が、参照されているのに存在しない状態でした。

比較の観点プロジェクト側ユーザー側気づけるか
SKILL.md の内容10,688 バイト10,688 バイト(同一)気づけない
SKILL.md の sha256一致一致気づけない
ディレクトリ内のファイル数31気づける
本文が名指しする参照の実在すべて実在1 件が不在気づける

上の 2 行だけを見て運用していたのが、私の見落としでした。

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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
同じ名前のスキルが複数のスコープに置かれているとき、選ばれた側が完全かどうかを自分の環境で確かめられるようになります
SKILL.md が一致していても壊れる型の不具合を、参照先の実在確認という一手で公開前に潰せるようになります
検出器が返す件数をそのまま信じず、偽陽性と偽陰性を切り分けてから判断できるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

Claude Code2026-08-06
呼んだはずのスキルが何も返さない — 起動前に名前の解決順序を確定させる
端末の組み込みコマンドと同名のスキルは、非対話セッションで呼び出しが解決されないことがあります。実効名の表を起動前に作る preflight を書いて走らせ、検査器自身が取りこぼしていた2件までを実測で洗い出した記録です。
Claude Code2026-09-03
ログのタイムゾーンを表示で寄せるか、記録で固定するか
AdMob とストアのレポートと手元のログで一日の切れ目がずれていました。表示側に寄せる方法と記録側を固定する方法を、実際に往復して選び直した判断の記録です。
Claude Code2026-08-31
無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
1日2回動いているはずのバッチが、実際には1回しか起動していませんでした。エラーは1件も出ていません。期待起動回数と実行記録を突き合わせて、無音の欠落を検出する仕組みを作ります。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます