align は何をしますか?
$align を使用して、アクションの前にコンテキストを均一化します。このスキルは、人間、プロジェクトエージェント、WebGPT、$scillm、$ask、$dogpile、$memory、または $project-knowledge がそれぞれ異なる事実を知っている可能性があるタスクのために存在します。alignment_lock.json を生成し、後続のスキルがそのロックをもとに実行できます。
$align を実装、レンダリング、リファクタリング、または最終作業のレビューに使用しないでください。これは実行前のゲートです。アライメントロックが ready_for_execution: true を報告するまで、コード、インフォグラフィック、ダッシュボード、計画反復フェーズ、またはプロジェクトインフォグラフィックのレンダリングを開始してはいけません。
コアルール
以下のすべてのブロッキング質問が回答され、ロックが次の項目を記録した場合にのみ、アライメントは完了します。
- 合意された目標
- 合意された非目標
- ソースコンテキスト
- 参加者の事実
- 残された前提とリスク
- 出力の形状
- 合格基準
- 明示的な準備完了/未完了の決定
不一致が残っている場合は、ロックを ready_for_execution: false のままにします。
参加者
タスクに関連する参加者のみを使用します。
| 参加者 | 役割 |
|---|---|
human | 意図、好み、ドメインのニュアンス、合格基準 |
project_agent | ローカルリポジトリの状態、制約、実行可能な次のステップ |
project_knowledge | 永続的なプロジェクト履歴と引き継ぎメモ |
memory | 以前の教訓と類似した解決済みの問題 |
scillm | localhost LLM プロキシを介した直接のモデル批評 |
ask | アーティファクトを伴う Ask/oracle/deep-review ランタイム; WebGPT ルーティングを所有 |
dogpile | ローカルコンテキストが不十分な場合の新しい外部調査 |
webgpt | ブラウザ/セッションで見えるコンテキストと人間向けの判断 |
WebGPT コールは $ask webgpt を経由してルーティングする必要があります。$ask は既に WebGPT オラクルバックエンドを所有しており、ユーザーの認証済み ChatGPT タブに対して surf webgpt.submit --no-activate を使用します。$align は直接 surf を呼び出しません。$scillm を介して WebGPT リクエストを送信しないでください。$scillm は gpt-5.5、Gemini、Claude、または OpenCode Go などの直接モデル呼び出し用です。人間がタブ ID を提供した場合はそれを保持します。
$dogpile は、アライメントが不足している外部/現在の知識によってブロックされている場合にのみ使用します。$project-knowledge または $memory が既に回答している事実には使用しないでください。
ランタイムルーティング
+-----------------------+
| $align init |
| goal, output, sources |
+-----------+-----------+
|
v
+-----------------+-----------------+
| Round N: alignment_brief |
| participants state facts, gaps, |
| contradictions, and questions |
+-----------------+-----------------+
|
+-----------------+-----------------+
| compile-round extracts questions |
| Question[blocking/nonblocking]: |
+-----------------+-----------------+
|
open blocking questions?
| yes | no
v v
+----------------+----------------+ +-------+--------+
| route each question to owner | | lock --ready |
| human/project/memory/reviewer | | writes lock |
+----------------+----------------+ +----------------+
|
v
+----------------+----------------+
| add-response / answer-question |
| update brief, increment round |
+----------------+----------------+
|
v
Round N+1
レビュアルートはラウンドへのオプション入力です:
+----------------+
| Round N brief |
+-------+--------+
|
+-----------------------------+-----------------------------+
| | |
v v v
+--------------------+ +--------------------+ +--------------------+
| WebGPT via $ask | | $scillm direct | | $ask review/oracle |
| prepare-review | | prepare-review | | prepare-review |
| --reviewer webgpt | | --reviewer scillm | | --reviewer ask |
+---------+----------+ +---------+----------+ +---------+----------+
| | |
v v v
skills/ask/run.sh ask webgpt round-N-scillm-request.json round-N-ask-request.md
--webgpt-tab-id <id> model: gpt-5.5 skills/ask/run.sh ask
| reasoning_effort: high --deep-review
v optional persona prompt
$ask -> surf webgpt.submit |
--no-activate v
v POST localhost:4001/v1/chat/completions
|
authenticated ChatGPT tab
外部/現在の調査:
prepare-review --reviewer dogpile -> round-N-dogpile-request.md
外部事実の欠落がアライメントをブロックしている場合にのみ使用
ラウンドループ
各ラウンドは以下の同じシーケンスに従います:
- 現在のアライメントブリーフを選択された参加者にブロードキャストします。
- 各参加者は、自分がタスクをどのように理解しているかを述べます。
- 各参加者は、他の参加者が知らない可能性がある事実をリストします。
- 各参加者は、前提、矛盾、質問をリストします。
- 質問をブロッキングと非ブロッキングのセットにマージします。
- 質問を回答できる当事者にルーティングします。
- ブリーフを更新します。
- ブロッキング質問が解決されるか、最大ラウンド数に達した場合のみ停止します。
最大ラウンド数に達してもブロッキング質問が未解決のままの場合は、ready_for_execution: false で停止し、人間の決定が必要な最小限の課題を提示します。
CLI
WebGPT タブバインディング (CLI パリティ)
登録されたワーキングディレクトリからのゼロフラッグ $ask webgpt を推奨します。/ask は自動的に $browser-oracle を構成します。init と prepare-review はバインディングヒントを .align/state.json に永続化し、生成された round-*-webgpt-ask-command.sh に同じフラグを出力します。
| フラグ | 使用するタイミング |
|---|---|
| (なし) | cwd が walk-up registry + binding を持っている — 推奨 |
--browser-oracle-from <dir> | walk-up ルートを上書き (モノレポサブディレクトリ) |
--webgpt-project <name> | 明示的なプロジェクト; yaml walk-up をスキップ |
--webgpt-tab-id <id> | 一回限りの上書き; walk-up をスキップ |
--webgpt-url <url> | 会話 URL で解決; walk-up をスキップ |
解決順序 ($ask / $surf と同じ): --webgpt-tab-id → --webgpt-url → $browser-oracle walk-up → --webgpt-project → 一つの chatgpt.com タブ (フェイルクローズ)。
セットアップ: $browser-oracle register + bind + doctor --from <dir>。$browser-oracle および $ask の SKILL.md WebGPT タブバインディング セクションを参照してください。
タスクを所有するリポジトリまたはプロジェクトルートから実行します:
skills/align/run.sh init \
--goal "明確な計画反復インフォグラフィックリクエストを作成する" \
--output-shape "ソースから導出されたストーリーボードとウェブインフォグラフィックリクエスト" \
--participant human \
--participant project_agent \
--participant project_knowledge \
--participant scillm \
--participant ask \
--participant dogpile \
--participant webgpt
# 登録されたディレクトリからのゼロフラッグを推奨、または walk-up ルートを永続化:
# --browser-oracle-from skills/oc-subagent/personas/mathematics
# レガシー明示的上書き:
# --webgpt-tab-id 837343529
参加者の応答を記録:
skills/align/run.sh add-response \
--participant project_agent \
--round 1 \
--text "タスク: レンダリング前にワークフローを調整する。事実: 以前のビジュアルは承認されたストーリーボードがなかったために失敗した。質問[blocking]: ビジュアルのアンカーとなる正確なサンプルプロジェクトは何か?"
ラウンドをコンパイル:
skills/align/run.sh compile-round --round 1
ブロッキング質問が解決された場合のみロック:
skills/align/run.sh lock --ready --approved-by human
レビューリクエスト生成
prepare-review はレビュー担当者向けのリプレイ可能なリクエストアーティファクトを作成します。それ自体はレビュー担当者を呼び出しません。
skills/align/run.sh prepare-review --round 1 --reviewer scillm
skills/align/run.sh prepare-review --round 1 --reviewer ask
skills/align/run.sh prepare-review --round 1 --reviewer dogpile
skills/align/run.sh prepare-review --round 1 --reviewer webgpt --browser-oracle-from skills/oc-subagent/personas/mathematics
# または: --webgpt-tab-id 837343529
レビューに人間の認証済み ChatGPT ブラウザセッションまたはブラウザで見えるコンテキストが必要な場合は WebGPT を使用します。レビューが直接のリプレイ可能なモデル呼び出し、例えば GPT-5.5 の高推論とペルソナ/システムプロンプトであるべき場合は $scillm を使用します:
skills/align/run.sh prepare-review \
--round 1 \
--reviewer scillm \
--scillm-model gpt-5.5 \
--reasoning-effort high \
--persona-prompt "あなたは懐疑的なプロダクトアライメントレビュー担当者です。ミスマッチした前提と不足している合格基準に焦点を当ててください。"
prepare-review 後に推奨される呼び出し:
# scillm 直接レビュー
.align/reviews/round-001-scillm-command.sh
# ask ディープレビューまたは WebGPT オラクル
skills/ask/run.sh ask ".align/reviews/round-001-ask-request.md のアライメントリクエストをレビューしてください" \
--deep-review --deep-review-target .align/reviews/round-001-ask-request.md
skills/ask/run.sh ask webgpt ".align/reviews/round-001-webgpt-request.md のアライメントリクエストをレビューしてください" \
--browser-oracle-from skills/oc-subagent/personas/mathematics --oracle-iterations 1
# dogpile 調査: アライメントが不足している外部事実によってブロックされている場合のみ
skills/dogpile/run.sh search "このアライメントをアンブロックするために必要な事実" \
--context-file ".align/reviews/round-001-dogpile-request.md"
結果のレビュー担当者テキストを add-response で保存します。レビュー担当者のレシートはアライメントへの入力であり、それ自体が実行承認ではありません。
ライブコンポジション健全性
sanity.sh は高速なローカルチェックです。外部クォータを消費せずに、ラウンドループ、ブロッキング質問ゲート、レビューリクエスト生成、ロックスキーマを証明します。
sanity-live.sh は $align が複合スキルとして準備完了であると主張する前の必須の実世界 E2E ゲートです。ライブな下流システムを呼び出すため、オプトインです:
$memory recall --briefを実際のメモリスキルを通じて$align add-responseを通じたプロジェクトエージェント応答の取り込み- 生成されたアライメントリクエストをコンテキストとした
$dogpile search - 認証されたブラウザバックの WebGPT パスに対する
$ask webgpt - これらのレシートが検証された後の最終的な
alignment_lock.json作成
ローカルワークステーションがメモリ、dogpile の認証情報/検索、Chrome、および認証済み ChatGPT セッションを持っている場合にのみ実行します:
ALIGN_LIVE_E2E=1 skills/align/sanity-live.sh
オプションの制御:
ALIGN_LIVE_E2E=1 \
ALIGN_WEBGPT_TAB_ID=837343529 \
ALIGN_LIVE_OUTPUT_ROOT=/mnt/storage12tb/skills/align/live-e2e \
skills/align/sanity-live.sh
ALIGN_WEBGPT_TAB_ID または ALIGN_WEBGPT_PROJECT が指定されていない場合、ライブチェックは $ask に --webgpt-create-tab を渡します。これには依然として有効なローカル Chrome/WebGPT セットアップが必要です。証明アーティファクトはデフォルトで /mnt/storage12tb/skills/align/live-e2e/<timestamp>/report.json です。スキップされたライブチェックは準備完了を確立しません。
アーティファクトレイアウト
.align/
alignment_state.json
alignment_brief.md
alignment_lock.json
rounds/
round-001/
participant-human.md
participant-project_agent.md
participant-scillm.md
round_summary.md
questions.json
reviews/
round-001-scillm-request.json
round-001-scillm-command.sh
round-001-ask-request.md
round-001-dogpile-request.md
round-001-webgpt-request.md
round-001-webgpt-ask-command.sh
/mnt/storage12tb/skills/align/live-e2e/<timestamp>/
report.json
memory.stdout
dogpile.stdout
webgpt.stdout
ask-runs/<ask_id>/
停止条件
以下の場合のみ ready_for_execution: true に設定:
- 未解決のブロッキング質問がない
- 合意された目標と非目標が明示的である
- 出力の形状が具体的である
- 合格基準がテスト可能またはレビュー可能である
- ソースコンテキストが指定されている
- 人間または委任された所有者がロックを承認した
以下の場合 ready_for_execution: false に設定:
- ブロッキング質問が残っている
- WebGPT、
$scillm、$ask、またはプロジェクト知識がブリーフと矛盾する - 出力の形状がまだ抽象的である
- 参加者が不足しているソース証拠を明らかにした
- 要求された次のステップが、実際のタスクを解決する代わりにレシートを生成するものである
よくある間違い
$alignを$interviewの代わりとして使用しないでください。不足している情報が純粋に人間の好みや合格基準である場合はインタビューを使用します。$alignを$review-code、$review-plan、または$plan-iterateの代わりとして使用しないでください。アライメントはそれらのスキルの前に行われます。- WebGPT または
$askを手動で要約しないでください。それらの実際のランタイムを使用し、アーティファクトパスまたはレビュー担当者テキストを保存します。 - レビュー担当者が合格したからといって、アライメントロックが完了したと見なさないでください。プロジェクトエージェントが結果をマージし、ブロッキング質問をクリアする必要があります。