mb-garden について
mb-gardenは、既存のMemory Bankを保守するエージェントスキルです。文書の整理や形式上の問題の修正、ナビゲーションの整合性維持に向け、決定的なlint・doctorツールと任意のGitHub Actionsチェックを提供します。
主な機能
- 01文書のfrontmatterとリンクの検査
- 02タスク記録と必須項目の検証
- 03長文や重複文書の再構成
- 04古い文書のアーカイブと案内の維持
- 05任意のGitHub Actionsチェック設定
活用シーン
- 01Memory Bankの構造上の問題の修正
- 02古い文書の定期整理とインデックス更新
- 03GitHub Actionsでの文書チェック追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mrvladd-d/ memobank --skill mb-gardenインストール後、Claude Code で/mb-gardenを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/mb-doctor.mjsmb-lint.mjsmemory-bank-lint.yml詳細
mb-garden — Memory Bank のメンテナンス(ドキュメントの整理)
- 概要: Memory Bank のドキュメントを保守し、管理上の問題を修正して、ナビゲーションの一貫性を保ちます。
- 使用する場面:
.memory-bank/が存在し、内容の乖離、古くなったドキュメント、または壊れたルーティングを減らしたい場合に使用します。 - 入力: 既存の
.memory-bank/。 - 出力: 整理された Memory Bank、解決済みの管理上の問題、および継続的なメンテナンスのためのオプションの CI サポート。
目標
.memory-bank/ の正確性とナビゲーションのしやすさを保ち、初期化のコストを抑えます。
mb-garden は、メンテナンスと整理のガイダンスを担当します。現在のパッケージには決定論的なツールのアセットも含まれていますが、mb-lint と mb-doctor は引き続き別々の役割を持つ独立したゲートです。
前提条件
.memory-bank/が存在すること。
プロセス
1) 決定論的なメンテナンスツールをインストールする
リポジトリにまだツールがない場合:
assets/mb-lint.mjsを使ってscripts/mb-lint.mjsを作成します。assets/mb-doctor.mjsを使ってscripts/mb-doctor.mjsを作成します。- 実行可能にします(任意)。
- パッケージスクリプトを追加します(任意):
"mb:lint": "node scripts/mb-lint.mjs"および"mb:doctor": "node scripts/mb-doctor.mjs"。
現在のパッケージには、両方のツールアセットが mb-garden/assets に含まれています。これはパッケージ化上の詳細であり、doctor の準備状況を確認する役割を概念的に担うという意味ではありません。
次を実行します:
node scripts/mb-lint.mjs
node scripts/mb-doctor.mjs
すべての ERROR の指摘を修正します:
- YAML フロントマターの欠落(description + status)
- リンク切れ
index.mdがないフォルダー- 必須の
tierの欠落や無効な値を含む、スキーマに準拠したタスクレコードの欠落または無効化 - 古い
.memory-bank/tasks/backlog.md、またはワークフローの状態管理に使われている Markdown のタスクカード - 古い
risk/risk.levelタスクフィールド。タスクのルーティングはtask.tierのみで行います
mb-lint は構造および機械的な管理上の問題を確認するゲートです。mb-doctor は mb-lint の上位にある、ワークフローと自律実行の準備状況を確認するゲートです。デフォルトの mb-doctor は、通常の健全性チェックと新規のスケルトンに適しています。厳格モードは JSON タスクキューの作成後にのみ実行します。つまり、/prd-to-tasks の実行後、自律スケジューラーの実行前の /autonomous 内、またはキューがすでに準備されている場合の /autopilot の前です:
node scripts/mb-lint.mjs
node scripts/mb-doctor.mjs --strict
空のタスクレジストリを持つ、生成されたばかりのスケルトンに厳格モードを必須として適用しないでください。
2) 使いやすさを高めるためにリファクタリングする
- 約700行を超えるドキュメントは、個別のドキュメントとルーターインデックスに分割します。
- 主要な概念が、従来の2つのドキュメント(
architectureの WHAT/WHY +guidesの HOW)か、同等の仕様駆動型サポートドキュメントのいずれかで網羅されていることを確認します。 - コピーされたコードや設定は、参照元へのリンクに置き換えます。
3) 古くなったドキュメントや置き換えられたドキュメントをアーカイブする
- 古くなったドキュメントを
.memory-bank/archive/に移動します。 - 元の場所には、アーカイブへのリンクを含む短い案内用スタブを残します。
4) 任意:CI ゲートを追加する
リポジトリで GitHub Actions を使用している場合:
assets/memory-bank-lint.ymlを元に.github/workflows/memory-bank-lint.ymlを作成します。
5) 短いレポートを作成する
変更内容と残作業の概要を、次の場所に書き込みます:
.tasks/TASK-MB-GARDEN/TASK-MB-GARDEN-S-01-final-report-docs-01.md
6) 毎週のメンテナンスチェックリスト
このチェックリストを毎週(または意味のある変更を5〜10件行うごとに)実行します:
- フロントマター監査:すべての
.memory-bank/**/*.mdにdescription+statusがあることを確認します。 - 古いドキュメント:2週間以上更新されていないドキュメントを確認し、アーカイブするか更新します。
- 概念の網羅性チェック:すべての主要な概念が、対応する
architecture/<X>.md+guides/<X>.mdのペア、または適切にルーティングされた同等の仕様駆動型サポートドキュメントで網羅されていることを確認します。 - RTM の同期:
requirements.mdの RTM が、実際の機能およびテストの状況と一致していることを確認します。 - タスクレコードの管理:完了したタスクが
.task.jsonで完了済みとしてマークされ、すべてのタスクにtierがあり、機能へのリンクがない孤立タスクが存在しないことを確認します。 - 変更履歴:
.memory-bank/changelog.mdに最近の変更が記録されていることを確認します。 - インデックスリンク:
index.mdとルーターインデックス内のすべてのリンクが正しく解決されることを確認します。 - アーカイブの案内用スタブ:
archive/内のすべてのドキュメントについて、元の場所に案内用スタブがあることを確認します。
完了の定義
node scripts/mb-lint.mjsがパスします(エラー 0 件)。node scripts/mb-doctor.mjsの準備状況ゲートがデフォルトモードでパスし、スケジューラー/自動操縦の実行前にキュー登録後の--strictがパスします。- インデックスのナビゲーションに一貫性があります。
- 明らかな重複や、アーカイブされていない古いドキュメントはありません。
- 毎週のチェックリスト項目に対応済みです。