Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
独立メディア
いかなるプロジェクトとも無提携
Claudeスキルを学んで、すべてをもっとうまくやろう
claudeskill-me.com
最新
OpenTelemetryでClaude Codeの圧縮とhookを見る:compaction、hook_execution_complete、precompute_reuseの読み方  ·  Bash権限ルールの死角:denyは/bin/rm、bash -c、git -Cを止められず、devbox run *は内側のどんなコマンドも通す  ·  CLAUDE.mdが長すぎるとき:.claude/rules/とpathsで、特定のファイルに触れたときだけルールを読み込む  ·  Claude Codeのサンドボックスで「No usable sandbox!」:--no-sandbox、excludedCommands、allowNestedUserNamespacesがそれぞれ手放すもの  ·  Claude Code v2.1.309がサンドボックスと権限の抜けをまとめて修正:起動ファイルのサンドボックス外実行、シンボリックリンク経由のdenyWriteなど  ·  auto modeの$defaultsの落とし穴:autoMode.soft_denyに文字列を1つ入れ忘れると、組み込みのforce pushルールが丸ごと消える
beginners

CLAUDE.mdが長すぎるとき:.claude/rules/とpathsで、特定のファイルに触れたときだけルールを読み込む

30秒バージョン · 忙しい方へ
frontmatterのYAMLを壊すと、パス指定ルールはエラーにならず、静かに「毎セッション読み込まれる」ルールに変わる。

詳しく読む +
01 · なぜ起きたのか?

ルールファイルはどこに置く?

プロジェクトのルールは.claude/rules/、個人のルールは~/.claude/rules/に置く。後者はマシン上の全プロジェクトに適用される。.md1つにつき1トピック。

02 · 仕組みは?

パス指定ルールが毎セッション現れるのはなぜ?

frontmatterのYAMLが壊れていないか確認する。ドキュメントによれば、解析に失敗するとpathsなしとして無条件に読み込まれる。claude --debugで解析エラーを見る。

03 · 自分にどう影響する?

ルールとスキルの違いは?

ルールは毎セッション、または一致するファイルを開いたときに読み込まれる。スキルは呼び出したとき、またはClaudeが関連すると判断したときだけ読み込まれる。常にコンテキストにある必要のないタスク向けの指示にはスキルが勧められている。

04 · どうすればいい?

エンジニアではありません。一言でいうと?

社員ハンドブックに例えると、全員が守る規則は総則に置き、経理部だけが必要な規則は、経理部に入ったときに渡される。

全文 +

CLAUDE.mdが長くなり続けるのは、多くの人が最初にぶつかる問題だ。公式は1ファイル約200行以内を勧めており、それより長いとコンテキストを消費して遵守度が下がる。公式の解決策の1つが.claude/rules/で、ルールを複数ファイルに分け、特定のファイルにClaudeが触れたときだけ読み込まれるルールも作れる。本稿はドキュメントに沿った入門手順だ。特記以外はすべて公式のメモリページ(How Claude remembers your project)に基づく。手順は自分のマシンで実行していないので、一度試して確認してほしい。

ディレクトリ構成

your-project/
├── .claude/
│   ├── CLAUDE.md
│   └── rules/
│       ├── code-style.md      # no paths: loads at launch
│       └── api.md             # has paths: loads on matching files
└── src/api/users.ts

1つの.mdファイルに1つのトピックを入れ、内容が分かるファイル名を付ける(ドキュメントの例はtesting.md、api-design.md)。frontend/、backend/のようなサブディレクトリも再帰的に検出される。pathsのないルールは起動時に読み込まれ、優先度は.claude/CLAUDE.mdと同じだ。

手順1:APIファイルにだけ現れるルールを作る

---
paths:
  - "src/api/**/*.ts"
---

API rules

  • Validate all input before using it
  • Return errors in the standard error format

ドキュメントによれば、pathsはClaude Codeがルールから読むfrontmatterの唯一のフィールドで、他のフィールドはエラーなく無視され、読み込み前にfrontmatterは取り除かれる。pathsはYAMLリストまたはカンマ区切りの文字列を受け付ける。

いつ読み込まれるか

パス指定ルールは、ClaudeがRead、Write、Editで一致するファイルを操作したときに読み込まれる。ドキュメントが「読み取り」と数えるBashコマンド(単一ファイルへのcatやheadなど)で一致ファイルを見たときにも読み込まれる。つまり、ファイルに触れないままセッションを開いただけでは、そのルールはコンテキストにない。pathsのないルールは無条件に読み込まれ、すべてのファイルに適用される。

