Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
7.3 KiB
トラッカーイシューから MSD Core を操作する方法
目標: カスタムスクリプトやトラッカー連携なしに、MSD Core に既存のコマンドのみを使って、GitHub・Linear・Jira の単一の適切にスコープされたイシューを分離されたワークスペースからマージ済み PR まで通じたパイプラインで処理する。
前提条件: MSD Core がインストール済みであること。イシューは明確なスコープ、観察可能な受け入れ基準、上流のブロッカーがない状態であること。
このパターンの背景にある概念と設計理由については、イシュー駆動オーケストレーションの説明を参照してください。
ステップ 1: イシューをフェーズにマッピングする
トラッカーイシューを開き、ROADMAP.md へのマッピングを決定します。
- イシューが既存のフェーズと一致する → フェーズ番号をメモしてステップ 2 に進む。
- イシューがスタンドアロンの新しい作業 → フェーズを追加する:
/msd-phase "Description matching the issue title"
- イシューが緊急で既存フェーズの間に挿入する必要がある → 小数フェーズを挿入する:
/msd-phase --insert 3 "Fix: description from issue"
トラッカーイシューの URL をコピーします。ステップ 3 で CONTEXT.md に貼り付けることで、コンテキスト圧縮を経ても追跡可能性が維持されます。
ステップ 2: 分離されたワークスペースを作成する
すべてのイシューには独自のワークスペース(独立した .planning/ ディレクトリを持つ git ワークツリー)を用意します。部分的な作業、中断されたプラン、探索的なコミットを main の外に保ちます。
/msd-workspace --new --name my-issue-slug --repos . --strategy worktree
続行する前にワークスペースディレクトリに移動します。
cd ~/msd-workspaces/my-issue-slug
ステップ 3: フェーズを議論する
計画が始まる前に実装上の決定を固定するために discuss-phase を実行します。セッションが開いたら、トラッカーイシューの URL を議論に貼り付けて CONTEXT.md に記録します。
/msd-discuss-phase N
MSD はイシューのスコープにある曖昧さ(エラーハンドリング、エッジケース、インターフェースコントラクト、技術選択)について質問します。回答がその後の計画を形作ります。
すべての答えがわかっていて素早く進みたい場合:
/msd-discuss-phase N --auto
ステップ 4: フェーズを計画する
/msd-plan-phase N
MSD はリサーチエージェントを起動し、CONTEXT.md の決定(イシュー URL を含む)を読み込み、アトミックな PLAN.md ファイルを生成します。プランチェッカーが各プランを保存前に検証します。
実行前に外部 AI CLI からのピアレビューが必要な場合(重要な変更には推奨):
/msd-review --phase N
/msd-plan-phase N --reviews
または、HIGH の懸念事項がなくなるまでプラン・レビュー・収束ループを実行するには:
/msd-plan-review-convergence N
ステップ 5: フェーズを実行する
インタラクティブなフェーズ単位の実行の場合:
/msd-execute-phase N
すべての残りのフェーズをハンズオフで実行する場合:
/msd-autonomous
進捗を監視しながらフェーズ全体で作業を dispatch できるインタラクティブなダッシュボードの場合:
/msd-manager
3 つのアプローチすべてで STATE.md を更新し、各タスクをアトミックにコミットし、フェーズ後の検証を実行します。
ステップ 6: 作業を検証する
/msd-verify-work N
MSD は(トラッカーイシューを反映した)フェーズゴールからの受け入れ基準を 1 つずつ確認します。何かが失敗した場合、MSD は根本原因を診断して修正プランを作成します。すべてのチェックが通るまで execute と verify を繰り返します。
コードが正しく見えても verification_failed はブロッカーとして扱ってください。失敗は通常、元のイシューからの見落とされた受け入れ基準を示しています。
ステップ 7: レビューとリリース
PR を開く前にコードレビューを実行します。
/msd-code-review N
/msd-code-review N --fix
次に PR を作成します。
/msd-ship N
MSD は計画成果物(フェーズゴール、変更概要、対応した要件、検証ステータス、主要な決定)から PR ボディを組み立てます。PR がマージされた時にトラッカーイシューが自動的にクローズされるよう、PR ボディに Closes #NNN または Fixes #NNN を含めます(または /msd-config で設定)。
ステップ 8: フォローアップ作業を記録する
イシューを進める中で関連する作業が見つかることがよくあります。コンテキストを失わずに記録します。
/msd-capture "Follow-up: description of discovered work" # Todo として追加
/msd-capture --seed "Idea worth a future phase" # 次のマイルストーン用に保存
/msd-capture --backlog "Not urgent but worth tracking" # バックログに保存
MSD はトラッカーに自動的に投稿しません。記録されたフォローアップからトラッカーイシューを作成するのは手動の別ステップです。これにより人間のレビューをループに保ちます。
条件分岐
| 状況 | 対応 |
|---|---|
| イシューが非常に小さい(タイポ、設定変更) | ワークスペース + discuss + plan をスキップして /msd-quick を使用する |
| イシューに複数の独立したサブタスクがある | /msd-manager を使ってプラン全体で並行実行する |
| イシューが別のイシューにブロックされている | 上流のブロッカーが解決されるまで開始しない;MSD には自動的な依存ポーラーがない |
| 実行中にイシューのスコープが想定より大きくなった | 停止し /msd-phase --insert N でサブフェーズを追加して続行する |
| インタラクティブな議論をスキップしたい | /msd-discuss-phase に --auto フラグを使用するか、プロジェクト全体の自動化のために workflow.skip_discuss: true を設定する |
| 複数のイシューが一貫したリリースを形成する | /msd-new-milestone でグループ化し /msd-autonomous で順番に実行する |