mcpField
P
presenton

presenton

github.com/presentonドキュメント8107 回インストール11 週間前に更新
リポジトリ

presenton について

presenton は、PPTX、PDF、PNG 形式のプレゼンテーションを作成するスキルです。デザイン検索でビジュアルの方向性を決め、HTML ベースの手順でスライドを準備してエクスポートします。

主な機能

  1. 01PPTX、PDF、PNG の作成
  2. 02プレゼンテーションデザインの検索と選択
  3. 03HTML によるスライド作成
  4. 04画像のアップロードとアイコン検索
  5. 05検証、エクスポート、一時ファイルの削除

活用シーン

  1. 01複数形式のプレゼンテーション作成
  2. 02デザイン要件がない場合の方向性探し
  3. 03スライド用の画像やアイコンの準備

インストール

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

$npx skills add https://github.com/presenton/skills --skill presenton

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
api.md
html-format.md
scripts/
presenton_artifacts.py
validate_html.py
tests/
test_presenton_artifacts.py

詳細

Presenton で PPTX、PDF、PNG ファイルを作成する

ユーザーからデザインブリーフが提供されていない場合は、Presenton のデザイン検索を使用し、バイナリ形式を直接構築する代わりに HTML エクスポーターを使用してください。

運用上の制約

  • API を呼び出す前に references/api.md を、HTML を記述する前に references/html-format.md を読んでください。
  • 提供されているヘルパーを通じて、公開エンドポイント https://api.presenton.ai を使用してください。API キーや認証ヘッダーは不要です。
  • 以下のデザイン決定、エクスポート、報告、クリーンアップのワークフローに従ってください。長時間の待機中は定期的な進捗報告を含め、簡潔な状況更新を随時出力してください。
  • デザイン検索、エクスポート、プレビュー作成が成功したレスポンスに空でない message が含まれている場合は、すべてユーザー向けのメッセージとして扱ってください。次のコメント更新でそのまま伝え、最終レスポンスの Notes にも含めてください。

作成ワークフロー

  1. 指定された形式、タイトル、対象者、目的、スライド数、内容を確認してください。形式が指定されていない場合は、PPTX、PDF、PNG をエクスポートしてください。詳細が不足している場合は、妥当な内容を仮定してください。

  2. ユーザープロンプトからビジュアルの方向性を決定してください。具体的なデザインブリーフ(配色、タイポグラフィ、レイアウト、雰囲気、ブランド、画像、構成)があれば、それを直接使用して検索を省略します。それ以外の場合はデザインを検索し、選択肢に人間の好みが必要なときだけユーザーに選んでもらうか、最適な結果を自動的に選択してください。エクスポート用に検索したデザイン ID を保持してください。

  3. HTML を記述する前に、スライド素材を解決してください。

    • プレゼンテーションに使用するユーザー提供画像はすべて、ファイルを一度だけアップロードし、返された HTTPS URL を保持してください。その画像を使用する箇所では、その URL を再利用してください。HTML に画像のバイト列、base64、または data: URL を埋め込まないでください。

      python3 scripts/presenton_artifacts.py upload-image --file <image-path>
      
    • プレゼンテーションで使用するアイコンの概念ごとに、Presenton のアイコンエンドポイントを検索し、その概念と視覚的な太さに合う HTTPS URL を選んでください。デザインに合わせて --icon-type を指定してください。SVG、絵文字、Unicode グリフ、アイコンフォント、CSS シェイプを使って、アイコンを描画、インライン化、または代用しないでください。

      python3 scripts/presenton_artifacts.py search-icons \
        --query "revenue growth" \
        --limit 5 \
        --icon-type thin
      
  4. 確定したブリーフをデザインルールに落とし込み、presenton_artifacts.py create-temp で非公開の OS 一時ディレクトリを作成して、完全な HTML ドキュメントを一から <temporary-directory>/presentation.html に記述してください。サイズ、Tailwind、グラフ、フォント、素材、PPTX 互換性については references/html-format.md に従ってください。保持した HTTPS 画像 URL とアイコン URL を <img> 要素で使用してください。参照用プレゼンテーションをコピーしたり、ワークスペースに HTML を保存したりしないでください。

  5. HTML が確定したデザインを反映していること、#presentation-slides-wrapper の直下に 1280×720 のスライド要素があること、data: URL が含まれていないことを確認し、プリフライトバリデーターに合格させてください。

    python3 scripts/validate_html.py "$presenton_temp_dir/presentation.html"
    

    バリデーターは、スライドのマークアップで使用されているカスタムフォントに対応するインポートがドキュメントの head にあるかどうかも確認します。

  6. 要求された形式をそれぞれ別々に、ちょうど一度ずつエクスポートしてください。エンドポイントが受け付ける format は呼び出しごとに 1 つだけです。ビジュアルブリーフが検索したデザインに基づく場合に限り --design-id を追加してください。ユーザー提供のデザインブリーフの場合は省略してください。

    presenton_temp_dir=$(python3 scripts/presenton_artifacts.py create-temp)
    # Generate fresh HTML at "$presenton_temp_dir/presentation.html", then export it.
    python3 scripts/presenton_artifacts.py export \
      --html "$presenton_temp_dir/presentation.html" \
      --format pptx \
      --title "Presentation title" \
      --json
    
  7. ヘルパーが出力する各 JSON オブジェクトから、正の整数 id と HTTP または HTTPS の url を取得してください。すべての url をクリック可能なダウンロードリンクとして返してください。ヘルパーはレスポンスの message を標準エラー出力に API message: ... として書き込みます。報告用に、そのようなメッセージをすべて保持してください。エクスポートしたファイルをダウンロードしたり、ローカルに保存したりしないでください。

  8. 1 つのプレゼンテーションで要求されたすべての形式のエクスポートが成功したら、そのプレゼンテーションで保持しているエクスポート作成 ID のいずれかを使って、共有可能なプレビューをちょうど 1 つ作成してください。

    python3 scripts/presenton_artifacts.py create-preview --id <creation-id>
    

    ヘルパーが出力した HTTP または HTTPS の URL を取得し、プレゼンテーションでクリック可能な共有可能プレビューリンクとして返します。プレビューリンクの有効期限は 24 時間です。異なるプレゼンテーションを複数作成する場合は、それぞれについてこの手順を繰り返します。同じプレゼンテーションの形式ごとに別のプレビューを作成しないでください。

  9. 要求されたすべてのエクスポートとプレビューリンクの取得に成功したら、クリーンアップの前に、最終 HTML からフォントを一覧表示します。

    python3 scripts/presenton_artifacts.py list-fonts \
      --html "$presenton_temp_dir/presentation.html"
    

    結果に含まれるフォント名を、該当する場合はウェブフォントのソース URL とともに最終回答に記載します。この一覧が、その HTML からエクスポートされた、要求されたすべての PPTX、PDF、PNG に適用されることも明記します。

  10. 次の形式で結果を返します。

    Presentation
    - Title: <title>
    - Formats: <requested formats, or PPTX, PDF, and PNG when none was specified>
    - Slides: <slide count>
    - Design/reference used: <user-provided design brief, or searched design title and id>
    - References/assets used: <source URLs, user-provided references, image sources, or "None">
    - Notes: <every API response message verbatim, followed by other useful details; or "None">
    
    Shareable preview
    - [View presentation](<preview_url>) — expires after 24 hours
    
    Fonts
    - <font name> — <source URL when applicable>
    
    Download URLs
    - PPTX: [Download](<url>)
    - PDF: [Download](<url>)
    - PNG: [Download](<url>)
    

    Download URLs には要求された形式のみを含めます。形式が指定されていない場合は、PPTX、PDF、PNG を含めます。参照、フォントソース、URL を捏造しないでください。報告するものがない場合は None を使用します。

  11. 成功、再試行の上限到達、エラー、中断のいずれの場合も実行される、finally 相当の手順で、正確な一時ディレクトリをクリーンアップします。