よく使うglobの書き方

  • **/*.ts:どのディレクトリにあるTypeScriptファイルも
  • src/**/*:src/以下のすべてのファイル
  • *.md:プロジェクトルートのMarkdownファイル
  • src/components/*.tsx:特定ディレクトリのReactコンポーネント
  • src/**/*.{ts,tsx}のような波括弧展開が使える。1つのルールのpathsリスト全体で、展開後1,000パターンと4 MiBの予算を共有し、超えるパターンは展開されずに使われ、波括弧は文字そのものとなって何にも一致しない。

つまずきやすい3点

  • YAMLが壊れると「常に読み込む」になる:ドキュメントによれば、frontmatterのYAMLが解析できないと、Claude Codeはそれを無視し、pathsのないルールとして読み込む。APIファイル専用のつもりのルールが、全セッションで読み込まれることになる。解析エラーはclaude --debugで見られる。
  • [はエスケープする:globは[を括弧式の始まりと扱い、括弧式として読めないパターン(photos [2024/など)は無効で何にも一致しないが、同じルールの他のパターンは動き続ける。文字としての[に一致させるにはphotos \[2024/と書く。
  • シンボリックリンクの共有ルール:.claude/rules/はシンボリックリンクをサポートし、共有ルールを複数プロジェクトにリンクできるが、作業ディレクトリ外を指すリンクは外部インポートの承認が先に必要で、承認後に読み込まれるのはpathsフィールドのないルールだけだ。承認なしで共有するなら、マシン上の全プロジェクトに適用される~/.claude/rules/に置く。

実際に読み込まれたか確認する

公式ドキュメントから確認できるのは、指示ファイルの読み込み時に発火するInstructionsLoaded hookがあること、そしてclaude --debugでfrontmatterの解析エラーが見られることだ。第三者の解説(claudefa.st)は/memoryが読み込み済みのCLAUDE.mdとルールファイルを一覧すると述べるが、私は確認していないので、自分のバージョンで確かめてほしい。より直接的な方法(私の提案で未検証):ファイルに触れずに新しいセッションを開き、Claudeに「今適用されるAPIルールは?」と聞く。次にsrc/api/users.tsを読ませてもう一度聞く。2つの答えは違うはずだ。

ルール、CLAUDE.md、スキルの使い分け

ドキュメントによれば、ルールは毎セッション、または一致するファイルを開いたときに読み込まれる。常にコンテキストにある必要のないタスク向けの指示にはスキルを使い、スキルは呼び出したとき、またはClaudeが関連すると判断したときだけ読み込まれる。私の整理:プロジェクト全体に当てはまる短いルールはCLAUDE.md、特定の種類のファイルに関わるものはパス指定ルール、一連のワークフローはスキル。また第三者の解説は、圧縮後にパス指定ルールはClaudeが一致するファイルを再び読むまで戻らないと述べるが、公式ドキュメントでは見つけられなかったので、可能性として扱う。

出典:How Claude remembers your project - Claude Code Docs、What survives compaction - ClaudeFast
図解
路徑限定規則何時進入 context沒有 paths 的規則啟動時載入,有 paths 的規則等 Claude 碰到符合的檔案才載入;frontmatter YAML 寫壞會變成無條件載入How a path-scoped rule gets into context.claude/rules/code-style.md (no paths)api.md (paths: src/api/**/*.ts)testing.md (paths: **/*.test.ts)only "paths" is read from frontmatterLoads at launchsame priority as CLAUDE.mdWaits for a matching fileRead, Write, Edit, or cat/headRule enters contextwhen Claude touches src/api/users.tsPitfall: if the frontmatter YAML does not parse, the rule loads as if it had NO pathsA rule meant for API files only then loads in every session. Check with: claude --debugAlso: escape [ as \[ in globs; a pattern that cannot be read matches nothing~/.claude/rules/ applies to every project on your machineSymlinks to outside the working directory need external-import approval; only rules without paths loadTask-specific instructions that need not always be in context belong in a skillClaude Skill Me · claudeskill-me.com
スクリーンショット歓迎。転載時は出典を明記してください。
質問する
10文字以上入力してください
関連記事
インストールしたSkillがトリガーされない理由:15,000文字の予算超過をClaudeCodeは警告なしで静かに処理する
practice · 09/02
/compact実行後、ClaudeがSkillを使わなくなった?故障ではなく、自動的に復元しないよう設計されている
beginners · 10/02
Claude Modsは単なる別種のPluginではない——Paneを描画し、画面レンダリングを横取りできる。外部拡張機能には絶対にできないことだ
skill-library · 10/05
ClaudeCodeはカスタムコマンドをSkillシステムに統合した——「CommandsとSkillsの違い」を説く多くのガイドはすでに古い
skill-library · 09/05
関連ニュース