
Claude Codeを使い始めて、CLAUDE.mdとSkillsの存在は知っているけれど、「自分の作業にどう取り入れれば良いのか分からない」という方は多いのではないでしょうか。この記事では、2つのファイルの役割・仕組み・違いを比較形式で整理し、どちらに何を書くべきかの判断軸を具体例とともに解説します。
この記事で学べること:
- CLAUDE.mdとSkillsそれぞれの役割と仕組み
- 2つのファイルの読み込みタイミングとコンテキスト消費の違い
- どちらに何を書くべきかの判断軸と具体的な使い分け例
- CLAUDE.mdとSkillsを分ける理由とメリット
- ファイルの作り方とディレクトリ構成
2つのファイルを使い分けることで、毎回の手動指示がなくなり、Claude Codeの応答精度も安定しやすくなります。自分が育ててきたClaude Codeを、もう一段使いやすい相棒にするための第一歩として活用してください。
CLAUDE.mdとは
CLAUDE.mdは、Claude Codeにプロジェクトの前提情報や作業ルールを伝えるための設定ファイルです。プロジェクトフォルダに配置すると、起動時に自動で読み込まれ、セッション全体にわたって指示が適用されます。
CLAUDE.mdに書く内容
CLAUDE.mdに書く内容は、Claude Codeのセッション全体に適用したいプロジェクトのルールや前提情報です。
記載内容の例:
- プロジェクトの概要・目的
- 使用する言語・フレームワーク
- 出力フォーマットのルール(例:日本語で回答する、Markdownで出力する)
- 作業時の注意事項やNGパターン
CLAUDE.mdの仕組み
CLAUDE.mdは、Claude Codeの起動時に作業ディレクトリからルート方向へディレクトリを順にたどり、見つかったすべてのCLAUDE.mdを連結してコンテキストに読み込みます。書いた内容はセッション終了まで保持され、常にClaudeの判断時に参照されます。
Skillsとは
Skillsとは、Claude Codeに新しい作業手順や知識を追加できるファイルです。繰り返し行う作業の手順書として登録しておけば、/skill名で呼び出したり、Claudeが会話内容から必要と判断したときに自動で読み込まれます。
Skillsに書く内容
Skillsに書く内容は、知識・ルールを登録する「リファレンス型」と、作業手順を登録する「タスク型」の2パターンに分かれます。
-
リファレンス(知識・ルール)型:
コーディング規約やAPI設計ルールなど、Claudeに守らせたいルールを登録するタイプです。呼び出したときだけルールが適用されるため、CLAUDE.mdに書く場合と比べてコンテキストを節約できます。
-
タスク(手順)型:
デプロイ、レポート生成、コードレビューなど、繰り返し実行する作業フローをステップごとに登録するタイプです。ファイルを呼び出すだけで、毎回同じ品質で作業を実行できます。
タスク型のSkillには、以下のような内容を記載します。
- タスクの実行手順(ステップごとの指示)
- 入力として受け取る情報の形式
- 出力の形式やルール
- 処理の条件分岐や注意事項
Skillsの仕組み
Skillsは、Skill名とdescription(説明文)だけがコンテキストに先行して読み込まれ、コマンド呼び出し時に初めて本文全体が読み込まれます。
CLAUDE.mdとSkillsの違い
CLAUDE.mdは「セッション全体の前提情報・ルール」、Skillsは「必要なときだけ読み込む手順書」です。ここまで解説してきた2つの内容を以下の表にまとめました。
| 比較軸 | CLAUDE.md | Skills |
|---|---|---|
| 読み込みタイミング | 起動時に常に読み込まれる | コマンドを呼び出したとき、またはClaudeが自動判断したときに読み込まれる |
| 役割 | セッション全体の前提情報・ルールを伝える | 特定のタスクや知識をファイルに登録し、必要なときに読み込む |
| コンテキスト消費 | 常にコンテキストを消費する | 呼び出したときだけ消費する |
| ワークフローのトリガー | 不可 | /skill名で実行可能 |
| 書く内容 | 全作業に共通するルールや背景情報 | 繰り返し実行したい特定タスクの手順や、特定の場面で適用したい知識・ルール |
公式ドキュメントでは、CLAUDE.mdは200行以下が推奨されています。長くなりすぎるとClaudeが指示を見落とすリスクがあるため、タスク手順はSkillsへの切り出しが推奨されています。
CLAUDE.mdとSkillsをどう使い分けるか
CLAUDE.mdとSkillsの使い分けは、「その情報をいつ・どの範囲で使うか」を基準に判断します。

