Communityライティング&編集github.com

marcozhou26/one-slide

一度に1枚のPowerPointスライドを、ソース追跡可能で編集可能なプロフェッショナルな資料に仕上げるスキルです。

one-slide とは?

OneSlide(ワンスライド)は、ユーザーの入力を基に、一度に1枚のPowerPointスライドのみを、コンサルティングレポートレベルの品質で生成するAIエージェントスキルです。このスキルは、スライドの内容設計、出典の明示、そしてPowerPointファイル(PPTX)の生成までを一貫して行います。主にClaude CodeやCursor、CodexなどのAIエージェントプラットフォーム上で動作し、ユーザーが「この1枚について説明して」といったプロンプトを与えると、まず内容を整理し、必要な情報を補完し、最終的に編集可能なPowerPointスライドを出力します。内部では、入力コントラクトや出典コントラクトなどの厳格なルールに従い、データの整合性とトレーサビリティを保証します。また、合成データを使用する場合はその旨を明示し、ユーザーが提供した事実を勝手に変更しません。スライドのレイアウトやデザインは、ビルダーエンジンが担当し、PowerPointのネイティブオブジェクトとして出力されるため、後から自由に編集できます。このスキルは、特に「1枚に情報を凝縮したい」「出典を明確にしたい」「プロフェッショナルな見た目が必要」といったシチュエーションで有効です。最終的な成果物は、検証スクリプトによる品質チェックをパスした上で提供されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add marcozhou26/one-slide

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

OneSlide

一度に1枚のPPTスライドのみを処理し、コンサルティングレポート級の基準でロジック、情報、レイアウトを整理します。ユーザーはこのエントリポイントのみを操作します。内部では、まずコンテンツの設計と出典の明示を行い、PPTXが必要になった時点で、パッケージに同梱のビルダーエンジンを呼び出します。

実行前に毎回読むこと

以下をすべて読み込むこと:

  • references/input-contract.md
  • references/suite-contract.md
  • producer/references/single-slide-contract.md
  • producer/references/provenance-contract.md
  • producer/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.md
  • handoff/builder-handoff.json
  • review/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をマークできます。

関連スキル