flow について
Flowは、プロジェクトのコンテキストと製品ドキュメントを整合させるスキルです。変更の影響を受けたルートファイルだけを更新し、セットアップや実装との境界も定めます。
主な機能
- 01変更後のプロジェクトコンテキスト整合
- 02既存のルート文書の確認
- 03影響を受けたセクションのみ更新
- 04Flowブロックの動作定義
- 05文書整合と実装の分離
活用シーン
- 01動作変更後の製品文書同期
- 02プロジェクト用語の整合維持
- 03依頼に応じたFlowモードの設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gaboesquivel/ flow-skills --skill flowインストール後、Claude Code で/flowを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamllib/flow-block.mjs
詳細
Flow
作業対象のプロジェクトの意図を維持してください。製品の内容、動作、構築方法、またはチームが重要な概念に付ける名前が変わる場合は、プロジェクトのルートコンテキストをそれに合わせてください。
このスキルは他のスキルを実行せず、実装を許可するものでもありません(decision 0024)。プロジェクトの初期化ではありません。
誰の製品か
- 導入先プロジェクト:
PRODUCT.mdは、そのプロジェクトの製品アイデンティティです。変更の影響を受けたセクションだけを更新してください。 - この flow-skills リポジトリ:
PRODUCT.mdは、Flow の方法論としてのアイデンティティです。そのアイデンティティが変わる場合に編集してください。別のリポジトリにコピーしないでください。
プロジェクトの製品アイデンティティを、Flow のタグライン、ミッション、原則、または戦略的な連鎖に置き換えないでください。
flow start と「プロジェクトを開始する」は、このスキルではありません。オプションの start スキル(decision 0010)は、このセットアップに flow-next または flow-mono からのテンプレートのブートストラップ(decision 0026)を加えたもので、書き込み前にテンプレート、名前、保存先を確認します。start を使わずにリポジトリのひな型作成を依頼された場合は、そこで停止し、スターターツリー、指示ファイルのスニペット、Flow ブランドの PRODUCT.md を作成しないでください。
呼び出し
ホストは、ユーザーがドキュメントの更新や同期を依頼したときに、このスキルを候補として提示する場合があります。これは常時有効なフックではなく、すべてのホストで確認されている動作でもありません。確認済みのポータブルな動作は、より限定的です。ユーザーがこのスキルを依頼するか /flow を呼び出した場合、または該当スキルの使用時に build と review が同じ整合ルールを適用する場合です。メタデータによってホストがこのスキルを提示できるというだけで、整合が実行されたと主張しないでください。
プロセス
PRODUCT.md、DESIGN.md、GLOSSARY.md、ARCHITECTURE.mdが存在する場合は、並列ツール呼び出しを使って読み込み、ワーカーを起動しないでください(ファンアウトルール:write-agentsWorkers)。整合させる領域の理解に役立つ場合に限り、関連するdocs/specs/とdocs/decisions/の記録を読み込んでください。- 変更の影響を受けたセクションだけを更新し、各ルートファイルの書き手は1人にしてください。各事実の記載場所は1つに保ち、簡単に再確認できる詳細を重複させるのではなく、仕様、決定事項、またはコードへのリンクを記載してください。
- 現在のプロジェクトに関する有意義な内容を記載できる場合に限り、ルートファイルを作成してください。空のツリー、Flow の方法論に関する定型文、並行トラッカー(PRD/PDR/ADR フォルダー)はひな型として作成しないでください。
Flow ブロック
「Set up Flow here」は、プロジェクトを Flow モードに設定します(decision 0020)。このセクションがブロックの唯一の定義です。start はブートストラップ後に同じブロックを書き込みます。ブロックを削除すると、Flow モードの設定が解除されます。
確認。 既存のブロックがあれば、まず読み取ります。Delivery: がないか unset で、リクエストにも指定がない場合は、書き込む前に一度だけ、pull requests または local(decision 0030)のどちらかを尋ねます。build の Delivery mode セクションに記載されているとおり、候補も提示します。このルールと各モードの動作は、そのセクションが定めます。build を利用できない場合は、候補を提示せずに尋ねます。ユーザーが新しい値を指定しない限り、記録済みの値はそのまま使います。そのため、値が設定済みであれば、再実行時に尋ねることはありません。セットアップでは探索の深さを尋ねません(decision 0036)。残っている Process: 行は、次回の書き込み時に削除します。
書き込み。 このスキルの lib/flow-block.mjs を使います:node <skill-dir>/lib/flow-block.mjs <absolute-project-path> [local|pull-request]。ヘルパーがレイアウトとブロックのルールを管理します。具体的には、ブロックを配置するファイル、@AGENTS.md インポート、マーカー、フレーズテーブル(PHRASES)、記録済みの値の維持、無視対象の AGENTS.md から古いブロックを移動する処理、不正なマーカーや、シンボリックリンク、プロジェクト外のファイル、共有されている指示ファイルの拒否です。マーカー内とそのインポート行以外のテキストには、決して触れないでください。
Node を使わない場合の代替手順: AGENTS.md が存在し、Git の無視対象でない場合(git check-ignore -q AGENTS.md)、ブロックを AGENTS.md に配置します。それ以外の場合は、必要に応じて CLAUDE.md を作成し、そこに配置します。AGENTS.md が存在するか無視対象である場合、既存の CLAUDE.md の先頭行に @AGENTS.md を追加します。Delivery: 行、ヘルパーのフレーズテーブル、このスキルへの参照を含むブロックを、と の間に1つ書きます。既存のブロックはその場で置き換え、廃止された Deploy: や Process: などの他の行は削除します。ブロックを CLAUDE.md に配置し、無視対象の AGENTS.md にブロックがある場合は、ユーザーが新しい値を指定しない限り、その Delivery: を引き継いでから、AGENTS.md からそのブロックだけを削除します。マーカーが対応していないか重複している場合、または指示ファイルがシンボリックリンクである、プロジェクト外を指している、あるいは CLAUDE.md と AGENTS.md が同一ファイルである場合は、作業を中止して報告します。
目標。 セットアップでは、start と同じ目標を定義します。ブロックを書き込んだ後、PRODUCT.md がないか、ブリーフ(問題、対象者、最もリスクの高い仮定、主要指標と中止基準、主要なユーザージャーニー)がない場合は、次のステップとして explore を案内し、待機します。
ヘルパーの出力を報告します:ブロックのファイル(Wrote または Unchanged)、移動した古いブロック、追加したインポートまたは拒否、レイアウト(ブロックを配置したファイル、そのファイルが Git の追跡対象かどうか、存在するインポート)。ブロックを表示し、警告があれば伝えます。
範囲
- Flow ブロックと
@AGENTS.mdインポート以外の、導入先のAGENTS.md、CLAUDE.md、.cursorrulesなどの指示ファイルは編集しないでください。また、ユーザーが依頼した場合、またはstartが確認済みのブートストラップを完了した場合(decision 0020)に限り、ブロックを書き込んでください。 - インストール、初期化、またはスキルの事前実行を必須にしないでください。
- 調整のための編集を、無関係なコードを実装する許可と見なさないでください。実装とテストが許可されている場合は、インストール済みであれば
buildスキルを呼び出してください。 - ここでは
docs/specs/やdocs/decisions/の記録を作成しないでください。永続的で範囲の限定された成果物が妥当な場合は、to-specを使うか、明示的な意思決定作業を行ってください。 - 別のスキル(
to-spec、domain-modeling、review、…)を案内するのは、ユーザーが依頼した場合、またはセットアップで目標が見つからなかった場合(Flow ブロックを参照)に限り、その後は待機してください。
完了
変更したルートファイルと、それらが現在どの製品を反映しているかを明記します。未解決の仮定と、別のスキルを使った仕様書や意思決定の記録が必要かどうかも記します。