본문으로 건너뛰기
Strata
로그인

프레젠테이션

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 코드 블록을 하나 추가합니다. 한 슬라이드에서 둘을 함께 사용하지 마세요. 시각 자료 밖의 본문은 발표자 노트이며 슬라이드에 표시되지 않습니다.

첫 번째 # 제목만 표지가 됩니다. ### 제목은 현재 슬라이드 안에 남습니다. Appendix로 시작하는 ## 제목은 대소문자 구분 없이 슬라이드를 끝내며, 이후 내용은 부록이 됩니다.

대화에서 슬라이드로

strata-presentation으로 대화에서 대상 독자, 목적, 근거 있는 주장의 흐름을 정리합니다. 스타일을 정하기 전에 원본 자료와 회사 디자인 시스템을 읽습니다. 슬라이드마다 제목 하나를 두고, 시각 자료에는 근거를, 섹션의 일반 본문에는 발표 원고를 작성합니다. edit_document로 저장하고 결과를 다시 읽습니다. 제공되는 HTML 미리보기를 확인하고 렌더링 제한을 알립니다.

각 HTML 수정은 덱 전체에서 고유하고 의미 있는 id를 기준으로 합니다. oldString과 newString 모두에 해당 id를 포함하고 replaceAll=false로 현재 조각 한 곳만 일치시킵니다. 이는 텍스트 치환 규칙이며 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과 일반 블록은 노트입니다. 이후 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 -->

![The team on launch day](launch-day.png)

```css name=deckTheme extends=strata-light
:root { --deck-accent: #1d4ed8; }
```
layoutfence
titleslide layout=title
statementslide layout=statement
bulletsslide layout=bullets
big-numberslide layout=big-number
two-columnslide layout=two-column
imageslide layout=image uses="hero"

디자인 시스템과 회사 테마

회사 디자인 시스템을 찾아 읽은 뒤 CSS를 하나의 css name=theme 펜스에 복사합니다. 실제 문서 ULID와 십진수 버전을 아는 경우 source와 sourceVersion을 함께 기록합니다. 출처 정보에는 둘 다 필요합니다. 기존 locked=true는 유지합니다. 복사본은 로컬 콘텐츠이며 해석 중 원본을 가져오거나 갱신하지 않습니다. 회사 테마가 없으면 strata-light로 시작합니다.

Claude Design 파일, Figma 변수, Tailwind 또는 브랜드 가이드에서 배경, 텍스트, 강조색, 보조 텍스트, 두 글꼴 스택, 안쪽 여백, 모서리 반경을 여덟 토큰에 매핑합니다. 덱별 변형은 deckTheme에 둡니다. 사용 권한이 있는 글꼴 파일만 data: URL로 포함하고 시스템 대체 글꼴을 지정합니다. 필요한 글리프를 보존하고 인코딩 후 CSS가 256 KiB 이내인지 확인합니다. 근사 색상과 글꼴 대체를 보고합니다.

