プレゼンテーション
Strata でスライドを作成、編集、発表できます。空のプレゼンテーションから始めるか、元のドキュメントを基に Strata Agent に下書きを依頼するか、Markdown をインポートします。
AIエージェントとプレゼンテーションを作成。プレゼンテーションを作成する
ワークスペースの「プレゼンテーション」を開きます。「新しいデッキ」を選んでタイトルを入力するか、Strata Agent に作成を依頼します。AI の下書きでは、題材、対象者、目的を説明し、長さ、テーマ、参照ドキュメントを選びます。開始前に見積もりとクレジット上限を確認してください。
「デッキ」と「ドキュメント」を切り替えて、スライドの配置やソース、ノートを編集します。スライドの追加、複製、並べ替え、除外やテーマの選択ができます。「発表」を選ぶと表示が始まり、発表者ビューにはノート、次のスライド、タイマーが表示されます。
ドキュメントの先頭に、--- 行で囲んだ YAML を記述します。既定値を使うには presentation: true を、設定するには次の例のように presentation マップを指定します。aspect には "16:9"、"16:10"、"4:3" を指定できます。
---
presentation:
aspect: "16:9"
---
# 取締役会向け報告
## 成果
```slide layout="bullets"
- 売上が増加
- 顧客維持率が改善
```
聴衆に数値を説明してください。
最初の # 見出しが表紙になり、各 ## 見出しから新しいスライドが始まります。見出しだけなら、見出しを表示するスライドになります。箇条書きを表示するには layout="bullets" を指定した slide コードブロックを、独自のビジュアルには html コードブロックを1つ追加します。同じスライドで両方を併用しないでください。ビジュアル外の文章は発表者ノートであり、スライドには表示されません。
最初の # 見出しだけが表紙になります。### 見出しは現在のスライド内に残ります。Appendix で始まる ## 見出し(大文字と小文字の区別なし)でスライドが終了し、それ以降は付録になります。
会話からスライドを作成する
strata-presentationを使い、会話から対象者、目的、根拠のある主張の流れを整理します。スタイルを決める前に、資料と会社のデザインシステムを確認してください。各スライドには見出しを1つ置き、ビジュアルに根拠を、セクションの通常の本文に説明用の原稿を記載します。edit_documentで保存して結果を読み直し、利用可能なHTMLプレビューを確認して、表示上の制限を伝えてください。
HTMLの編集は、プレゼンテーション全体で一意の、内容が分かるidを基点にします。oldStringとnewStringの両方にそのidを含め、replaceAll=falseで現在の断片1か所だけに一致させてください。これは文字列置換の規約であり、IDセレクターAPIではありません。一致しない場合や複数箇所に一致する場合は再読し、全体の書き換えで強行しないでください。例のdocumentIdは実際に返された値に置き換えます。 アンカーを使った小さな編集を優先してください。replaceAll=false では、リクエストを処理する ECS タスクのメモリ内 Yjs レプリカで一致が見つからない場合や曖昧な場合に拒否されます。照合には API の規則が使われ、引用符、脚注マーカー、空白が正規化されることがあります。厳密なバイト比較でも、分散 compare-and-swap でもありません。別のタスクが保存済みの変更がこのレプリカに届いていない場合があり、永続化中に競合する WAL レコードが取り込まれる前に、古いアンカーが一致する可能性があります。文字単位の編集は一致した範囲を変更しますが、ノードをまたぐ編集やブロックの編集は Markdown への変換と再読み込みによる構造の書き換えにフォールバックする場合があります。MCP のどの本文書き込み経路も期待する documentVersion を受け取らず、同時編集に対する安全性を保証しません。デッキが編集中と思われる場合はユーザーに伝え、編集の一時停止を調整するか、別のコピーを用意してください。再読で確認できるのは観測した結果であり、同時編集に対する安全性ではありません。
grammarVersion: 1ドキュメントの文法
先頭のYAMLブロックにpresentation: trueを指定すると既定値が有効になります。presentationのマップが受け付けるのは、aspect(16:9、16:10、4:3)、transition(fade、none、slide)、form(slides、whole-deck)、notes(presenter、none)のみです。既定値は16:9、fade、slides、presenterです。YAMLの上限は16 KiBです。テーマはfrontmatterの設定ではありません。
slides形式では、トップレベルの最初のH1が表紙となり、各H2がスライドを開始します。H3–H6と通常のブロックはノートです。2つ目以降のH1とその後の内容は、次のH2まで直前のセクションのノートとなり、duplicate-coverが報告されます。前置きは、表紙があればそこに割り当てられます。前後の空白と大文字小文字の違いを除いたテキストがappendixで始まる最初のH2で、以降の見出しも含めスライド処理が終了します。
セクション内の最初のhtmlフェンスがビジュアルです。追加のHTMLは報告され、選択されません。htmlとslideフェンスを混在させると、そのセクションは除外されます。HTMLがなければ、最初のslideフェンスがlayout=title、statement、bullets、big-number、two-column、imageを選択します。指定がない、または無効な場合はunknown-layoutが報告され、構造上はstatementになります。後続のslideフェンスはノートです。どちらもなければ見出しだけのスライドになります。Layoutはslideフェンス専用です。slideではnameは破棄されますがusesは残ります。layout=imageのスライドはusesで表示する画像を指定し、指定がない場合はimage-slide-without-sourceが報告されます。Nameはデータソースを宣言し、HTMLビジュアルのusesは依存先をカンマ区切りで列挙します。
描画する数値は、できれば付録に置く名前付きjson/csv/tsv/yamlブロックや表にバインドします。HTMLはusesを宣言し、strata.data.getでタグ付きソースを読み、strata:dataで再描画します。kindとformatに応じてデコードし、利用できないデータも扱ってください。interactive-htmlを参照します。ソースは各128 KiB、合計256 KiB以内に集約します。編集対象にIDを付け、HTMLフェンス内にスライドコメントを置きます。アクティブなシェルではdata-deck-headlineが見出しを受け取ります。通常のプレビュー向けに読みやすい代替テキストを残してください。
Strata でスライドを作成、編集、発表できます。空のプレゼンテーションから始めるか、元のドキュメントを基に Strata Agent に下書きを依頼するか、Markdown をインポートします。
---
presentation:
aspect: '16:9'
transition: fade
form: slides
notes: presenter
---
# Launch
```slide layout=title
A smaller first release
Priya Raman, March
```
## Focus
```slide layout=bullets
What ships first:
- One workspace
- One integration
- Nothing else
```
Say the internal negotiation out loud; this paragraph stays a presenter note.
## The room
```slide layout=image uses=launchPhoto
Launch day, Oslo
```
## Adoption
```html
<!-- slide: adoption -->
<main id="s03-adoption" style="padding:var(--deck-padding)">
<h1 class="deck-title" data-deck-headline>Adoption</h1>
<p id="s03-rationale">A smaller release gives us a clear learning signal.</p>
</main>
```
## Appendix
<!-- strata:name=launchPhoto -->

