memory-manage について
memory-manageは、プロジェクトメモリの更新とドキュメント生成を行うエージェントスキルです。全体・差分・単一モジュールの更新や、API.mdとREADME.mdの生成に処理を振り分けます。
主な機能
- 01メモリ更新とドキュメント生成への振り分け
- 02全体・差分・単一モジュールの更新
- 03API.mdとREADME.mdの生成
- 04曖昧な依頼への対話式確認
活用シーン
- 01プロジェクト全体のCLAUDE.md更新
- 02Git変更箇所に応じたメモリ更新
- 03単一モジュールのCLAUDE.md管理
- 04プロジェクト文書の全体または差分生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill memory-manageインストール後、Claude Code で/memory-manageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
phases/01-update-full.md02-update-related.md03-update-single.md04-docs-full.md05-docs-related.md詳細
メモリ管理スキル
プロジェクトのメモリ(CLAUDE.md)の更新とドキュメント(API.md/README.md)の生成を一元管理するエントリーポイントです。引数や対話形式のニーズ確認に応じて、専用のサブコマンドに振り分けます。
アーキテクチャの概要
┌──────────────────────────────────────────────────────┐
│ Memory Manage (Router) │
│ → Parse input → Detect mode → Route to phase │
└───────────────┬──────────────────────────────────────┘
│
┌───────┴───────┐
↓ ↓
┌───────────┐ ┌───────────┐
│ CLAUDE.md │ │ Docs │
│ 管理 │ │ 生成 │
└─────┬─────┘ └─────┬─────┘
│ │
┌────┼────┐ ┌────┴────┐
↓ ↓ ↓ ↓ ↓
Full Related Single Full Related
全量 增量 单模块 全量 增量
実行フロー
ステップ 1:入力を解析して振り分ける
ユーザー入力から実行モードを判定します。
自動振り分けルール(優先順位順):
| シグナル | 振り分け先 | 例 |
|---|---|---|
| 明示的なサブコマンドトークン | → 直接ディスパッチ | update-full --tool qwen |
| キーワード:full、全量、all、entire + update/claude | → update-full | 「全量更新claude」 |
| キーワード:related、changed、增量、diff + update/claude | → update-related | 「更新变更模块」 |
| キーワード:single、module、单模块 + パス形式のトークン | → update-single | 「更新 src/auth 模块」 |
| キーワード:docs、documentation、文档 + full/all/全量 | → docs-full | 「全量生成文档」 |
| キーワード:docs、documentation、文档 + related/changed/增量 | → docs-related | 「增量生成文档」 |
| あいまいな場合、または引数がない場合 | → AskUserQuestion | /memory-manage |
有効なサブコマンドトークン:update-full、update-related、update-single、docs-full、docs-related
直接ディスパッチの例:
input = "update-full --tool qwen"
→ subcommand = "update-full", remainingArgs = "--tool qwen"
→ Read phases/01-update-full.md, execute
input = "update-single src/auth --tool gemini"
→ subcommand = "update-single", remainingArgs = "src/auth --tool gemini"
→ Read phases/03-update-single.md, execute
あいまいな場合、または引数がない場合は、ステップ 2 に進みます。
ステップ 2:対話形式でニーズを確認する
Q1 — 内容のカテゴリを決定:
AskUserQuestion({
questions: [{
question: "你要管理哪类内容?",
header: "类别",
multiSelect: false,
options: [
{
label: "CLAUDE.md (项目记忆)",
description: "更新模块指令文件,帮助Claude理解代码库结构和约定"
},
{
label: "项目文档 (API+README)",
description: "生成API.md和README.md到.workflow/docs/目录"
}
]
}]
})
Q2a — CLAUDE.md の管理範囲(ユーザーが CLAUDE.md を選択した場合):
AskUserQuestion({
questions: [{
question: "CLAUDE.md 更新范围?",
header: "范围",
multiSelect: false,
options: [
{
label: "增量更新 (Recommended)",
description: "仅更新git变更模块及其父级,日常开发首选"
},
{
label: "全量更新",
description: "更新所有模块,3层架构bottom-up,适合重大重构后"
},
{
label: "单模块更新",
description: "指定一个模块,Explore深度分析后生成说明书式文档"
}
]
}]
})
振り分け先:
- 「增量更新」→
update-related→ 参照:phases/02-update-related.md - 「全量更新」→
update-full→ 参照:phases/01-update-full.md - 「单模块更新」→
update-single→ Q3 に進む
Q2b — ドキュメントの生成範囲(ユーザーがプロジェクトドキュメントを選択した場合):
AskUserQuestion({
questions: [{
question: "文档生成范围?",
header: "范围",
multiSelect: false,
options: [
{
label: "增量生成 (Recommended)",
description: "仅为git变更模块生成/更新文档,日常开发首选"
},
{
label: "全量生成",
description: "所有模块+项目级文档(ARCHITECTURE.md等),适合初始化"
}
]
}]
})
振り分け先:
- 「增量生成」→
docs-related→ 参照:phases/05-docs-related.md - 「全量生成」→
docs-full→ 参照:phases/04-docs-full.md
Q3 — パスを指定(update-single でパス引数がない場合のみ必要):
AskUserQuestion({
questions: [{
question: "请指定要更新的模块路径:",
header: "路径",
multiSelect: false,
options: [
{
label: "src",
description: "src 目录"
},
{
label: ".",
description: "项目根目录"
}
]
}]
})
ユーザーは「Other」を選択して、カスタムパスを入力できます。
ステップ 3:選択したフェーズを実行する
振り分け結果に基づいて、対応するフェーズを読み込み、実行します。
フェーズ参照ドキュメント(フェーズの実行時に必要に応じて読み込みます):
| モード | ドキュメント | 目的 |
|---|---|---|
| update-full | phases/01-update-full.md | CLAUDE.md の全体更新、3 層アーキテクチャ、エージェントのバッチ処理 |
| update-related | phases/02-update-related.md | Git で変更された CLAUDE.md の更新、深さ優先 |
| update-single | phases/03-update-single.md | 単一モジュールの CLAUDE.md、Explore + ハンドブック形式 |
| docs-full | phases/04-docs-full.md | API.md + README.md の全体生成 |
| docs-related | phases/05-docs-related.md | Git で変更されたドキュメントの生成、増分処理 |
共通設定
ツールのフォールバック階層
すべてのサブコマンドで、同じフォールバックを使用します。
--tool gemini → [gemini, qwen, codex] // default
--tool qwen → [qwen, gemini, codex]
--tool codex → [codex, gemini, qwen]
共通パラメーター
| パラメーター | 説明 | デフォルト | 使用対象 |
|---|---|---|---|
--tool <gemini|qwen|codex> | 優先 CLI ツール | gemini | すべて |
--path <dir> | 対象ディレクトリ | . | update-full、docs-full |
<path>(位置引数) | モジュールのパス | (必須) | update-single |
バッチ処理のしきい値
| サブコマンド | 直接実行 | エージェントバッチ | バッチサイズ |
|---|---|---|---|
| update-full | 20 モジュール未満 | 20 モジュール以上 | エージェントあたり 4 |
| update-related | 15 モジュール未満 | 15 モジュール以上 | エージェントあたり 4 |
| update-single | 常に単独 | 該当なし | 1 |
| docs-full | 20 モジュール未満 | 20 モジュール以上 | エージェントあたり 4 |
| docs-related | 15 モジュール未満 | 15 モジュール以上 | エージェントあたり 4 |
基本ルール
- 実行前に振り分ける:実行を開始する前にサブコマンドを決定します
- フェーズドキュメントを正とする:実行ロジックはすべてフェーズドキュメントに記述し、ルーターは振り分けのみを行います
- 必要に応じて読み込む:選択したフェーズドキュメントのみを読み込み、すべてを一度に読み込まないでください
- 引数をそのまま渡す:残りの引数を変更せず、サブコマンドに渡します
- ユーザー確認:各サブコマンドで、計画の提示と y/n の確認を行います
エラー処理
| エラー | 解決方法 |
|---|---|
| 不明なサブコマンド | 対話型フローに移行します |
| フェーズドキュメントが見つからない | ファイルパスエラーで中止します |
| update-single のパスが指定されていない | Q3 を通じてプロンプトを表示します |
| サブコマンドの実行に失敗 | フェーズドキュメント独自のエラー処理に従います |