slide-storyline-designer · diff
git:20260606.a35fa7d to git:20260608.0b5a87c
86 added, 86 removed. Audit A to A.
---
name: slide-storyline-designer
- description: "簡報三棒接力的第一棒:把原始簡報素材/主題+想傳達的訊息,順成一條邏輯流暢的故事線──確認簡報目標與受眾、定出貫穿全場的核心主張、排出有序的敘事弧線 (beats)、並逐一檢查轉折是否跳躍或有缺口,產出 SLIDE_PACKET ▸ Storyline 敘事骨架交給 slide-page-splitter 分頁。當使用者說「幫我設計簡報故事線」「順一下這份簡報的邏輯」「這個 deck 的敘事怎麼排」「我要做提案/募資/培訓簡報,先把骨架抓出來」「檢查我的簡報流暢度」或丟給你一堆零散簡報素材想先理清結構時,主動觸發我。範圍界線:我只負責故事線與邏輯骨架,不切投影片頁、不寫每頁文案、不選版式或視覺──分頁是第二棒 slide-page-splitter 的事,視覺規格是第三棒 slide-visual-selector 的事,算繪 .pptx 是 pptx 技能的事。"
+ description: "Leg 1 of the three-leg slide relay: take the raw slide material / topic + the message you want to land, and shape it into a logically smooth storyline — confirm the presentation's goal and audience, fix the core claim that runs through the whole talk, lay out an ordered narrative arc (beats), and check each transition one by one for leaps or gaps, producing the SLIDE_PACKET ▸ Storyline narrative skeleton that gets handed to slide-page-splitter for paging. Trigger me proactively when the user says '幫我設計簡報故事線', '順一下這份簡報的邏輯', '這個 deck 的敘事怎麼排', '我要做提案/募資/培訓簡報,先把骨架抓出來', '檢查我的簡報流暢度', or hands you a pile of scattered slide material wanting to clarify the structure first. Scope boundary: I only handle the storyline and logical skeleton — I don't split slide pages, don't write per-page copy, and don't pick layouts or visuals. Paging is leg 2 slide-page-splitter's job, visual specs are leg 3 slide-visual-selector's job, and rendering the .pptx is the pptx skill's job."
category: brand-marketing
project: slide-storyline-designer
platform: claude
status: Done
author: Peter Tu
sheetId: "1.25"
originalName: "品牌行銷助理 ─ 設計品牌行銷故事線"
- input: "原始簡報素材/主題 + 想傳達的訊息(零散筆記、bullet、舊版 deck、口頭重點皆可)"
- process: "釐清目標與受眾 → 定核心主張 → 排敘事弧線 beats → 邏輯流暢度檢查 → 人工審核 (HITL) → 交棒並存檔"
- output: "SLIDE_PACKET ▸ Storyline 敘事骨架,交給 slide-page-splitter (1.26) 分頁"
+ input: "Raw slide material / topic + the message you want to land (scattered notes, bullets, an old deck, or verbal key points all welcome)"
+ process: "Clarify goal and audience → fix the core claim → lay out the narrative arc beats → logic-flow check → human review (HITL) → hand off and save"
+ output: "SLIDE_PACKET ▸ Storyline narrative skeleton, handed to slide-page-splitter (1.26) for paging"
synergy: ["slide-page-splitter"]
---
# slide-storyline-designer
```
npx skills add https://github.com/peter-tu-zynkr/zynkr-skill-builder --skill slide-storyline-designer
```
- ## 這是第幾棒
+ ## Which leg this is
- 這是 **簡報助理三棒接力的第一棒**。完整接力鏈是:
+ This is **leg 1 of the slide-assistant three-leg relay**. The full relay chain is:
```
- zynkr-slide(總指揮,選用)
- │ SLIDE_PACKET ▸ Brief(簡報用途 / 受眾與場合 / 工作子資料夾 / 頁數預算 / 必含素材 / 模式 / 套用品牌 / 逐棒強調)
+ zynkr-slide (conductor, optional)
+ │ SLIDE_PACKET ▸ Brief (presentation purpose / audience and occasion / work subfolder / page budget / must-include material / mode / apply brand / per-leg emphasis)
▼
- slide-storyline-designer (1.25) ← 你在這
+ slide-storyline-designer (1.25) ← you are here
│ SLIDE_PACKET ▸ Storyline
▼
slide-page-splitter (1.26)
│ SLIDE_PACKET ▸ Pages
▼
slide-visual-selector (1.27)
│ SLIDE_PACKET ▸ Visuals (render-ready)
▼
- pptx 技能 → 算繪成 .pptx
+ pptx skill → renders to .pptx
```
- **核心理念**:好簡報不是「把素材塞進投影片」,而是「先有一條觀眾跟得上的故事線」。多數失敗的簡報問題不在美術,而在敘事跳躍──聽眾在第三頁就掉隊了。所以這一棒刻意把「想清楚要講什麼、按什麼順序講、哪裡會斷」這件事**獨立出來、先做完**,再往下交。在故事線沒順之前去切頁、配圖,等於在地基沒打好時蓋牆。
+ **Core idea**: a good presentation isn't "cramming material into slides" — it's "first having a storyline the audience can follow." Most failed presentations fail not on the art but on narrative leaps — the audience loses the thread by slide three. So this leg deliberately **isolates and finishes first** the work of "thinking through what to say, in what order, and where it breaks," before handing down. Splitting pages and placing images before the storyline is smooth is like building walls before the foundation is set.
- **吃什麼**:原始簡報素材/主題 + 想傳達的訊息。可以是零散的 bullet、會議筆記、一份舊 deck、幾張數據圖、或只有一句「我要對 XX 做提案」。素材再亂都接。
+ **What it eats**: raw slide material / topic + the message you want to land. It can be scattered bullets, meeting notes, an old deck, a few data charts, or just one line like "I need to pitch to XX." However messy the material, it takes it.
- **吐什麼**:一個具名交棒包 `SLIDE_PACKET ▸ Storyline`,包含簡報目標、受眾與情境、核心主張、有序的敘事弧線 beats、以及邏輯檢查清單。這個包**直接餵給** slide-page-splitter (1.26),欄位名稱與下一棒輸入嚴格對齊,不需要重打。
+ **What it spits out**: a named handoff package `SLIDE_PACKET ▸ Storyline`, containing the presentation goal, audience and context, core claim, an ordered narrative arc of beats, and a logic checklist. This package **feeds directly into** slide-page-splitter (1.26); the field names align strictly with the next leg's input, so nothing has to be retyped.
- **不吐什麼**:不切投影片頁數、不寫每頁標題與文案、不挑版式或視覺元素。那是後兩棒的事(見 ## Limitations)。
+ **What it doesn't spit out**: it doesn't split slide page counts, doesn't write each page's title and copy, doesn't pick layouts or visual elements. That's the job of the next two legs (see ## Limitations).
---
## Resources you'll use
- - **接力合約**:本棒只需遵守 `SLIDE_PACKET ▸ Storyline` 的五個合約欄位(簡報目標、受眾與情境、核心主張、敘事弧線、邏輯檢查)。欄位名稱必須與下一棒 slide-page-splitter (1.26) 的輸入**逐字一致**,不可自創或改名。
- - **品牌語氣來源(設定)**:`./references/brand-source.md` ── 本技能**不內建品牌語氣內容**;此檔設定要從哪裡載入你的品牌敘事方法、語氣公式與用字偏好,並附通用 schema。寫核心主張、排敘事弧線、做邏輯檢查時依它載入品牌;未設定則用通用敘事原則。
- - **存檔位置(durable 紀錄)**:在使用者的簡報專案下開一個**工作子資料夾**,把定稿的 `SLIDE_PACKET ▸ Storyline` 存進去。這個子資料夾是 1.25 / 1.26 / 1.27 **共用同一份 SLIDE_PACKET** 的落腳處──你是第一棒,由你建立它;後兩棒會把 ▸ Pages、▸ Visuals 累加進同一個資料夾,讓整份簡報的接力紀錄不斷鏈。若使用者沒指定位置,先問一句要存哪,再開資料夾。
+ - **Relay contract**: this leg only needs to honor the five contract fields of `SLIDE_PACKET ▸ Storyline` (presentation goal, audience and context, core claim, narrative arc, logic check). The field names must match the input of the next leg slide-page-splitter (1.26) **word for word** — don't invent or rename them.
+ - **Brand voice source (config)**: `./references/brand-source.md` — this skill **does not bundle brand-voice content**; this file configures where to load your brand narrative method, voice formulas, and wording preferences from, and includes a generic schema. When writing the core claim, laying out the narrative arc, and running the logic check, load the brand per this file; if not configured, use generic narrative principles.
+ - **Save location (durable record)**: open a **work subfolder** under the user's presentation project and save the finalized `SLIDE_PACKET ▸ Storyline` into it. This subfolder is where 1.25 / 1.26 / 1.27 **share the same SLIDE_PACKET** — you are leg 1, so you create it; the next two legs append ▸ Pages and ▸ Visuals into the same folder, keeping the relay record of the whole presentation unbroken. If the user doesn't specify a location, ask first where to save it, then create the folder.
---
- ## Step 1 — 接收上一棒交棒包(這一棒是起點,所以是接素材)
+ ## Step 1 — Receive the previous leg's handoff package (this leg is the start, so it receives raw material)
- 你是第一棒,沒有上游交棒包,要接的是使用者的**原始素材**。先盤點手上有什麼,缺什麼就問,問清楚才動手──不要憑空腦補簡報目標。
+ You are leg 1; there's no upstream handoff package, so what you receive is the user's **raw material**. First inventory what's in hand; ask about whatever's missing, and only start once it's clear — don't fabricate the presentation goal out of thin air.
- > **若帶有上游 `SLIDE_PACKET ▸ Brief`(由 `zynkr-slide` 總指揮產生)**:先讀它,把 `受眾與場合` 直接填入本棒的「受眾與情境」(聽眾/場合,不必重問);依「簡報用途」與「逐棒強調 ▸ 故事線 (棒1)」調整敘事弧線骨架與邏輯檢查的加重項;並確保「必含素材」每項都有對應 beat 承載。`頁數預算` 只供參考(實際切頁是棒2 的事)。若 `套用品牌` 為「是」,依本棒 `./references/brand-source.md` 載入品牌語氣;為「否」走通用敘事原則。若 ▸ Brief 帶有「工作子資料夾」欄位,沿用它、不要另開、也不要再問使用者要存哪。▸ Brief 缺漏或與本棒原則衝突時,以本棒原則與使用者裁示為準;**沒有 ▸ Brief 就照下面流程正常獨立運作**。注意:故事線定稿閘(Step 5)無論有無 ▸ Brief、無論 express/guided 都保留。
+ > **If an upstream `SLIDE_PACKET ▸ Brief` is present (produced by the `zynkr-slide` conductor)**: read it first, fill `Audience and occasion` directly into this leg's "audience and context" (audience/occasion, no need to re-ask); adjust the narrative-arc skeleton and the weighting of the logic check per "presentation purpose" and "per-leg emphasis ▸ storyline (leg 1)"; and make sure every item of "must-include material" has a corresponding beat carrying it. `Page budget` is for reference only (actual paging is leg 2's job). If `Apply brand` is "yes," load brand voice per this leg's `./references/brand-source.md`; if "no," use generic narrative principles. If ▸ Brief carries a "work subfolder" field, reuse it — don't open another, and don't ask the user again where to save. When ▸ Brief is missing items or conflicts with this leg's principles, defer to this leg's principles and the user's ruling; **with no ▸ Brief, just run independently per the flow below as normal**. Note: the storyline finalization gate (Step 5) is kept regardless of whether there's a ▸ Brief and regardless of express/guided.
- 開工前確認這四件事,缺哪個就針對性追問(一次問完,別逐題擠牙膏):
+ Before starting, confirm these four things, and ask pointedly about whatever's missing (ask it all at once, don't squeeze it out question by question):
- 1. **簡報目標**:這份簡報要達成什麼?講完之後最想讓聽眾**記得哪一件事**/**做哪一個動作**?(這決定整條故事線收在哪。)
- 2. **受眾與情境**:聽眾是誰、什麼場合?四種典型情境用詞與節奏差很多(場合用詞要對齊合約 enum:**對外提案 / 內部更新 / 教學培訓 / 募資**):
- - **對外提案 (pitch)**:先痛點後方案,收在行動呼籲。
- - **內部更新 (update)**:先結論後佐證,重進度與決策。
- - **教學培訓 (teach)**:先框架後案例,重可複製的步驟。
- - **募資 (fundraise)**:問題→市場→解法→證據→團隊→要錢,缺一不可。
- 3. **素材**:手上有的東西全攤開──bullet、數據、舊 deck、引言、故事。標出哪些是「一定要進」、哪些「可有可無」。
- 4. **硬限制**:時間長度、頁數上限、品牌調性、絕對不能講的東西(合規/保密)。
+ 1. **Presentation goal**: what should this presentation achieve? After it's done, which one thing do you most want the audience to **remember** / **which one action** do you want them to take? (This determines where the whole storyline lands.)
+ 2. **Audience and context**: who's the audience, what occasion? The four typical contexts differ a lot in wording and pacing (occasion wording must align with the contract enum: **outbound pitch / internal update / teaching & training / fundraise**):
+ - **Outbound pitch (pitch)**: pain first, then solution, landing on a call to action.
+ - **Internal update (update)**: conclusion first, then evidence; emphasize progress and decisions.
+ - **Teaching & training (teach)**: framework first, then cases; emphasize repeatable steps.
+ - **Fundraise (fundraise)**: problem → market → solution → evidence → team → ask; none can be missing.
+ 3. **Material**: lay out everything in hand — bullets, data, old decks, quotes, stories. Mark which are "must include" and which are "nice to have."
+ 4. **Hard constraints**: time length, page-count cap, brand tone, things that absolutely can't be said (compliance/confidentiality).
- > 若使用者只丟了主題沒給訊息,先問:「這場講完,你最想讓聽眾記得的**一句話**是什麼?」這句話往往就是核心主張的雛形。
+ > If the user only tossed a topic without a message, ask first: "After this talk, what's the **one sentence** you most want the audience to remember?" That sentence is often the seed of the core claim.
---
- ## Step 2 — 定核心主張 (through-line)
+ ## Step 2 — Fix the core claim (through-line)
- 在排段落之前,先逼出**一句**貫穿全場的主軸。它是整份簡報的脊椎,每個 beat 都要服務它。
+ Before laying out sections, force out **one** sentence that runs through the whole talk. It's the spine of the entire presentation; every beat must serve it.
- > **決策框架(通用原則)**:用「決策框架」寫主張──這份簡報幫聽眾**做什麼決定/看清什麼取捨**,而不是功能或主題的羅列。品牌語氣與招牌句型由 `./references/brand-source.md` 載入。
+ > **Decision framework (generic principle)**: write the claim with a "decision framework" — what decision does this presentation help the audience **make / what trade-off does it help them see clearly**, rather than a roll call of features or topics. Brand voice and signature phrasing are loaded from `./references/brand-source.md`.
- **好的核心主張的檢驗標準**:
+ **Tests for a good core claim**:
- - **是一個主張,不是一個主題**。✗「關於我們的新產品」(主題) ✓「我們的新產品把上線時間從三週砍到三天」(主張,有立場、可被反駁)。
- - **聽眾說得出口**。如果聽眾散場後被問「那場在講什麼」,你希望他複述的就是這句。
- - **可證**。後面的 beats 必須能拿證據撐起它,撐不起來就是吹牛。
- - **單一**。一份簡報只能有一條 through-line;想講兩件事 = 兩份簡報。
+ - **It's a claim, not a topic**. ✗ "About our new product" (topic) ✓ "Our new product cuts go-live time from three weeks to three days" (claim — has a stance, can be argued against).
+ - **The audience can say it out loud**. If the audience is asked after leaving "what was that about," this is the sentence you'd want them to recite.
+ - **Provable**. The beats that follow must be able to hold it up with evidence; if they can't, it's bragging.
+ - **Single**. A presentation can have only one through-line; wanting to say two things = two presentations.
- 把候選主張寫 1–2 個給使用者選/改,別自己拍板。
+ Write 1–2 candidate claims for the user to pick/edit — don't make the call yourself.
---
- ## Step 3 — 排敘事弧線 (beats)
+ ## Step 3 — Lay out the narrative arc (beats)
- 把核心主張拆成**有序的段落節點**。每個 beat 是一個「敘事段」(之後會被第二棒切成 1~N 頁),不是一頁投影片。每個 beat 記三件事,欄名對齊合約:
+ Break the core claim into **ordered section nodes**. Each beat is a "narrative section" (later split by leg 2 into 1–N pages), not one slide page. Record three things per beat, with field names aligned to the contract:
```
- beat = { 名稱, 目的, 關鍵訊息 }
+ beat = { name, purpose, key message }
```
- - **名稱**:這段在故事裡的角色(例:開場鉤子、痛點、轉折、解法、證據、行動)。
- - **目的**:這段要讓聽眾**產生什麼變化**(從不知道→知道、從懷疑→相信、從觀望→行動)。
- - **關鍵訊息**:這段一定要傳達的那一句。
+ - **Name**: this section's role in the story (e.g., opening hook, pain point, turn, solution, evidence, action).
+ - **Purpose**: what change this section should **produce in the audience** (from not knowing → knowing, from doubting → believing, from watching → acting).
+ - **Key message**: the one sentence this section absolutely must convey.
- **依情境選敘事骨架**(拿來當起手式,再按素材調整):
+ **Pick a narrative skeleton by context** (use as an opening move, then adjust by material):
- | 情境 | 建議弧線 (beats 範本) |
+ | Context | Suggested arc (beats template) |
|------|------------------------|
- | 對外提案 pitch | 鉤子 → 痛點/現況代價 → 轉折(為何現在) → 解法 → 證據/案例 → 差異化 → 行動呼籲 |
- | 內部更新 update | 一頁結論 (TL;DR) → 進度 vs 目標 → 亮點 → 風險/阻礙 → 決策請求 → 下一步 |
- | 教學培訓 teach | 為何重要 → 心智模型/框架 → 步驟拆解 → 範例示範 → 常見錯誤 → 練習/總結 |
- | 募資 fundraise | 願景一句 → 問題 → 市場規模 → 解法 → 牽引力/數據 → 商業模式 → 團隊 → 募資與用途 |
+ | Outbound pitch | hook → pain point / cost of the status quo → turn (why now) → solution → evidence/case → differentiation → call to action |
+ | Internal update | one-page conclusion (TL;DR) → progress vs goal → highlights → risks/blockers → decision request → next steps |
+ | Teaching & training | why it matters → mental model/framework → step breakdown → worked example → common mistakes → exercise/wrap-up |
+ | Fundraise | one-line vision → problem → market size → solution → traction/data → business model → team → raise and use of funds |
- **排 beats 的原則**:
+ **Principles for laying out beats**:
- - **一個 beat 一個工作**。一段只推進一件事;塞兩個重點 = 拆成兩個 beat。
- - **情緒/邏輯有起伏**。全程平鋪直敘會睡著;提案類要先把痛點放大,解法的爽感才出得來。
- - **每個 beat 都回扣 through-line**。寫完問自己:拿掉這個 beat,主張會不會垮?不會垮 = 它是裝飾,砍掉或降級。
- - **數量克制**。一場簡報通常 4–7 個 beat 就夠;超過 8 個多半是把「頁」誤當成「beat」(切頁是下一棒的事,這裡別越界)。
- - **決策型簡報的預設骨架**:對外提案/募資/決策型內容,可套品牌的敘事方法當 beats(由 `./references/brand-source.md` 載入;未設定品牌則用「問題 → 取捨 → 方向」通用結構)。
+ - **One beat, one job**. Each section advances only one thing; cramming two key points = split into two beats.
+ - **Emotional/logical ups and downs**. Flat narration all the way through puts people to sleep; pitch-type talks must amplify the pain first so the relief of the solution can come through.
+ - **Every beat ties back to the through-line**. After writing, ask yourself: if I remove this beat, does the claim collapse? If not = it's decoration, cut or demote it.
+ - **Restrain the count**. A talk usually needs only 4–7 beats; over 8 is usually mistaking a "page" for a "beat" (paging is the next leg's job — don't overstep here).
+ - **Default skeleton for decision-type presentations**: for outbound pitch / fundraise / decision-type content, you can apply the brand's narrative method as the beats (loaded from `./references/brand-source.md`; if no brand is configured, use the generic "problem → trade-off → direction" structure).
---
- ## Step 4 — 邏輯流暢度檢查(這一棒的核心價值)
+ ## Step 4 — Logic-flow check (this leg's core value)
- beats 排好後,**逐個轉折**走一遍,找跳躍與缺口。這是這一棒最值錢的動作──分頁和配圖都救不了一條斷掉的故事線。
+ Once the beats are laid out, walk through **each transition** one by one, finding leaps and gaps. This is this leg's most valuable move — neither paging nor image placement can rescue a broken storyline.
- 對每兩個相鄰 beat 之間的轉折,套這份檢查清單:
+ For the transition between every two adjacent beats, apply this checklist:
- - **跳躍 (leap)**:從 A 到 B 之間,是否預設了聽眾還不知道的前提?(例:還沒講清楚問題多嚴重,就跳去要錢。)
- - **缺口 (gap)**:是否缺了一個必要的中間段?(例:有解法、有證據,但缺「為何是現在 / 為何是我們」。)
- - **斷裂 (non-sequitur)**:B 是否真的由 A 推得出來,還是只是「順序上排在後面」?
- - **重複 (redundancy)**:兩個 beat 是否在講同一件事?合併。
- - **舉證落差 (unsupported claim)**:哪個關鍵訊息目前**沒有素材撐**?標為待補。
- - **收尾力道**:最後一個 beat 有沒有真的把聽眾帶到「目標」那個動作/記憶點?
- - **語氣漂移 (voice drift)**:簡報是否「只給答案、沒給判斷」「給選項、沒給取捨」,或違反品牌用字偏好(依 `./references/brand-source.md` 載入)?標記並建議改寫──這和邏輯跳躍一樣是要補的缺口。
+ - **Leap**: from A to B, did it presume a premise the audience doesn't yet know? (e.g., asking for money before having made clear how serious the problem is.)
+ - **Gap**: is a necessary middle section missing? (e.g., there's a solution and evidence, but missing "why now / why us.")
+ - **Non-sequitur**: does B actually follow from A, or is it just "placed later in order"?
+ - **Redundancy**: are the two beats saying the same thing? Merge them.
+ - **Unsupported claim**: which key message currently **has no material behind it**? Mark it as to-be-filled.
+ - **Closing force**: does the last beat really carry the audience to the "goal" action/memory point?
+ - **Voice drift**: does the presentation "only give answers, no judgment," "give options, no trade-off," or violate brand wording preferences (loaded per `./references/brand-source.md`)? Flag and suggest a rewrite — this, like a logic leap, is a gap to fill.
- 把發現整理成一張**邏輯檢查表**:每條 = `{問題位置, 問題類型, 為什麼是問題, 建議補法}`。建議補法要具體(「在痛點與解法之間插一個 beat『為何現在非做不可』,用 X 數據支撐」),不是「這裡怪怪的」。
+ Organize the findings into a **logic check table**: each row = `{problem location, problem type, why it's a problem, suggested fix}`. The suggested fix must be specific ("insert a beat 'why it must be done now' between the pain point and the solution, backed by X data"), not "this feels off here."
- > 缺素材的待補項,明確標出「需要你提供 ___」交還使用者,不要自己捏數字。
+ > For to-be-filled items missing material, clearly mark "need you to provide ___" and hand it back to the user — don't make up numbers yourself.
---
- ## Step 5 — 人工審核 (HITL)
+ ## Step 5 — Human review (HITL)
- 故事線是後續所有頁的母版,一定要使用者拍板才往下交。把產物**編號**列給使用者,請他逐項處理:
+ The storyline is the master for all the pages that follow, so the user must sign off before handing down. List the deliverables **numbered** for the user, asking them to process item by item:
- 1. 印出完整草稿:簡報目標、受眾與情境、核心主張、編號的 beats、邏輯檢查表。
- 2. 對每個 **beat 編號**,請使用者標記:**保留 / 修改 / 刪除 / 調順序**。
- 3. 對每條 **邏輯問題**,請使用者:**接受建議補法 / 自己補素材 / 判定不需處理**。
- 4. 特別確認三個關鍵:**核心主張這句話對不對**、**beats 的順序對不對**、**有沒有漏掉非講不可的段**。
- 5. 使用者改完後重出一版,直到他說「OK 可以分頁了」才進 Step 6。
+ 1. Print the full draft: presentation goal, audience and context, core claim, numbered beats, logic check table.
+ 2. For each **beat number**, ask the user to mark: **keep / modify / delete / reorder**.
+ 3. For each **logic issue**, ask the user to: **accept the suggested fix / fill the material themselves / decide no action is needed**.
+ 4. Specifically confirm three key things: **is the core-claim sentence right**, **is the order of the beats right**, **is any must-say section missing**.
+ 5. After the user revises, reissue a version, and only enter Step 6 once they say "OK, ready to page."
- 不要自動往下棒丟;沒有使用者的 OK,這一棒不算完成。
+ Don't auto-toss to the next leg; without the user's OK, this leg is not done.
---
- ## Step 6 — 交棒並存檔
+ ## Step 6 — Hand off and save
- 審核通過後,先把定稿存進本份簡報的工作子資料夾(durable 紀錄,與 1.26 / 1.27 共用同一份 SLIDE_PACKET),再輸出具名交棒包。**欄位名稱嚴格對齊接力合約**(= slide-page-splitter 的輸入),下一棒不必翻譯:
+ Once review passes, first save the final into this presentation's work subfolder (durable record, sharing the same SLIDE_PACKET with 1.26 / 1.27), then output the named handoff package. **Field names align strictly with the relay contract** (= slide-page-splitter's input), so the next leg doesn't need to translate:
```
SLIDE_PACKET ▸ Storyline
────────────────────────────────────────
簡報目標:
<一句話講清楚這份簡報要達成什麼 / 要聽眾記得什麼>
受眾與情境:
聽眾:<是誰>
場合:<對外提案 / 內部更新 / 教學培訓 / 募資>
核心主張 (through-line):
<貫穿全場的一句主軸>
敘事弧線 (beats):
1. { 名稱:<…>, 目的:<讓聽眾產生什麼變化>, 關鍵訊息:<這段一定要傳達的那句> }
2. { 名稱:<…>, 目的:<…>, 關鍵訊息:<…> }
…(有序,4–7 個為宜)
邏輯檢查:
- { 問題位置:<beat N→N+1>, 問題類型:<跳躍/缺口/斷裂/重複/舉證落差>,
為什麼是問題:<…>, 建議補法:<具體做法> }
- …
待補素材:<明確列出需要使用者提供什麼,沒有則寫「無」>
────────────────────────────────────────
交給 → slide-page-splitter (1.26)
```
- 存檔後,主動提示使用者下一步:「故事線已定稿、已存進本份簡報的工作子資料夾。要進入分頁(slide-page-splitter,第二棒)把每個 beat 切成投影片頁了嗎?」若 slide-page-splitter 尚未安裝,提示先安裝再接力。
+ After saving, proactively prompt the user on the next step: "The storyline is finalized and saved into this presentation's work subfolder. Ready to move into paging (slide-page-splitter, leg 2) to split each beat into slide pages?" If slide-page-splitter isn't installed yet, prompt to install it first before relaying.
---
## Outputs
- 一個經使用者審核定稿的 `SLIDE_PACKET ▸ Storyline` 敘事骨架──含簡報目標、受眾與情境、核心主張、有序 beats、邏輯檢查與待補素材──存進本份簡報的工作子資料夾作為整份簡報的母版,直接交給 slide-page-splitter (1.26) 分頁。
+ A user-reviewed, finalized `SLIDE_PACKET ▸ Storyline` narrative skeleton — containing the presentation goal, audience and context, core claim, ordered beats, logic check, and to-be-filled material — saved into this presentation's work subfolder as the master for the whole presentation, handed directly to slide-page-splitter (1.26) for paging.
## Limitations
- - **只做故事線與邏輯骨架,不切頁**。決定一份簡報切成幾頁、每頁對應哪個 beat、單頁資訊密度,是第二棒 **slide-page-splitter (1.26)** 的工作(產出 SLIDE_PACKET ▸ Pages)。本棒交出的是「敘事段 beat」,不是「投影片頁」。
- - **不寫每頁文案、不下頁標題**。逐頁標題與內容要點屬於分頁棒;本棒只給每個 beat 的「關鍵訊息」。
- - **不挑版式、不配視覺**。版式 archetype、視覺元素 (addText / addTable / addChart…)、版面配置與設計備註,是第三棒 **slide-visual-selector (1.27)** 的工作(產出 SLIDE_PACKET ▸ Visuals)。
- - **不算繪 .pptx**。實際產檔由已安裝的 **pptx 技能**(`~/.claude/skills/pptx`,Create from scratch / pptxgenjs 路徑)在 1.27 完成後負責。
- - **不捏素材**。缺數據、缺案例一律標為「待補」交還使用者,不自行編造佐證。
+ - **Only the storyline and logical skeleton, no paging**. Deciding how many pages a presentation splits into, which beat each page maps to, and the information density of a single page is the job of leg 2 **slide-page-splitter (1.26)** (producing SLIDE_PACKET ▸ Pages). What this leg hands over is "narrative beats," not "slide pages."
+ - **Doesn't write per-page copy, doesn't set page titles**. Per-page titles and content points belong to the paging leg; this leg only gives each beat's "key message."
+ - **Doesn't pick layouts, doesn't place visuals**. Layout archetypes, visual elements (addText / addTable / addChart…), layout arrangement, and design notes are the job of leg 3 **slide-visual-selector (1.27)** (producing SLIDE_PACKET ▸ Visuals).
+ - **Doesn't render the .pptx**. Actual file production is handled by the installed **pptx skill** (`~/.claude/skills/pptx`, Create from scratch / pptxgenjs path) after 1.27 is done.
+ - **Doesn't fabricate material**. Missing data or missing cases are all marked "to be filled" and handed back to the user; it doesn't invent evidence on its own.