mcpField
A
aif-roadmap

aif-roadmap

github.com/lee-to開発1.1k99 回インストール今日更新
リポジトリ

aif-roadmap について

aif-roadmapは、プロジェクトの大枠のマイルストーンを作成・更新・確認する計画用スキルです。プロジェクトの背景とコードベースの証拠を使って進捗を追跡し、実装作業は対象外とします。

主な機能

  1. 01プロジェクトの大枠のマイルストーン作成
  2. 02ロードマップの更新と優先順位の変更
  3. 03コードの証拠に基づく進捗確認
  4. 04完了したマイルストーンと日付の記録
  5. 05プロジェクト設定と背景の読み込み

活用シーン

  1. 01ビジョンに基づく主要目標の計画
  2. 02優先事項の変更に応じたマイルストーンの見直し
  3. 03実装の証拠があるマイルストーンの確認

インストール

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

$npx skills add https://github.com/lee-to/ai-factory --skill aif-roadmap

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

詳細

ロードマップ - 戦略的なプロジェクト計画

主要なマイルストーンを含む、プロジェクトの大まかなロードマップを作成し、維持します。

ワークフロー

ステップ 0:プロジェクトのコンテキストを読み込む

最初に: .ai-factory/config.yaml が存在する場合は読み込み、以下を解決します。

  • パス: paths.description、paths.architecture、paths.rules_file、paths.roadmap、paths.research、paths.rules。また、research_bundles_dir = <paths.research の親ディレクトリ>/research/ を導出します。
  • 言語: プロンプトには language.ui、生成コンテンツには language.artifacts

config.yaml が存在しない場合は、既定値を使用します。

  • パス:すべての成果物に .ai-factory/
  • 言語:en(英語)

存在する場合は、.ai-factory/DESCRIPTION.md(config で指定されたパスを使用)を読み込み、以下を把握します。

  • 技術スタック(言語、フレームワーク、データベース、ORM)
  • プロジェクトのアーキテクチャと規約
  • 非機能要件

存在する場合は、解決済みのアーキテクチャ成果物(paths.architecture、既定値:.ai-factory/ARCHITECTURE.md)を読み込み、以下を把握します。

  • 選択されたアーキテクチャパターンとフォルダー構成
  • モジュールの境界と通信パターン

関連するリサーチソースを1つだけ、任意で読み込みます。 設定された paths.research ファイル、または明らかにトピックが一致するアクティブな直接の子バンドルを使用します。INDEX.md に `` がちょうど1回記載され、 Status: active が宣言され、## Artifact Index から RESEARCH.md へのリンクがある場合にのみ、 そのバンドルをアクティブと判断します。 戦略的なコンテキストには Active Summary を使用し、 理由を確認する場合に限り、任意の C4/ADR/依存関係の成果物を読み込みます。 無関係なトピックを統合したり、実装レベルのメモをマイルストーンとして扱ったりしないでください。

.ai-factory/skill-context/aif-roadmap/SKILL.md を読み込みます — ファイルが存在する場合は必須です。

このファイルには、パッチ、コードベースの規約、技術スタックの分析から /aif-evolve によって蓄積された、プロジェクト固有のルールが記載されています。これらのルールは現在のプロジェクトに合わせたものです。

skill-context ルールの適用方法:

  • このスキルの一般的な指示に対するプロジェクトレベルの上書きとして扱います。
  • skill-context のルールがこの SKILL.md に記載された一般的なルールと矛盾する場合は、 skill-context のルールを優先します(より具体的なコンテキストを優先するためです。同じ原則は、ネストされた CLAUDE.md ファイルにも適用されます)。
  • 矛盾がない場合は、SKILL.md の一般的なルールと skill-context のプロジェクトルールの両方を適用します。
  • このスキルの既定値と矛盾しているように見えても、skill-context のルールを無視しないでください。 これらのルールは、プロジェクトでの経験から既定値が不十分だと判明したために存在します。
  • 重要: skill-context のルールは、このスキルのすべての出力に適用されます。ROADMAP.md のテンプレートも含まれます。 この SKILL.md のテンプレートは基本構成です。skill-context のルールに「ロードマップには X を必ず含める」や 「マイルストーンには Y を必ず含める」とある場合は、それに応じてテンプレートを拡張する必要があります。 skill-context のルールに違反するロードマップを生成することはバグです。