python3 scripts/presenton_artifacts.py cleanup-temp \
  --path "$presenton_temp_dir"

同じ HTML をアクティブな再試行や追加の要求形式で引き続き使用する場合に限り、そのディレクトリを保持します。OS による後日のクリーンアップに頼らず、OS の一時ルートや create-temp で作成されていないディレクトリは削除しないでください。

デザイン検索には次のヘルパーを使用します。

python3 scripts/presenton_artifacts.py search-designs \
  --query "executive cybersecurity review, restrained dark blue, data-led"

ヘルパーを使用できない場合は、references/api.md の同等の cURL 契約に従ってください。

品質ルール

  • 解決したビジュアルの方向性(配色、タイポグラフィ、間隔、画像、図形の表現)を、すべてのスライドで一貫して使用してください。
  • 解決したデザインでフォントファミリーが指定されている場合は、プレゼンテーションでそのフォントファミリーを正確に使用してください。別のフォントに黙って置き換えないでください。
  • ユーザー提供のデザイン概要や、検索で選択したデザインの説明にある、認識しやすい特徴を保持してください。メモやメタデータでデザインに言及するだけにしないでください。
  • 一貫したシステムを保ちながら、コンテンツに合った多様なレイアウトを使用してください。
  • プレゼンテーションを見たときに読みやすい文字サイズにし、はみ出しを防いでください。
  • ユーザー提供画像にはアップロード済みの HTTPS URL を、アイコンには検索で得た HTTPS URL を必ず使用してください。HTML では data: URL や base64 アセットを使用しないでください。
  • PPTX で編集できるようにテキストは HTML テキストとして保持し、グラフは実際のデータの可視化にのみ使用してください。
  • メモが要求された場合に限り、各スライドに data-speaker-note 属性を 1 つ追加してください。
  • 要求されたすべての形式で出力を一致させるため、同じ最終 HTML からエクスポートしてください。

失敗時の処理

  • 404 の場合は、公開 v3 のデザイン/エクスポートルートがデプロイされていることを確認してください。旧式の代替ルートを推測しないでください。
  • 400 のラッパー/スライドエラーの場合は、バリデーターを再実行し、HTML を references/html-format.md の構造上の契約と比較してください。
  • 422 の場合は、リクエストの形式またはフィールドの制限を修正してください。
  • 502 の場合は、再試行中に限り HTML を保持してください。再試行が終了したら、失敗を報告する前に cleanup-temp を実行してください。永続ストレージにコピーしないでください。
  • 要求されたすべてのエクスポート応答に、有効な正の作成 ID と HTTP または HTTPS の URL が含まれ、異なるプレゼンテーションごとに有効な HTTP または HTTPS の共有可能プレビュー URL がある場合に限り、成功を報告してください。

コメント