promote について
自動メモリに記録されたパターンを、CLAUDE.mdや対象を絞ったルールファイルの簡潔な指示に変換するClaudeスキルです。プロジェクトの慣習を管理する用途向けで、元のパターンと書き込み先を確認してからルールを作成し、メモリを整理します。
主な機能
- 01自動メモリ内のパターン検索
- 02プロジェクト用または対象限定の保存先選択
- 03メモを簡潔な指示に整理
- 04CLAUDE.mdやルールファイルへの書き込み
- 05メモリ項目の削除前に確認
活用シーン
- 01繰り返すプロジェクト規約のルール化
- 02指定したファイルパスだけに指針を適用
- 03確立した知見を自動メモリからルールへ移行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill promoteインストール後、Claude Code で/promoteを入力して読み込まれたか確認します。
詳細
/si:promote — 学びをルールに昇格
Claude の自動メモリにある実証済みのパターンをプロジェクトのルールシステムに移し、背景メモではなく、遵守が求められる指示にします。
使用方法
/si:promote <pattern description> # Auto-detect best target
/si:promote <pattern> --target claude.md # Promote to CLAUDE.md
/si:promote <pattern> --target rules/testing.md # Promote to scoped rule
/si:promote <pattern> --target rules/api.md --paths "src/api/**/*.ts" # Scoped with paths
ワークフロー
Step 1: パターンを理解する
ユーザーの説明を解析します。曖昧な場合は、確認の質問を1つします。
- 「Claude にどのような具体的な動作をしてほしいですか?」
- 「これはすべてのファイルに適用されますか、それとも特定のパスに適用されますか?」
Step 2: 自動メモリでパターンを見つける
# Search MEMORY.md for related entries
MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory"
grep -ni "<keywords>" "$MEMORY_DIR/MEMORY.md"
一致する項目を表示し、それがユーザーの意図したものか確認します。
Step 3: 適切な保存先を決める
| パターンの適用範囲 | 保存先 | 例 |
|---|---|---|
| プロジェクト全体に適用 | ./CLAUDE.md | 「npm ではなく pnpm を使う」 |
| 特定のファイル形式に適用 | .claude/rules/<topic>.md | 「API ハンドラーには検証が必要」 |
| すべてのプロジェクトに適用 | ~/.claude/CLAUDE.md | 「明示的なエラー処理を優先する」 |
ユーザーが保存先を指定していない場合は、適用範囲に基づいて推奨します。
Step 4: 簡潔なルールにまとめる
自動メモリのメモ形式で記された学びを、CLAUDE.md の指示形式に変換します。
変換前(MEMORY.md — 説明形式):
このプロジェクトでは pnpm ワークスペースを使います。npm install を試したところ失敗しました。ロックファイルは pnpm-lock.yaml です。依存関係のインストールには pnpm install を使う必要があります。
変換後(CLAUDE.md — 指示形式):
## Build & Dependencies
- Package manager: pnpm (not npm). Use `pnpm install`.
まとめる際のルール:
- 可能な限り、1つのルールを1行にする
- 命令形にする(「X を使う」「常に Y する」「Z しない」)
- 概念だけでなく、コマンドや例を含める
- 背景説明は省き、指示だけを書く
Step 5: 保存先に書き込む
CLAUDE.md の場合:
- 既存の CLAUDE.md を読む
- 適切なセクションを見つける(または新しく作成する)
- 新しいルールを該当する見出しの下に追加する
- ファイルが200行を超える場合は、代わりに
.claude/rules/を使うよう提案する
.claude/rules/ の場合:
- ファイルが存在しない場合は作成する
- 適用範囲を限定する場合は、
pathsを含む YAML フロントマターを追加する - ルールの内容を書く
---
paths:
- "src/api/**/*.ts"
- "tests/api/**/*"
---
# API Development Rules
- All endpoints must validate input with Zod schemas
- Use `ApiError` class for error responses (not raw Error)
- Include OpenAPI JSDoc comments on handler functions
Step 6: 自動メモリを整理する
昇格後、MEMORY.md の元の項目を削除するか、印を付けます。
# Show what will be removed
grep -n "<pattern>" "$MEMORY_DIR/MEMORY.md"
削除してよいかユーザーに確認します。その後、MEMORY.md を編集し、昇格した項目を削除します。これにより、新しい学びのためのスペースが確保されます。
Step 7: 確認する
✅ Promoted to {{target}}
Rule: "{{distilled rule}}"
Source: MEMORY.md line {{n}} (removed)
MEMORY.md: {{lines}}/200 lines remaining
The pattern is now an enforced instruction. Claude will follow it in all future sessions.
昇格の判断ガイド
昇格する場合:
- 自動メモリに同じパターンが3回以上現れている
- そのパターンについて、Claude に複数回修正を指示した
- すべてのコントリビューターが知っておくべきプロジェクトの慣例である
- 繰り返し発生するミスを防げる
昇格しない場合:
- 一度限りのデバッグメモである(自動メモリに残す)
- セッション固有のコンテキストである(セッションメモリで扱う)
- 近いうちに変わる可能性がある(移行中など)
- 既存のルールでカバーされている
CLAUDE.md と .claude/rules/ の使い分け
| CLAUDE.md を使う場合 | .claude/rules/ を使う場合 |
|---|---|
| プロジェクト全体のルール | ファイル形式に固有のパターン |
| ビルドコマンド | テストの慣例 |
| アーキテクチャの決定事項 | API 設計ルール |
| チームの慣例 | フレームワーク固有の注意点 |
ヒント
- CLAUDE.md は200行未満に保ち、あふれる分には rules/ を使う
- 段落よりも、1行に1つのルールを書くほうが管理しやすい
- 概念だけでなく、具体的なコマンドを含める
- 昇格したルールを四半期ごとに見直し、不要になったものは削除する
コメント
Markdown 対応