徹底: 出力成果物を生成した後、skill-context のすべてのルールに照らして検証します。 ルールに違反している場合は、ユーザーに提示する前に出力を修正します。

ステップ 1:モードを決定する

引数が check の場合 → モード 3:進捗を確認(解決済みのロードマップパスが必要です)

それ以外の場合は、解決済みのロードマップパス(paths.roadmap、既定値:.ai-factory/ROADMAP.md)が存在するか確認します。

  • 存在しない → モード 1:ロードマップを作成
  • 存在する → モード 2:ロードマップを更新

モード 1:ロードマップを作成する(初回実行)

1.1:入力を収集する

ユーザーが引数(ビジョン/説明)を指定した場合:

  • マイルストーンの主な入力として使用します

引数がない場合:

  • 対話形式で質問します:
AskUserQuestion: What are the major goals for this project?

Options:
1. Let me describe the vision
2. Analyze codebase and suggest milestones
3. Both — I'll describe, you'll add what's missing

選択内容に基づく処理:

  • 「コードベースを分析してマイルストーンを提案する」→ ステップ 1.2 に進みます
  • 「ビジョンを説明する」または「両方」→ ユーザーの説明を収集し(「両方」の場合は、ステップ 1.2 でコードベースの分析も追加します)、続けて質問します:
AskUserQuestion: Any priorities or deadlines?

Options:
1. Yes, let me specify
2. No, just order by logical sequence
3. Skip — I'll reprioritize later

1.2:コードベースを調査する

プロジェクトをスキャンして、すでに構築されているものを把握します:

  • Glob を使ってプロジェクトの構造(主要なディレクトリやモジュール)を調べます
  • Grep を使って実装済みの機能(ルート、モデル、サービス)を調べます
  • 完了した作業を確認するため、git log を確認します:git log --oneline -20

1.3:ROADMAP.md を生成する

解決済みのロードマップ成果物(デフォルト:.ai-factory/ROADMAP.md)を次の形式で作成します:

# Project Roadmap

> <project vision — one-liner from DESCRIPTION.md or user input>

## Milestones

- [ ] **Milestone Name** — short description of what this achieves
- [ ] **Milestone Name** — short description of what this achieves
- [x] **Milestone Name** — short description (already done based on codebase analysis)

## Completed

| Milestone | Date |
|-----------|------|
| Milestone Name | YYYY-MM-DD |

マイルストーンのルール:

  • 各マイルストーンは大まかな目標とし、細分化されたタスクにはしません(それは /aif-plan の役割です)
  • マイルストーンは 5~15 個が理想です。少なすぎると曖昧になり、多すぎると細分化されすぎます
  • 論理的な順序(依存関係のあるものを先)に並べます
  • すでに完了しているマイルストーンには [x] を付け、Completed テーブルに追加します
  • すでに完了したと判定されたマイルストーンには、本日の日付を使用します

1.4:ユーザーに確認する

生成したロードマップを表示し、次のように質問します:

AskUserQuestion: Here's the proposed roadmap. What would you like to do?

Options:
1. Looks good — save it
2. Add more milestones
3. Remove/modify some milestones
4. Rewrite — let me give better input

変更が依頼された場合は反映してから、解決済みのロードマップパスに保存します。


モード 2:ロードマップを更新する(2 回目以降の実行)

2.1:現在の状態を読み込む

  • 解決済みのロードマップパスを読み込みます
  • コンテキストを把握するため、.ai-factory/DESCRIPTION.md(設定に指定されたパスを使用)を読み込みます
  • 前回の更新から何が変わったかを確認するため、コードベースを簡単に調査します

2.2:実行する操作を決定する

ユーザーが引数(新しいマイルストーン/変更)を指定した場合:

  • 依頼された変更を直接適用します

引数がない場合:

  • 現在の状態を分析し、選択肢を提示します:
AskUserQuestion: What would you like to do with the roadmap?

Options:
1. Review progress — check what's done, mark completed milestones
2. Add new milestones
3. Reprioritize — reorder existing milestones
4. Rewrite — major revision of the roadmap

2.3:進捗を確認する(選択された場合)

  • コードベースをスキャンし、完了したマイルストーンの証拠を探します
  • 未チェックの各マイルストーンについて、作業が完了しているように見えるかを確認します
  • 完了したマイルストーンとしてマークすることを提案します:
