From memory-optimizer
メモリ管理のベストプラクティス集。推奨パターン、アンチパターン、実践的なヒントを提供。Use when user asks about best practices, recommended patterns, memory tips, or how to write good memory. Also use when user says ベストプラクティス, 推奨, コツ, ヒント, 良い書き方.
How this skill is triggered — by the user, by Claude, or both
Slash command
/memory-optimizer:best-practicesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
メモリ管理のベストプラクティスとアンチパターンを提供。
メモリ管理のベストプラクティスとアンチパターンを提供。
このスキルはメモリ管理の推奨パターンと避けるべきパターンを説明します。
推奨:
## コマンド
- `npm run dev` - 開発サーバー
- `npm test` - テスト実行
避ける:
## 開発コマンドについて
開発を行う際には、以下のコマンドを使用します。
まず、npm run dev コマンドを実行すると開発サーバーが起動します。
このコマンドは Hot Module Replacement をサポートしており...
(長い説明が続く)
推奨:
## 命名規則
- 変数: camelCase(例: `userName`, `isActive`)
- 定数: UPPER_SNAKE(例: `MAX_RETRY_COUNT`)
- クラス: PascalCase(例: `UserService`)
避ける:
## 命名規則
適切な命名を心がけてください。
推奨:
project/
├── CLAUDE.md # 全体ルール(100行)
├── .claude/rules/
│ ├── api.md # API ルール
│ └── testing.md # テストルール
└── src/
└── CLAUDE.md # src 固有ルール
避ける:
project/
└── CLAUDE.md # 全部入り(500行)
推奨:
---
paths:
- "**/*.test.ts"
---
# テストルール
テストファイルにのみ適用されるルール
避ける:
# テストルール
※ このルールは *.test.ts ファイルにのみ適用してください
(paths 条件を使っていない)
推奨:
# CLAUDE.md
セキュリティについては `.claude/rules/security.md` を参照。
避ける:
# CLAUDE.md
## セキュリティ
- 入力検証必須
...
# .claude/rules/api.md
## セキュリティ(重複)
- 入力検証必須
...
問題: 500行以上の単一ファイル
影響:
対策: rules フォルダに分離
問題:
- 良いコードを書く
- 適切にエラーハンドリング
影響:
対策: 具体的なルールを記載
問題:
## API Keys
- OpenAI: sk-xxx...
- AWS: AKIA...
影響:
対策: 環境変数を使用、CLAUDE.local.md に分離
問題: 50個の小さな rules ファイル
影響:
対策: 関連ルールを統合
問題: 古いコマンドやルールが残っている
影響:
対策: 定期的なレビュー
新規プロジェクトは以下から開始:
# プロジェクト名
## 概要
1-2文で説明
## 技術スタック
- 言語:
- フレームワーク:
- DB:
## コマンド
| コマンド | 説明 |
|---------|------|
| | |
## 規約
- 変数名: camelCase
- コメント: 日本語
Week 1: 基本情報のみ
Week 2: コーディング規約追加
Week 3: 必要に応じて rules 分離
Week 4: レビューと最適化
# チームでのメモリ管理
1. CLAUDE.md はリポジトリに含める
2. CLAUDE.local.md は各自で設定
3. rules の追加は PR でレビュー
□ 月次: 内容の正確性確認
□ 四半期: 構成の見直し
□ 年次: 大規模リファクタリング
□ 300行以下か
□ プロジェクト概要があるか
□ 技術スタックが明記されているか
□ 開発コマンドが正確か
□ 秘密情報が含まれていないか
□ 具体的なルールが記載されているか
□ 20ファイル以下か
□ 各ファイル200行以下か
□ paths 条件が適切か
□ 重複がないか
□ 命名が分かりやすいか
□ 構成が分かりやすいか
□ 更新しやすいか
□ チームメンバーが理解できるか
□ 実際に Claude の応答が改善されているか
良い例:
## TypeScript 規約
### 型定義
- `any` は禁止(`unknown` を使用)
- 戻り値の型は明示
- オブジェクトは `interface` を使用
### エラー処理
- try-catch は最外層で
- カスタムエラークラスを使用
悪い例:
## TypeScript 規約
TypeScript のベストプラクティスに従ってください。
型安全なコードを書きましょう。
良い例:
## 概要
EC サイトのバックエンド API。
ユーザー認証、商品管理、注文処理を提供。
悪い例:
## 概要
このプロジェクトは素晴らしいアプリケーションです。
多くの機能があります。
Q: 新しいプロジェクトのメモリ設定のベストプラクティスを教えて
A: テンプレートから始め、プロジェクト概要、技術スタック、コマンドを記載。
規模が大きくなったら rules に分離することを推奨します。
Q: 今の CLAUDE.md をベストプラクティスに沿って改善したい
A: まず監査を実施し、肥大化したセクションの分離、曖昧な記述の具体化、
重複の削除を順に行います。
推奨: 必要な範囲のみを対象にする
# Good: 具体的なディレクトリとファイルタイプを指定
paths:
- "src/components/**/*.tsx"
- "src/pages/**/*.tsx"
避ける: 過度に広範囲なパターン
# Bad: プロジェクト全体を対象にしてしまう
paths:
- "**/*.tsx" # すべての .tsx ファイルが対象
推奨: 重複しない paths 設計
# .claude/rules/frontend.md
paths:
- "src/components/**/*.tsx"
# .claude/rules/typescript.md
paths:
- "src/utils/**/*.ts" # 重複しない
避ける: 広範囲な重複
# .claude/rules/frontend.md
paths:
- "src/**/*.tsx"
# .claude/rules/typescript.md
paths:
- "**/*.tsx" # frontend.md と重複が多い
推奨: ディレクトリ構造に合わせた paths
# .claude/rules/api-routes.md
paths:
- "src/app/api/**/*.ts"
# .claude/rules/server-actions.md
paths:
- "src/app/actions/**/*.ts"
避ける: 不規則なパターン
# .claude/rules/backend.md
paths:
- "src/app/api/**/*.ts"
- "lib/utils/api-*.ts"
- "config/api.ts"
# 関連性が薄いパスが混在
ファイルを作成する前に、該当する rules を確認:
1. 作成予定のファイルパスを決定
例: src/components/NewButton.tsx
2. /memory-optimizer:check-file で該当 rules を確認
/memory-optimizer:check-file src/components/NewButton.tsx
3. 表示された rules のガイドラインに従って実装
編集前に適用される rules を把握:
1. 編集対象ファイルを特定
例: src/utils/format.ts
2. check-file コマンドで rules を確認
/memory-optimizer:check-file src/utils/format.ts
3. 該当 rules の内容を読んで編集方針を決定
新しい rule を追加したら、カバレッジを検証:
1. 新しい rule ファイルを作成
.claude/rules/new-feature.md
2. paths 条件を設定
paths: ["src/features/new/**/*.ts"]
3. /memory-optimizer:audit で全体のカバレッジを確認
- 意図したファイルがカバーされているか
- 他の rules と重複していないか
- 漏れているファイルがないか
小規模プロジェクト(< 50 ファイル)
# .claude/rules/typescript.md
paths:
- "**/*.ts"
- "**/*.tsx"
# シンプルな構成で十分
中規模プロジェクト(50-500 ファイル)
# .claude/rules/components.md
paths:
- "src/components/**/*.tsx"
# .claude/rules/utils.md
paths:
- "src/utils/**/*.ts"
# .claude/rules/api.md
paths:
- "src/api/**/*.ts"
# 機能別に分離
大規模プロジェクト(500+ ファイル)
# .claude/rules/ui/buttons.md
paths:
- "src/components/Button/**/*.tsx"
- "src/components/IconButton/**/*.tsx"
# .claude/rules/ui/forms.md
paths:
- "src/components/Form/**/*.tsx"
- "src/components/Input/**/*.tsx"
# .claude/rules/features/auth.md
paths:
- "src/features/auth/**/*.ts"
- "src/features/auth/**/*.tsx"
# より細かく分離
テストファイルのみ対象
paths:
- "**/*.test.ts"
- "**/*.test.tsx"
- "**/*.spec.ts"
特定のディレクトリを除外
# paths では除外ができないため、該当する範囲のみを指定
paths:
- "src/app/**/*.tsx" # src/app 配下のみ
# src/legacy は対象外(paths で除外できない)
複数の拡張子を含む
paths:
- "src/scripts/**/*.js"
- "src/scripts/**/*.ts"
- "src/scripts/**/*.sh"
確認方法:
# check-file コマンドでテスト
/memory-optimizer:check-file <your-file-path>
よくある原因:
** パターンの誤用(ディレクトリ区切りを含む再帰的マッチング)対応方法:
/memory-optimizer:audit
# "Overlapping coverage" セクションで重複を確認
確認方法:
/memory-optimizer:audit
# "Uncovered file types" セクションで未カバーファイルを確認
対応方針:
paths 条件とファイル検出機能を活用することで、以下が実現できます:
これらの機能を組み合わせて、プロジェクトのメモリ管理を最適化してください。
npx claudepluginhub biwakonbu/cc-plugins --plugin memory-optimizerCreates and refactors CLAUDE.md files following best practices for size, structure, and content organization. Includes memory hierarchy, 3-tier documentation system, and conditional rules.
Configures Claude Code's memory: CLAUDE.md files, .claude/rules for scoped instructions, auto memory. Persists preferences, coding conventions across sessions.
Provides best practices for creating, updating, and auditing CLAUDE.md files including constraints, commands, architecture overviews, and bloat reduction for projects.