OneSlide
一度に1枚のPPTスライドのみを処理し、コンサルティングレポート級の基準でロジック、情報、レイアウトを整理します。ユーザーはこのエントリポイントのみを操作します。内部では、まずコンテンツの設計と出典の明示を行い、PPTXが必要になった時点で、パッケージに同梱のビルダーエンジンを呼び出します。
実行前に毎回読むこと
以下をすべて読み込むこと:
references/input-contract.mdreferences/suite-contract.mdproducer/references/single-slide-contract.mdproducer/references/provenance-contract.mdproducer/references/output-contract.md
描画フェーズに入ったら、builder/ENGINE.mdと、ルーティングから返された一意のモジュールリファレンスを読み込むこと。ビルダーモジュールをすべて事前読み込みしないこと。
初回のやり取り
自然な言葉で、今回は1枚のみ作成することを伝え、その後、現在の会話、添付ファイル、および確定した決定事項に基づいて以下を事前入力します:
- このスライドで何を説明するか;
- 誰が見るのか、そしてその人が見た後に何を理解し、何を決定する必要があるか;
- 1つの主要な問題、1つの主要な関係、1つの中心的な結論;
- ユーザーが提供し、保持しなければならないコンテンツ;
- どのギャップが、的を絞って補完され、マークされるか。
中心的な結論やメインの図を変える可能性がある、同等に合理的なページの方向性が2つある場合にのみ、ブロッキング質問を1つ行います。ユーザーに内部フィールド、モジュール番号、座標、カード数、装飾の好みなどを入力するよう要求してはなりません。
2つの出力タイプ
ユーザーの発言から推論します:
PROMPT_ONLY:ユーザーがプロンプト、ブリーフ、ハンドオフパッケージ、または生成指示を要求している場合。PPT_DRAFT:ユーザーがPowerPointの作成、描画、生成、または配信を直接要求している場合。
媒体が指定されていない場合は、デフォルトでPROMPT_ONLYとし、その理由を簡単に説明します。ユーザーが後でPPT_DRAFTに変更した場合は、すでに確定した出典とスライドの方向性を再利用し、内容を再説明するよう求めないこと。
3つのコンテンツモード
SOURCE_ONLY:既存の情報でこのスライドを構成でき、新しい事実は追加しない。SYNTHETIC_AUGMENTATION:スライドに必要なギャップのみを補完し、ユーザーの事実やメインのロジックは変更しない。EVIDENCE_BLOCKED:目標が真実の事実を必要としているが、証拠がなく、誠実に補完できない。
スタイル、表現、レイアウト、チャートの選択は事実のギャップではなく、主要な関係から導き出せます。
ワークフロー
1. 1枚のスライドの境界を確定する
ユーザーの元のリクエストを保持し、使用する添付ファイルに対して出典記録とハッシュを作成します。毎回、次のもののみを許可します:
1 つのオーディエンスタスク
1 つの主要な問題
1 つの主要な関係
1 つの中心的な結論
1 つのメインの図
0~3 つの裏付けとなる証拠テーマ
0~1 つのアクションまたは条件エリア
競合するメインの図がある場合、または証拠テーマが3つを超える場合は、SINGLE_SLIDE_SCOPE_OVERLOADを返し、最適な1枚に焦点を絞って提案します。必要なコンテンツをこっそり削除したり、2枚目を生成したりしてはなりません。
2. 出典ベースラインを確立する
ユーザー提供、安定推論、計算、外部検証、モデル補完のそれぞれに対して、安定したsource_idを設定します。ユーザーの数値、定義、結論の強さ、必須項目、除外項目は変更しないでください。
ユーザーの添付ファイルは「ユーザーが提供した証拠」であり、自動的に独立して検証された事実と同等にはなりません。権威の値が競合する場合は、影響を受ける計算を停止し、こっそりと特定の立場を選んではなりません。
3. 的を絞った補完
コンテンツが不足している場合は、メインの図と宣言された証拠テーマに必要な最小限のコンテンツのみを補完します:
- 合成データは、オブジェクト、粒度、期間、単位、分母、計算ルールを定義する必要があります;
- 合計、割合、ファネル、ブリッジ、重複値、タイトルの結論は一致しなければなりません;
- 合成された定性コンテンツは、「仮定」「例」「確認待ち」として扱います;
- 出典、顧客の実際の発言、業界ベンチマーク、法的結論、実際の企業の業績を捏造してはなりません。
実際の組織に実際のデータがない場合、その組織名で架空の指標を記載してはなりません。匿名の例に変更するか、EVIDENCE_BLOCKEDを返すことができます。
4. コンテンツパッケージを生成する
producer/ENGINE.mdに従って実行し、バージョン管理された実行ディレクトリを出力します。すべての可視事実、タイトル、チャートデータ、インサイト、アクションアイテムにはsource_idsが必要です。
合成された数値またはデータセットは、スライド上に次のように表示する必要があります:
合成サンプルデータ、実際の顧客データではありません
合成された定性コンテンツは、隣接する位置に「確認待ち」と表示するか、項目ごとにマッピングできるスライド凡例を使用します。ユーザーが特定のシナリオを採用することを確認した後でも、それはシナリオの仮定であり、実際の事実にはなりません。
実行:
python3 producer/scripts/validate_package.py <run-directory> --stage handoff --write-report
構造検証に合格した後でも、ブリーフ、プロンプト、ハンドオフファイル、コンテンツ確認チェックリストを完全に読む必要があります。スクリプトは、コンサルティングロジックやPPTの視覚的品質を証明できません。
5. 出力モードに従って納品する
PROMPT_ONLYの場合の納品物:
handoff/builder-prompt.mdhandoff/builder-handoff.jsonreview/content-review.md
PPT_DRAFTの場合、コンテンツパッケージの承認後、builder/ENGINE.mdを読み、handoff/builder-handoff.jsonを内蔵ビルダーに渡します。ビルダーは、モジュール選択、正確なジオメトリ、PowerPointオブジェクト、レンダリング、PPTX QAを担当します。スライドの目標や出典の事実を再度書き換えてはなりません。
ビルダー納品後、再度実行:
python3 producer/scripts/validate_package.py <run-directory> --stage final --write-report
ビルダーが利用できない、実行依存関係が欠落している、またはMODULE_COVERAGE_GAPを返す場合は、利用可能なプロンプトパッケージを保持し、PPT_RENDERING_BLOCKEDを返します。一般的なレンダラーにこっそりと切り替えて、コンサルティンググレードのPPTを生成したと主張してはなりません。
プロデューサーは、製品化されたモジュールがすべての必須コンテンツをカバーできる場合にのみ、requested_moduleとモジュールのバリデータを通過する完全なmodule_payloadを同時に書き込みます。実行可能なペイロードがないのにモジュール名だけを使用して強制的にヒットさせてはなりません。ミックススライドの場合は、レイアウトゲートを備えた直接オーケストレーションを使用します。
6. PPTXをチェックする
PPT_DRAFTは以下を満たす必要があります:
- 正確に1枚、16:9;
- テキスト、図形、表、チャートはPowerPointネイティブの編集可能オブジェクトであること;
- セマンティック監査、スライド全体のレンダリングチェック、読みやすさチェックに合格していること;
- レイアウトJSONは、ショートタグの1行、孤立文字、英字トークン、数字と単位、2行のタイトルとサブタイトルの排他性、タイトルセーフゾーン、縦方向のスペースバランス、異なるブロック間のエッジアライメント、キャンバス使用率、境界オーバーランのゲートチェックに合格していること;
- 組織図はさらに、同じレベルのノードの水平方向のアライメント、1対1の直属ラインの垂直方向のアライメント、機能ラインの点線方向とルートの交差なしをチェックすること。
ORG_PEER_ROW_MISALIGNMENT、ORG_DIRECT_REPORT_DOGLEG、ORG_FUNCTIONAL_ROUTE_AMBIGUOUSが発生した場合は納品してはならない; - 現在の環境でMicrosoft PowerPointが利用可能な場合、実際に開いてチェックすること;
- 外部配信用ディレクトリには、バージョン管理されたPPTXのみを配置し、出典、プロンプト、プレビュー、QAは内部ディレクトリに残すこと。
ハードバウンダリ
- 複数ページのレポート、隠れたオーバーフローページ、または2番目の候補スライドを生成しないこと。
- ページを埋めるために装飾的なカード、提案、指標、ベンチマークを追加しないこと。
- 1ページに収めるために必要なコンテンツを削除したり、読めないフォントサイズに縮小したり、中心的なメッセージを変更したりしないこと。
- モデル補完コンテンツを、ユーザー提供または外部検証済みとして偽装しないこと。
- ローカルパス、プロンプト履歴、却下された代替案、内部QA、制作指示を公開しないこと。
- ファイル生成、検証スクリプトの合格、またはZIPファイルの完全性を、プロダクト価値やユーザー受け入れとして偽装しないこと。
リリースパッケージのセルフチェック
python3 scripts/validate_suite.py .
python3 -m unittest discover -s tests -v
python3 scripts/check_environment.py
ステータス
それぞれを報告します:
BASIC_OUTPUT_PASS | fail
TECHNICAL_CHAIN_PASS | not_tested | fail
INPUT_CONTRACT_PASS | not_tested | fail
SOURCE_BASELINE_PASS | fail
SINGLE_SLIDE_SCOPE_PASS | fail
PROVENANCE_COVERAGE_PASS | fail
SYNTHETIC_DISCLOSURE_PASS | not_applicable | fail
DATA_RECONCILIATION_PASS | not_applicable | not_tested | fail
HANDOFF_PACKAGE_PASS | fail
BUILDER_HANDOFF_READY | not_applicable | fail
RENDERED_READABILITY_PASS | not_applicable | not_tested | fail
POWERPOINT_OPEN_CHECK | not_applicable | not_tested | fail
REQUIREMENT_COVERAGE_PASS | not_tested | fail
PRODUCT_VALUE_PASS | not_tested | fail
USER_REQUIREMENT_PASS | not_tested
PUBLIC_LICENSE_READY | pass
実際のユーザーが見た結果が、このスキルの1枚、出典、編集可能要件を満たしている場合にのみ、PRODUCT_VALUE_PASSをマークできます。ユーザーが具体的な結果を確認した後にのみ、USER_REQUIREMENT_PASSをマークできます。