우선순위가 낮은 순서로 다섯 레이어는 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;
}
```
tokenstrata-light
--deck-bg#ffffff
--deck-fg#111318
--deck-accent#2563eb
--deck-muted#6b7280
--deck-font-headingsystem-ui, sans-serif
--deck-font-bodysystem-ui, sans-serif
--deck-padding6cqw
--deck-radius12px
extends--deck-bg--deck-fg--deck-accent--deck-muted--deck-font-heading
strata-light#ffffff#111318#2563eb#6b7280system-ui, sans-serif
strata-dark#0b1020#f4f6fb#5cc8ff#8b93a7system-ui, sans-serif
strata-editorial#faf7f2#1f1b16#b4532a#756c61Georgia, serif
strata-mono#111111#e8e8e8#c8ff00#8a8a8aui-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 모두 예상 버전을 받지 않으므로 버전 충돌 오류 없이 공동 편집자의 변경 내용을 덮어쓸 수 있습니다. 고유한 앵커와 replaceAll=false를 사용하는 작은 edit 호출을 우선하세요. 단, 요청을 처리하는 작업의 복제본만 검사하며 블록 편집은 구조 재작성으로 대체될 수 있습니다. 어떤 MCP 본문 쓰기 경로도 동시 편집에 대한 안전성을 보장하지 않습니다. 덱이 편집 중인 것으로 보이면 사용자에게 알리고 편집 일시 중지를 조율하거나 별도 사본을 준비하세요. 교체가 불가피하다면 확정 직전에 다시 읽고 documentVersion을 파일 준비에 사용한 버전과 비교하여 변경되었으면 중단하세요. 버전이 같아도 경합 시간 구간을 좁힐 뿐 없애지는 못합니다.

HTML 덱 분할은 에이전트가 수행하는 변환이며 가져오기 도구가 아닙니다. 다섯 항목을 확인합니다. 슬라이드당 하나의 섹션, 연결된 스타일시트 없는 로컬 스타일, 확인된 탐색 코드를 제외하고 해당 섹션 안으로 제한된 스크립트의 DOM 접근, 자체 포함 자산, 섹션별 제목입니다. 스크립트 격리를 확인할 수 없으면 whole-deck을 유지하고 해당 스크립트를 명시합니다. 조건을 충족하는 분할이 요청되면 별도 문서를 만들고 첫 섹션을 H1 표지로 매핑하며 ID와 섹션을 보존하고 시각적 재현도가 검증되지 않았음을 보고합니다.

검증과 수정

발표나 내보내기 전에 검증을 실행하세요. validate_presentation은 레이아웃, 대비, 데이터 바인딩, 구조, 테마를 확인하고 캡처를 저장합니다. 호출당 한 화면 크기에서 최대 두 슬라이드를 확인합니다. status가 more인 동안 선택을 유지하고 next로 계속하세요. 슬라이드와 화면 크기마다 캡처 한 회를 사용하며 같은 결제 주기의 동일 렌더링 키에는 중복 청구되지 않습니다. 결과를 검토하고 원본을 수정한 뒤 다시 확인하세요.

{
  "action": "edit",
  "documentId": "<documentId>",
  "oldString": "<strong id=\"s02-target\">84%</strong>",
  "newString": "<strong id=\"s02-target\">87%</strong>",
  "replaceAll": false
}
code원인과 수정 방법strataDocumentation
duplicate-cover두 번째 이후의 H1은 새 표지가 아닌 노트가 됩니다. H1은 하나만 두고 다른 슬라이드에는 H2를 사용합니다.presentation-grammar
extra-visual추가 HTML 시각 요소가 생략됩니다. 별도 슬라이드로 옮기거나 의도한 시각 요소로 통합합니다.presentation-grammar
slide-and-visual한 섹션에 HTML과 slide 블록이 함께 있어 해당 섹션이 제외됩니다. 시각 요소 유형을 하나만 선택합니다.presentation-grammar
unknown-layout첫 slide 블록에 유효한 layout이 없습니다. 목록의 다섯 이름 중 하나를 지정합니다.presentation-grammar
image-slide-without-sourcelayout=image인 slide 펜스가 소스를 선언하지 않았습니다. 이 문서에 있는 이미지 이름을 uses에 추가하거나 덱 편집기에서 하나를 선택하세요.presentation-grammar
unknown-theme선택한 extends 이름을 알 수 없습니다. 기본 제공 테마를 선택합니다. 현재는 strata-light로 대체됩니다.presentation-themes
duplicate-themetheme 또는 deckTheme 블록이 여러 개여서 해당 레이어가 비활성화됩니다. 각 유형을 하나로 통합합니다.presentation-themes
theme-missing-token회사 테마에 필수 토큰이 빠져 있습니다. 여덟 개 모두 최상위 단독 :root 규칙에 정의합니다.presentation-themes
theme-contrast해석된 전경색과 배경색의 대비가 4.5:1 미만입니다. 해당 비율을 충족하도록 색상을 조정합니다.presentation-themes
theme-contrast-unknown전경색이나 배경색을 평가할 수 없습니다. 세 자리 또는 여섯 자리 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로 테마를 복사하고 검증된 출처를 기록하며 테마와 복사한 데이터가 스냅샷임을 알립니다. 이 문서 섹션이 있다고 루틴이 활성화되는 것은 아닙니다. 복사본은 명시적으로 요청되고 검토된 수정으로만 갱신합니다.