From memory-optimizer
任意のファイルパスが .claude/rules/ の paths 条件に該当するかを判定する。ファイル操作前の確認、paths 条件のテスト、rules 適用範囲の確認に使用。Determines if a file path matches any paths conditions in .claude/rules/. Use when checking if a file is covered by rules, testing path patterns, verifying rules coverage, or when the user asks about rule applicability.
How this skill is triggered — by the user, by Claude, or both
Slash command
/memory-optimizer:file-path-matcherThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
このスキルは、指定されたファイルパスが `.claude/rules/` 配下のルールファイルの `paths` 条件に該当するかを判定します。
このスキルは、指定されたファイルパスが .claude/rules/ 配下のルールファイルの paths 条件に該当するかを判定します。
指定されたファイルパスに対して、以下を実行します:
.claude/rules/ 配下の全ルールファイル(*.md)を検索paths フィールドを抽出以下の glob パターンに対応:
| パターン | 説明 | 例 |
|---|---|---|
* | 任意の文字列(パスセパレータを除く) | *.ts → app.ts |
** | 任意のディレクトリ階層 | src/**/*.tsx → src/components/Button.tsx |
? | 任意の1文字 | test?.ts → test1.ts |
[abc] | 指定文字のいずれか | file[123].ts → file1.ts |
{a,b} | いずれかのパターン | {src,lib}/*.ts → src/app.ts |
以下の形式で結果を表示します:
File: src/components/Button.tsx
Matching Rules:
✓ .claude/rules/frontend-standards.md
- Paths: ["src/components/**/*.tsx", "src/pages/**/*.tsx"]
- Match pattern: src/components/**/*.tsx
✓ .claude/rules/typescript-guidelines.md
- Paths: ["**/*.tsx", "**/*.ts"]
- Match pattern: **/*.tsx
Applied Rules (in priority order):
1. frontend-standards.md
2. typescript-guidelines.md
No rules match
# .claude/rules/ 配下の全 .md ファイルを検索
find .claude/rules -type f -name "*.md" 2>/dev/null
各ルールファイルのフロントマターから paths フィールドを抽出:
# フロントマターの paths を抽出(YAML配列形式)
sed -n '/^---$/,/^---$/p' .claude/rules/example.md | grep '^paths:' -A 100
Bash の case 文を使用してパターンマッチング:
file_path="src/components/Button.tsx"
pattern="src/**/*.tsx"
# Bash の extglob を有効化
shopt -s extglob
case "$file_path" in
$pattern) echo "Match" ;;
*) echo "No match" ;;
esac
重要な注意事項:
case 文では ** を標準サポートしない** パターンは手動で再帰的マッチングを実装する必要があるfind コマンドの -path オプションを使用可能複数の rules がマッチした場合、以下の優先順位で適用:
src/components/*.tsx > **/*.tsx)ユーザー: src/components/Button.tsx はどの rules が適用されますか?
AI の応答:
.claude/rules/ 配下のルールファイルを検索src/components/Button.tsx とマッチング判定ユーザー: "src/**/*.tsx" パターンは src/components/Header/index.tsx にマッチしますか?
AI の応答:
src/**/*.tsx を解析src/components/Header/index.tsx とマッチングユーザー: scripts/deploy.sh はどの rules でカバーされていますか?
AI の応答:
scripts/deploy.sh とマッチング判定以下のケースを適切に処理:
.claude/rules/ ディレクトリが存在しない
→ "No rules directory found" と表示
ルールファイルに paths フィールドがない → そのルールをスキップ
paths フィールドが不正な形式 → 警告を表示してスキップ
ファイルパスが相対パスでない → プロジェクトルートからの相対パスに変換
ファイル操作前の確認
paths 条件の設計検証
カバレッジの可視化
memory-optimizer:rules-guide - rules フォルダの基本的な使い方memory-optimizer:memory-audit - メモリ全体の監査memory-optimizer:best-practices - メモリ管理のベストプラクティスA: Bash の case 文は ** を標準サポートしません。以下の代替手段を使用:
# find コマンドを使用
find . -path "src/**/*.tsx" -type f
A: 全てのパスをプロジェクトルートからの相対パスに正規化:
# 絶対パスを相対パスに変換
realpath --relative-to="$PROJECT_ROOT" "$file_path"
A: 複数行にわたる YAML 配列を正しく解析:
# Python や jq を使用して確実に解析
python3 -c "import yaml; print(yaml.safe_load(open('rule.md'))['paths'])"
AI がこのスキルを実装する際の確認項目:
.claude/rules/ ディレクトリの存在確認*.md)の検索npx claudepluginhub biwakonbu/cc-plugins --plugin memory-optimizerManages modular Claude rules in .claude/rules/ directory, supporting path-specific globs, brace expansion, project-wide, and user-level rules. Use to create, edit, list, generate, or sync rules.
Evaluates Claude Code rules in .claude/rules/ directories, validating YAML frontmatter, glob patterns, content quality, organization, and token efficiency for quality audits.
Guides authoring .claude/rules/*.md files for auto-applied, file-pattern-scoped constraints on code conventions, quality standards, and project-specific guidance.