mcpField
M
memory-manage

memory-manage

github.com/catlog22エージェントワークフロー2.1k68 回インストール19 週間前に更新
リポジトリ

memory-manage について

memory-manageは、プロジェクトメモリの更新とドキュメント生成を行うエージェントスキルです。全体・差分・単一モジュールの更新や、API.mdとREADME.mdの生成に処理を振り分けます。

主な機能

  1. 01メモリ更新とドキュメント生成への振り分け
  2. 02全体・差分・単一モジュールの更新
  3. 03API.mdとREADME.mdの生成
  4. 04曖昧な依頼への対話式確認

活用シーン

  1. 01プロジェクト全体のCLAUDE.md更新
  2. 02Git変更箇所に応じたメモリ更新
  3. 03単一モジュールのCLAUDE.md管理
  4. 04プロジェクト文書の全体または差分生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/catlog22/claude-code-workflow --skill memory-manage

インストール後、Claude Code で/memory-manageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

phases/
01-update-full.md
02-update-related.md
03-update-single.md
04-docs-full.md
05-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-fullphases/01-update-full.mdCLAUDE.md の全体更新、3 層アーキテクチャ、エージェントのバッチ処理
update-relatedphases/02-update-related.mdGit で変更された CLAUDE.md の更新、深さ優先
update-singlephases/03-update-single.md単一モジュールの CLAUDE.md、Explore + ハンドブック形式
docs-fullphases/04-docs-full.mdAPI.md + README.md の全体生成
docs-relatedphases/05-docs-related.mdGit で変更されたドキュメントの生成、増分処理

共通設定

ツールのフォールバック階層

すべてのサブコマンドで、同じフォールバックを使用します。

--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-full20 モジュール未満20 モジュール以上エージェントあたり 4
update-related15 モジュール未満15 モジュール以上エージェントあたり 4
update-single常に単独該当なし1
docs-full20 モジュール未満20 モジュール以上エージェントあたり 4
docs-related15 モジュール未満15 モジュール以上エージェントあたり 4

基本ルール

  1. 実行前に振り分ける:実行を開始する前にサブコマンドを決定します
  2. フェーズドキュメントを正とする:実行ロジックはすべてフェーズドキュメントに記述し、ルーターは振り分けのみを行います
  3. 必要に応じて読み込む:選択したフェーズドキュメントのみを読み込み、すべてを一度に読み込まないでください
  4. 引数をそのまま渡す:残りの引数を変更せず、サブコマンドに渡します
  5. ユーザー確認:各サブコマンドで、計画の提示と y/n の確認を行います

エラー処理

エラー解決方法
不明なサブコマンド対話型フローに移行します
フェーズドキュメントが見つからないファイルパスエラーで中止します
update-single のパスが指定されていないQ3 を通じてプロンプトを表示します
サブコマンドの実行に失敗フェーズドキュメント独自のエラー処理に従います

コメント