These milestones appear to be done:
- **Milestone Name** — [evidence: files exist, routes implemented, etc.]

Mark them as completed?

確認された場合:

  • マイルストーンセクションの - [ ] を - [x] に変更します
  • 本日の日付を付けて Completed テーブルに項目を追加します
  • 完了したマイルストーンを未完了のものより下に移動します(またはそのままの位置にします。ユーザーの希望に従ってください)

2.4:新しいマイルストーンを追加する(選択された場合)

  • 新しいマイルストーンについてユーザーに説明を求めます
  • 既存のマイルストーンの間に、論理的な順序で挿入します
  • 解決済みのロードマップパスを更新します

2.5:優先順位を変更する(選択された場合)

  • 現在の順序を表示します
  • 新しい順序をユーザーに尋ねるか、優先順位の変更内容を説明してもらいます
  • 解決済みのロードマップパス内でマイルストーンの順序を変更します

2.6:変更を保存する

すべての変更を解決済みのロードマップパスに反映します。

概要を表示します:

## Roadmap Updated

Total milestones: N
Completed: X/N
Next up: **Milestone Name**

To start working on the next milestone:
/aif-plan <milestone description>  → creates a plan and optional branch/worktree flow
/aif-implement                     → executes the plan

モード 3:進捗を確認する(/aif-roadmap check)

自動スキャンを実行し、コードベースを分析して、対話形式で質問することなく完了したマイルストーンにマークを付けます。

必要条件として、解決済みのロードマップパスが存在している必要があります。存在しない場合は、まず /aif-roadmap を実行するようユーザーに伝えます。

3.1:ロードマップとプロジェクトのコンテキストを読み込む

  • 解決済みのロードマップパスを読み込みます
  • 技術スタックのコンテキストを把握するため、.ai-factory/DESCRIPTION.md(設定に指定されたパスを使用)を読み込みます

3.2:未チェックの各マイルストーンを分析する

- [ ] が付いているすべてのマイルストーンについて:

  • 完了を証明する証拠(ファイル、ルート、モデル、設定、テスト)を判断します
  • Glob と Grep を使って、その証拠を検索します
  • 関連するコミットを確認するため、git log --oneline --all -30 を確認します
  • 評価:完了(有力な証拠あり)、一部完了(作業に着手済み)、未着手

3.3:調査結果を報告する

## Roadmap Progress Check

✅ Done (ready to mark):
- **User Authentication** — found: src/auth/, JWT middleware, login/register routes
- **Database Setup** — found: migrations/, models/, seed scripts

🔨 In Progress:
- **Payment Integration** — found: src/payments/ exists but Stripe webhook handler missing

⏳ Not Started:
- **Admin Dashboard**
- **Email Notifications**

Mark completed milestones? (2 milestones)

3.4:変更を適用する(確認された場合)

  • 完了したマイルストーンに [x] を付けます
  • 本日の日付を付けて Completed テーブルに項目を追加します
  • 一部完了および未着手のマイルストーンは変更しません

更新後の概要を表示します:

Completed: X/N milestones
Next up: **Milestone Name**

ROADMAP.md の形式

# Project Roadmap

> <project vision — one-liner>

## Milestones

- [ ] **Name** — short description
- [ ] **Name** — short description
- [x] **Name** — short description

## Completed

| Milestone | Date |
|-----------|------|
| Name | YYYY-MM-DD |

重要なルール

  1. マイルストーンは高レベルの項目です — それぞれがタスクではなく、主要な機能または能力を表します
  2. ROADMAP.mdが信頼できる唯一の情報源です — 変更する前に必ず読みます
  3. マイルストーンを黙って削除してはいけません — 削除する前に必ずユーザーに確認します
  4. 完了済みテーブルは履歴を記録します — チェック済みのマイルストーンには、すべて日付を記入します
  5. 実装は行いません — このスキルで行うのは計画のみです。機能を開始するには/aif-planを、実行するには/aif-implementを使用してください
  6. 所有権の境界 — このコマンドはロードマップの構造と内容を管理します。/aif-implementは、実装の根拠が明確な場合に限り、マイルストーンを完了済みにできます

コメント