図:CLAUDE.mdとSkillsの使い分け - 情報の使い方によってどちらか判断する
次の使い分け例は、CLAUDE.mdとSkills別に分割したい内容を、具体的な記載内容ごとに分類したものです。
| 書きたい内容 | どちらに書くか | 理由 |
|---|---|---|
| 日本語で回答する | CLAUDE.md | すべての会話に共通するルール |
| プロジェクトではPythonを使う | CLAUDE.md | 常に適用される前提情報 |
| 週次レポートを生成する | Skills | 特定のタスクを繰り返し実行する |
| ブログ記事の下書きを生成する | Skills | 複数ステップがある繰り返し作業 |
| コードレビューをする | Skills | 入力(コード)を受け取って実行するタスク |
CLAUDE.mdとSkills なぜ2つのファイルに分けるのか
CLAUDE.mdとSkillsを分ける理由は、繰り返しの手動指示をなくし、Claudeの応答精度を安定させるためです。
CLAUDE.mdのみで運用した場合、「〇〇してください」と毎回プロンプトで指示する必要があります。また、CLAUDE.mdに指示を集約するとコンテキストを常時圧迫し、指示の見落としリスクが上がります。
Skillsに切り出せば、/generate-reportのようなスラッシュコマンドひとつで同じ作業を実行できます。会話内容からClaudeが自動で読み込むケースもあります。
Skillsへの切り出しで得られる効果は、以下の3点です。
-
コンテキスト節約
SkillsはSkill名とdescriptionのみ先行読み込みされるため、使わないSkillsの本文はコンテキストを消費しません。
-
管理のしやすさ
役割ごとにファイルが分かれているため、修正・追加の作業が一か所で完結します。
-
再利用性
Skillsは別のプロジェクトにそのまま持ち込めるため、一度作ったSkillを横展開できます。
なお、CLAUDE.mdの中でも特定のファイルタイプやディレクトリにだけ適用したいルールは.claude/rules/に分離できます。
公式:.claude/rules/ でルールを整理する >>
コンテキストの設計については、以下の記事で詳しく解説しています。
関連記事:Claude Codeの能力を引き出す|コンテキストエンジニアリングとは >>
CLAUDE.mdとSkillsの作成方法
CLAUDE.mdとSkillsの作成方法は、どちらもMarkdownファイルを作成するだけです。特別なツールや設定は不要です。
2つのファイルのディレクトリ構成
ディレクトリ構成は、CLAUDE.mdをプロジェクト直下に、Skillsを.claude/skills/フォルダ内に配置する形が基本です。
your-project/
├── CLAUDE.md ← プロジェクトの前提情報・ルール
└── .claude/
└── skills/
├── generate-report/
│ └── SKILL.md ← レポート生成skill
└── code-review/
└── SKILL.md ← コードレビューskill
Skillsは各Skillごとにディレクトリを分けて管理します。
ファイルの作り方
CLAUDE.mdは、プロジェクト直下にCLAUDE.mdファイルを作成し、Claude Codeへの指示を記述します。例えば以下のようなマークダウン形式で記入します。
# プロジェクト概要
タスク管理アプリのフロントエンド開発
# 出力ルール
- 日本語で回答する
- コードにはコメントを含める
# 注意事項
- `main`ブランチへの直接コミット禁止
- 新規コンポーネントは`src/components/`に配置
Skillsは、次のようにfrontmatterから書き出します。descriptionはClaudeがSkillをいつ使うか判断するための最も重要なフィールドです。nameは省略するとディレクトリ名が使用されます。
---
name: generate-report
description: 週次レポートを指定のフォーマットで生成する
---
ここにClaude Codeへの指示を書く
frontmatterの詳細については、公式サイトのフロントマターリファレンスを参照ください。
CLAUDE.mdとSkillsの違いに関するよくある質問
CLAUDE.mdとSkillsの違いに関するよくある質問を以下の通りにまとめました。
Q:CLAUDE.mdとSkills、どちらから始めればいいですか?
CLAUDE.mdから始めることをおすすめします。プロジェクトの概要や使用言語など、基本的な前提情報を書いておくだけでClaude Codeとのやりとりがスムーズになります。Skillsは、繰り返し実行したい作業が出てきた段階で追加すると無理なく運用できます。
Q:Skillsを使わなくてもCLAUDE.mdだけで十分ですか?
繰り返し実行する特定のタスクがない場合は、CLAUDE.mdだけで十分です。ただし、同じ作業を毎回指示している状況があれば、Skillとして登録することでコンテキストの節約と効率向上が見込めます。
Q:CLAUDE.mdの適切な分量はどのくらいですか?
CLAUDE.mdに書く内容は、プロジェクトを初めて見る人に伝えたい最低限の情報に絞るのが基本です。公式ドキュメントでは200行以下が推奨されています。「本当に毎回必要か」を基準に情報を整理していくことをおすすめします。
Q:SkillsはどのタイミングでClaudeが読み込みますか?
Skillsは2段階で読み込まれます(公式ドキュメント)。まず起動時にSkill名とdescription(説明文)が先行読み込みされ、/skill名コマンドの実行時、またはClaudeが会話内容から関連性を判断したタイミングで本文が読み込まれます。
Q:CLAUDE.mdは複数のフォルダに配置できますか?
CLAUDE.mdは複数のフォルダ階層に配置できます(公式ドキュメント)。作業ディレクトリからルート方向へ順にたどり、見つかったすべてのCLAUDE.mdが連結して読み込まれます。全体のルールは上位に、サブフォルダ固有のルールは下位に置く使い分けが可能です。
まとめ
この記事では、CLAUDE.mdとSkillsの役割・仕組み・違い・使い分けについて解説しました。
学んだ内容:
この記事の要点は以下の通りです。
- CLAUDE.mdは起動時に常時読み込まれ、セッション全体のルールを伝えるファイル
- Skillsは必要なときだけ読み込まれ、特定タスクや知識を登録するファイル
- 読み込みタイミング・役割・コンテキスト消費量が主な違い
- 「常に適用するルール」はCLAUDE.mdに、「繰り返す作業」はSkillsに書く
- 分けることで手動指示が不要になり、コンテキスト抑制・管理性・再利用性が向上
- CLAUDE.mdの肥大化には
.claude/rules/への切り出しも有効
まずは今使っているCLAUDE.mdを見直して、繰り返している作業指示があればSkillに切り出してみてください。手動指示がなくなるだけで、Claude Codeとのやりとりは驚くほどスムーズになります。Skillが増えるほど、Claude Codeはあなたの作業をよく知る相棒へと成長していきます。
関連記事
Claude Codeに関する関連記事の一覧です。
参考資料
以下は、この記事の内容に関連する参考資料です。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事

2023.10.24
ChatGPTに目ができた!GPT-4Vとは何?使い方を紹介
今回はそんなChatGPT-4Vについて解説します。GPT-3.5やGPT-4と違いはもちろん、新しい機能で何ができるのかも紹介していますので、ぜひ参考にしてくださいね。
- AI

2023.04.21
AIによるプログラミング支援「GitHub Copilot」とは?利用料金や使い方について解説
今回はGitHub Copilotの利用料金や導入方法、実際にどのような使い方ができるかを解説していきます。
- AI

2026.05.02
コンテキストの設計|「Claudeがすぐ使えなくなる」を解決する
Claude Codeのコンテキストエンジニアリングとは何かを解説。トークン枯渇や精度低下を招くアンチパターンと、5層構造による設計・リファクタリング手順を紹介します。コンテキスト設計の実践手順を確認する→
- AI
- Claude Code

2023.10.25
画像生成AI DALL-E3の使い方
今回はそんなDALL-E3について解説します。DALL-E3を使う上で知っておきたいことや、設定方法を紹介しています。
- AI