```css name=deckTheme extends=strata-light
:root { --deck-accent: #1d4ed8; }
```layout | fence |
|---|---|
title | slide layout=title |
statement | slide layout=statement |
bullets | slide layout=bullets |
big-number | slide layout=big-number |
two-column | slide layout=two-column |
image | slide layout=image uses="hero" |
デザインシステムと会社のテーマ
会社のデザインシステムを検索して読み、CSSを1つのcss name=themeフェンスにコピーします。実際のドキュメントULIDと10進数のバージョンが分かる場合は、sourceとsourceVersionを組にして記録します。出所の記録には両方が必要です。既存のlocked=trueは維持してください。コピーはローカルの内容であり、テーマ解決時に元の資料の取得や更新は行われません。会社のテーマがなければstrata-lightから始めます。
Claude Designのファイル、Figmaの変数、Tailwind、ブランドガイドでは、背景、本文色、アクセント、補助テキスト、2つのフォントスタック、余白、角丸を8つのトークンに対応させます。デッキ固有の調整はdeckThemeに置きます。使用許可のあるフォントのみをdata: URLで埋め込み、システムフォントの代替を用意します。必要なグリフを残し、エンコード後のCSSが256 KiB以内か確認します。概算の色やフォントの置き換えを報告してください。
5つのレイヤーは優先度の低い順にdeck-base、deck-strata、deck-company、deck-deck、deck-slideで、その前にpreview-baseがあります。個別の変更にはcss name=deckThemeを使います。そのextendsが会社テーマのextendsより優先され、いずれもなければstrata-lightです。同梱テーマはstrata-light、strata-dark、strata-editorial、strata-monoです。不明な名前は報告とともに代替テーマに戻ります。インラインスタイルには通常のCSSカスケードが適用されます。
下記の会社用トークン8個を、トップレベルの単純な:root規則に定義してください。html、body、混在セレクター、ネストした@media/@layer内のトークンは読み取られず、theme-token-outside-rootが報告されます。スライドではvar(--deck-...)を使います。CSSは256 KiB以内で括弧を対応させ、!importantや外部のインポート/URLを避けてください。data:アセットは使用できます。文字と背景のコントラストは4.5:1以上とし、未対応の色式ではコントラスト不明が報告されます。テーマ名が重複するとそのレイヤーは無効になります。会社のロックはデッキによるトークン上書きを報告しますが、上書きの優先を阻止しません。
```css name=theme extends=strata-light
:root {
--deck-bg: #ffffff;
--deck-fg: #111318;
--deck-accent: #1d4ed8;
--deck-muted: #586174;
--deck-font-heading: system-ui, sans-serif;
--deck-font-body: system-ui, sans-serif;
--deck-padding: 6cqw;
--deck-radius: 12px;
}
```token | strata-light |
|---|---|
--deck-bg | #ffffff |
--deck-fg | #111318 |
--deck-accent | #2563eb |
--deck-muted | #6b7280 |
--deck-font-heading | system-ui, sans-serif |
--deck-font-body | system-ui, sans-serif |
--deck-padding | 6cqw |
--deck-radius | 12px |
extends | --deck-bg | --deck-fg | --deck-accent | --deck-muted | --deck-font-heading |
|---|---|---|---|---|---|
strata-light | #ffffff | #111318 | #2563eb | #6b7280 | system-ui, sans-serif |
strata-dark | #0b1020 | #f4f6fb | #5cc8ff | #8b93a7 | system-ui, sans-serif |
strata-editorial | #faf7f2 | #1f1b16 | #b4532a | #756c61 | Georgia, serif |
strata-mono | #111111 | #e8e8e8 | #c8ff00 | #8a8a8a | ui-monospace, monospace |
共有とエクスポート
所有者と編集者はドキュメント全体を読みます。閲覧者、コメント権限の利用者、提案のみの利用者には、採用された見出しとビジュアルを含み、通常のノートを除いたエディションが渡されます。非公開の原稿はビジュアルフェンスの外に置いてください。notes: noneはパネルの表示設定であり、プライバシー設定ではありません。presentation設定を削除または無効化すると通常のドキュメントに戻り、閲覧者に本文全体が渡される可能性があります。
エディションには、テーマCSS、採用されたビジュアルのusesで宣言された名前付きJSON/CSV/TSV/YAMLブロックや表、presentation設定も残ります。付録内のリソースも保持され、slides形式では付録の見出しも残ります。これらのブロックは丸ごとコピーされるため、非表示HTML、コメント、スクリプト、未使用のデータ項目から非公開情報が露出する可能性があります。付録の通常の本文と、それ以外のfrontmatterキーは除外されます。
form: whole-deckでは、付録より前にあるトップレベルの最初のHTMLフェンスがプレゼンテーション全体です。見出しはスライドを作りません。共有シェルは、count()、current()、goTo(index)を備えた自作のstrata.deck.registerAdapterを介して操作できます。そのHTML内部のノートは除去できません。notesPrivacyはnotStrippedとなり、公開には明示的な了承が必要です。機密のノートはHTMLの外に置いてください。
「エクスポート」で PDF または単体 HTML を出力するか、接続したアシスタントに export_presentation の使用を依頼します。ダウンロードリンクは15分間有効です。PDF はドキュメント所有者のキャプチャ枠を消費し、HTML は枠を消費しません。スライドの発表者ノートは削除されます。whole-deck HTML は非公開ノートを確実に削除できないため、エクスポートできません。PPTX 出力には対応していません。
既存のプレゼンテーションを取り込む
既存ファイルを保持し、形式を確認してください。UTF-8 Markdownではバイト数を測り、edit_documentにaction=presignUpload、contentLength、およびdocumentIdまたはtitle/folderIdを渡します。返されたrequiredHeadersをすべて付けて正確なバイト列をPUTし、その後uploadIdでfinalizeUploadを呼びます。完了後に読み直してください。HTMLデッキはwhole-deckのMarkdownコピーに変換し、サンドボックスの依存関係と内部ノートを確認します。OfficeファイルのアップロードはPPTX/PDF/DOCXを通常のドキュメントに変換しますが、元のスライドの再現性は保証しません。これらのバイナリをMarkdownのアップロード経路に送らないでください。 既存の documentId を指定すると、finalizeUpload 時に内容全体が置換されます。PUT はバイト列を一時保存するだけです。finalizeUpload も action=write も期待するバージョンを受け取らないため、バージョン競合エラーを出さずに共同編集者の変更を上書きする可能性があります。一意のアンカーを使った小さな edit 呼び出しと replaceAll=false を優先してください。ただし、確認対象はリクエストを処理するタスクのレプリカだけで、ブロックの編集は構造の書き換えにフォールバックする場合があります。MCP のどの本文書き込み経路も、同時編集に対する安全性を保証しません。デッキが編集中と思われる場合はユーザーに伝え、編集の一時停止を調整するか、別のコピーを用意してください。置換が避けられない場合は、確定の直前に再読し、documentVersion をファイルの準備に使ったバージョンと比較して、変わっていれば中止してください。バージョンが同じでも競合の時間幅が狭まるだけで、なくなるわけではありません。
HTMLデッキの分割はエージェントによる変換であり、インポートツールではありません。5項目を確認します。各スライドが1セクションであること、リンクされたスタイルシートを使わないローカルスタイルであること、特定できたナビゲーション以外のスクリプトがそのセクション内だけのDOMにアクセスすること、アセットが自己完結していること、各セクションに見出しがあることです。スクリプトの分離を確認できなければwhole-deckを維持し、そのスクリプトを示します。条件を満たす分割を求められた場合は別文書を作り、最初のセクションをH1表紙にし、IDとセクションを保持して、表示の再現性が未検証であることを報告します。
検証と修正
発表やエクスポートの前に検証します。validate_presentation はレイアウト、コントラスト、データ連携、構造、テーマを確認し、キャプチャを保存します。1回の呼び出しで1つの表示サイズについて最大2枚を確認します。status が more の間は、選択を変えずに next で続けます。スライドと表示サイズの組み合わせごとに1回分を消費し、同じ請求期間の同一レンダーキーには重複課金されません。結果を確認してソースを修正し、再検証してください。
{
"action": "edit",
"documentId": "<documentId>",
"oldString": "<strong id=\"s02-target\">84%</strong>",
"newString": "<strong id=\"s02-target\">87%</strong>",
"replaceAll": false
}code | 原因と修正方法 | strataDocumentation |
|---|---|---|
duplicate-cover | 2つ目以降のH1は別の表紙ではなくノートになります。H1は1つにし、別のスライドにはH2を使ってください。 | presentation-grammar |
extra-visual | 追加のHTMLビジュアルは省略されます。別のスライドに移すか、意図したビジュアルに統合してください。 | presentation-grammar |
slide-and-visual | 同じセクションにHTMLとslideの両方があるため、セクションが除外されます。ビジュアルの種類を1つにしてください。 | presentation-grammar |
unknown-layout | 最初のslideブロックに有効なlayoutがありません。一覧の5種類から指定してください。 | presentation-grammar |
image-slide-without-source | layout=imageのslideフェンスがソースを宣言していません。この文書内の画像名をusesに追加するか、デッキエディタで画像を選択してください。 | presentation-grammar |
unknown-theme | 指定したextends名が不明です。組み込みテーマを選んでください。現在はstrata-lightにフォールバックします。 | presentation-themes |
duplicate-theme | themeまたはdeckThemeブロックが複数あるため、そのレイヤーが無効になります。それぞれ1つにまとめてください。 | presentation-themes |
theme-missing-token | 会社テーマに必須トークンがありません。8つすべてを最上位の単独の:rootルールに定義してください。 | presentation-themes |
theme-contrast | 解決後の前景色と背景色のコントラストが4.5:1未満です。この比率を満たすように配色を調整してください。 | presentation-themes |
theme-contrast-unknown | 前景色または背景色を評価できません。3桁か6桁の16進数リテラル、または整数のrgb()を使ってください。 | presentation-themes |
theme-important | テーマCSSに!importantが含まれており、除去されます。指定を削除し、記載されたカスケードを使ってください。 | presentation-themes |
theme-oversize | テーマCSSが256 KiBを超えているため省略されます。埋め込みアセットを含むUTF-8のバイト数を減らしてください。 | presentation-themes |
theme-external-url | @importまたはdata:以外のURLが見つかりました。削除するか、使用許可のあるアセットをdata:として埋め込んでください。 | presentation-themes |
theme-unbalanced | 正規化の前後でテーマの括弧が対応していないため、レイヤーが省略されます。CSS構文を修正してください。 | presentation-themes |
theme-token-outside-root | デッキトークンが最上位の単独の:rootルール以外で宣言されています。宣言を:rootに移してください。 | presentation-themes |
locked-override | デッキトークンがロックされた会社テーマを上書きしています。上書きを削除するか、元のテーマの変更に合意してください。ロックは報告するだけです。 | presentation-themes |
プレゼンテーションを最新に保つ
プレゼンテーションの自動更新は利用できません。list_company_themes、get_company_theme、更新ルーチン用のtarget/sourceRef/baseVersion契約は未実装です。findとread_documentでテーマをコピーし、確認済みの出所を記録して、テーマとコピーしたデータがスナップショットであることを伝えてください。この説明ページが存在してもルーチンは有効になりません。コピーの更新は、明示的な依頼を受けて内容を確認した編集としてのみ行います。