摸魚PPT
把內容變成可閱讀、可講述、設計一致的幻燈片。核心設計產物是每頁完整的空間定位圖;完整製作交付一圖一頁、文字在圖內的 PPTX。保留使用者選定的 IP、品牌與風格方向。
{SKILL_DIR} 是本檔案所在目錄。每套作品用獨立工作區 decks/{deck-name}/,建在使用者當前專案目錄下(使用者指定了位置就用指定的);不要建在 {SKILL_DIR} 裡,技能升級會覆蓋那裡的內容。命令在該工作區執行,路徑加引號。決定與狀態一律用 python3 "{SKILL_DIR}/scripts/deck_state.py" 寫入 deck-state.json:它補時間戳,確認過的內容改變時自動作廢舊確認,status 顯示進入下一階段還缺什麼。恢復任務或技能升級後先執行 status,再重新讀取本檔案和當前階段的 references。
0. 首次使用
每次啟動先執行 python3 "{SKILL_DIR}/scripts/configure.py" status。configured 為 true 就直接做事;為 false 時先做一次安裝引導,再開始使用者的任務(細節見 setup):
- 在哪裡使用:問使用者是在豆包工作、WorkBuddy、Codex 還是別的地方用,用
set-platform記下。豆包工作和 Codex 直接用平台自帶的圖像模型,不需要額外配置;其他平台有內建生圖工具就用,沒有就按 setup 配一個外部生圖模型。任何平台都可以改用自己配置的生圖模型。 - 靈感檢索:請使用者開啟 https://app.scrapecreators.com/ 取得 key 並發來,用
set-key scrapecreators儲存;暫時不配就skip-search,之後不再追問。
儲存後不在回覆裡重複 key。配置完成時按 setup 說一次署名,之後不再提配置。
1. 判斷範圍
| requested_output | 做到這裡就停 |
|---|---|
| inspiration | 有差異的參考、來源與推薦理由 |
| style | 風格配置與五角色字體規範;已授權生圖時才做字體樣張 |
| plans | 大綱與全篇空間定位圖,不生圖 |
| deck | 方案、圖片、檢查與 PPTX |
| revise | 載入既有 deck,只改指定頁及受影響的依賴 |
| template | 儲存、列出、檢視或載入本地風格模板,不自動做 PPT |
- 按請求和上下文判斷:素材來自哪個平台、否定句、中英混合都不是排除理由;「做張知識卡片」和「改上一套 deck 的第 3 頁」靠上下文區分。
- 預設 standard,設計決定由使用者確認。使用者明確說「頁數和風格你來定,直接做」「全程不用問我」這類話,才用
delegate --quote --scopes記下原話和範圍,進入 autonomous。「幫我做PPT」、選了一個風格、回覆「預設」,都只確認當時展示的那一項。 - 已知資訊不重問;已有授權延續到它覆蓋的後續步驟。局部請求做到完成條件就停,不自動擴大為付費生成。
2. 五個使用者檢查點
每個檢查點都要讓使用者看到實際內容並回覆,才能往下走;記錄規則與門禁見 workflow-gates。autonomous 只免去授權範圍內的確認,展示、樣頁、字體產物和自檢照常做。等待回覆時可以讀素材、整理頁型、檢查既有資產;依賴回覆的搜尋和生圖等回覆後再做。
| 檢查點 | 給使用者看 | 回覆後記錄 |
|---|---|---|
| ① 需求 | 內容骨架(知識型還是演講型、主線、各部分的要點、幾檔頁數各捨什麼)+ 已知項 + 缺失項的一組建議(頁數、畫幅、受眾/用途、圖文融合佔比、標題排版),同時問整體感覺、喜歡或排斥的樣子 | artifact content_map → brief(建議先用 --proposed;佔比用 --visual-ratio,標題排版用 --title-layout)→ decide intake --quote |
| ② 文案 | 一份文案稿 page-copy.md:全篇每頁的標題和每一行要上螢幕的文字,一次給全、確認一次。新增的字和引語單獨指出來;知識型裡引語、金句、總結句和人物署名預設不上螢幕,使用者要留才留 | artifact page_copy → decide copy --quote |
| ③ 方向 | 按門類分組、帶編號的高清原圖圖庫:版式一類、風格元素一類(先看本地風格庫和範本庫裡存過的);agent 看過原圖後給兩三套搭配建議,每套拼成一張整版(左邊版式、右邊風格元素),圖不刪;使用者照建議選、混著選或自己挑,再把選定的版式和畫風搭配成方向,連同中文標題/正文/數字的字體搭配和侷限一起給使用者確認 | typography、artifact → decide visual --quote |
| ④ 大綱 + 樣頁 | 全篇大綱、覆蓋表(原文結構 → 頁碼:上螢幕、合併、不上螢幕及理由)和 1–3 張真實樣頁(實際標題與正文,資料頁含數字)。這一步看視覺,文字以②確認的文案稿為準 | pilot、artifact pilot_image → decide pilot --quote |
| ⑤ 收藏 | 交付且檢查完成後,擬儲存的範本名稱與摘要,只問一次 | template-offer |
建議值只是建議:給出 8–12 頁這樣的區間也要使用者選定,不自行取上限。頁數從內容骨架得出:給兩到三檔並寫清每檔捨哪些節;使用者給定的頁數裝不下時,說明要捨掉哪些節,由使用者選加頁還是確認捨棄,不悄悄捨。圖文融合佔比的建議跟內容類型走(演講型視覺主導 80/20,知識型 70/30 上下),並說明它是設計預算而非面積測量、文字密的頁會按內容調整或拆頁;使用者可選整體佔比(如 80/20、60/40、50/50),也可以說按內容逐頁定(per-page)。標題排版二選一,也是建議組的一項:統一版式(內容頁標題每頁同一位置、同一大小,適合彙報、課件和字多的知識型)或自由構圖(標題的位置和排法跟著每頁的畫面走,只鎖配色、字形和畫法,適合分享、演講和插畫、遊戲這類畫面感強的風格);說明自由構圖下標題只能做到字形一致、大小相近,要嚴格一樣大就選統一版式。inspiration 與 style 不寫文案稿,到 ③ 結束;plans 在 ③ 之後交付方案即結束。
3. 流程
- 初始化與需求(①):
init --deck-name … --requested-output …。讀完素材先寫內容骨架content-map.md:判斷知識型還是演講型,寫主線,逐節寫講者要講什麼、靠什麼講清楚和原文依據(content-structure-method);content_map.py check通過後登記。然後把骨架、已知項和缺失項建議一次問完,並記錄本次可用的生圖與檢索能力(intake-and-state);風格怎麼問見 style-discovery。使用者說「沒想法,你先找」即可開放探索。 - 文案稿(②):需求確認後、找靈感和做設計之前,把全篇每頁要上螢幕的文字寫成一份
page-copy.md:每頁一行內容來源,再逐行寫上螢幕:文字|出處,出處標原文、壓縮、新增(寫理由)或引語(寫理由)。螢幕上的字從這一節的「講者要講什麼」和「靠什麼講清楚」來;原文沒有的總結句、口號不加;知識型裡引語、金句和人物署名預設不上螢幕。選了統一版式時,同類頁的標題字數現在就寫齊;自由構圖不限字數。page_copy.py check通過後登記,把整份文案稿一次給使用者看(不是一頁一頁問),新增和引語單獨指出來,使用者確認後記錄。之後方案裡的可見文字只能是這份文案稿裡的文字;要改字,先改文案稿並重新確認。見 content-structure-method 第 10 節。 - 檢索與方向(③):先查本地風格庫和範本庫,有合適的先給使用者挑。要搜時,AI 只負責關鍵詞,分門類寫、分開成組(共 6–8 組、每組 3–4 條)。使用者點名的風格只搜和它有關的:這個風格的成套演示、用它做的版式(封面、目錄、資訊圖等頁面)、它自己的風格元素(介面、圖示、場景、紋理、標誌),每條關鍵詞都帶風格名,叫法寫進
brief.style_terms;不帶風格名的通用版式(流程圖、對比頁這類商務範本)和相近的風格都不搜,使用者提出才搜。使用者沒點名時,版式按頁型搜,風格元素按感覺拆開搜。關鍵詞寫進inspiration-plan.json(帶 brief,先--validate-plan)。ref_gallery.py build邊搜邊做編號圖庫:每組先搜前兩條關鍵詞、放 6 張原圖,按 Pinterest 原排序輪流取,不按風格或品質刪圖,以前看過的照樣放;使用者要多看某組時先放已搜到的,不夠再搜下一條,使用者要多搜就照辦(--keywords)。拼圖不放大,large/裡有每張圖的原始尺寸,使用者要看清楚某張時給原圖。圖庫做好後 agent 先翻拼圖、再逐張開啟要推薦的原圖(large/),給兩三套搭配建議(版式編號配風格元素編號、各借什麼、短處在哪),每套用ref_gallery.py combo拼成一張整版給使用者看,不刪圖;提風格、附參考都用原圖,不用拼圖。使用者照建議選、混著選或自己挑,想存進風格庫的另說(ref_gallery.py pick);agent 再把選定的版式和畫風搭配成方向,寫入visual-proposal.md給使用者確認。見 inspiration-search-method。 - 字體系統:從實際文案、字數密度和選定風格寫出 display/title/body/label/data 五個角色;需要表現力的標題用實際短文案生成 T 樣張,正文在樣頁中驗證。字形 T 與同畫幅字號樣板 SZ 分開:T 傳筆畫,SZ 傳墨跡大小和定位;一份 SZ 按組複用,不逐頁重做。預設直接設計,不檢索字體。見 typography-method、字號控制,配置欄位見 style-config-schema。
- 全篇方案與樣頁(④):完整空間定位圖寫入
design-plans.md,每頁用[內容來源]對應骨架裡的一個節點,可見文字清單照抄已確認的文案稿(多一行少一行拆分都會失敗),標題和內容同源,頁面不跨章、順序跟原文;常數塊寫明鎖定項與放開項,每頁標節奏檔位(穩定/變奏/亮點);封面、章節頁、結尾是展示頁:一律按亮點做,各寫各的構圖,大字不套內容頁的字號鎖。內容頁標題按①選的標題排版做,拆分時腳本檢查方案和選擇一致。統一版式:標題用字號鎖宣告,腳本按字數給每行算字框,放不下就先改短或拆成主副標題;同組字數在寫文案稿時就定齊(六個字以內每頁相同,更長的最多差 2 個字),否則拆分失敗。樣頁確認後,請使用者指定字號最對的一頁,用text_lock.py template剪出字號樣板,生產時附給這組的每一頁;位置不同的組用template --as-group把同一行字放到新位置做樣板。自由構圖:標題不加鎖,每頁把標題在哪、怎麼排寫進構圖方式(頂部、壓在主體上、場景裡的招牌或橫幅、豎排、居中、底部都可以),不做字號樣板、不測字號;全篇標題都寫在同一個位置時拆分會提醒。見 visual-director-method。通過 plans 門禁後機械拆分(方案和骨架不對位、或可見文字和文案稿不一致時拆分失敗),只生成pilot_pages的代表頁,連同全篇大綱和coverage.md一起展示。自檢通過不等於使用者驗收。 - 餘頁:production 門禁通過後匯出或呼叫生圖;內建生圖工具同樣使用通過門禁的匯出包。統一版式的作品首張內容頁前可用
text_lock.py guide做同畫幅幾何樣板;樣頁認可後用template提取真實字號樣板。同骨架或明確允許正文重排的頁可宣告[編輯底圖],機械匯出為編輯任務;T/L 不再競爭帶鎖標題的尺度和位置。字號仍需測量,不承諾像素鎖定;重畫由使用者決定。見 字號控制、generation-pipeline。 - 檢查與修復:全篇檔案、頁數、比例;宣告了字號鎖的作品每批圖先用
text_lock.py check量字高與位置,測量只出報告;重畫哪幾頁由使用者看圖決定(--feedback … --pages),不自動重畫;文字、資料、品牌、QR Code 頁重點看,每種版式看代表頁。OCR 只提示疑點。修復時給 target_image,只更新受影響頁;已成功且輸入未變的結果直接複用,提交狀態不明的請求先核對再決定是否重付費。見 quality-and-evaluation。 - 交付:展示全篇總覽、重點頁和檢查結論;按頁序裝配滿鋪 PPTX 並重開驗證。保留方案、字體規範與狀態,方便之後修改。交付訊息的最後加一行署名:「本技能由摸魚小李開源,公眾號「摸魚小李」取得更新。」每套作品只說這一次,不寫進幻燈片圖片;使用者說不需要就不再出現。
- 收藏(⑤):見 template-library。使用者事先說過儲存或不儲存就照辦;沒有回覆就不儲存,也不再追問。
4. 設計原則
- 先讀懂,再提煉:頁面呈現講者真正要講的東西。每頁的主體是這一節的主張和它的展開;原文沒有的總結句和口號不加,知識型裡引語、金句和人物署名預設不上螢幕,使用者要留才留在原文所在的那一節。知識型把知識結構放上螢幕,演講型一頁一個觀點。任何一節不上螢幕都寫明理由並讓使用者知道。
- 內容保真:每頁一個主要表達任務。人名、數字、單位、日期、否定、條件、不確定性和因果強度原樣保留;引語逐字;簡繁按原文;來源沒有的事實標為待補。
- 閱讀優先:字形正確、可讀性、訊息層級排在裝飾之前。顏色、字體、柵格、圖表與資產共同構成設計系統。
- 視覺預算:以①確認的圖文融合佔比為全篇基準(未記錄時視覺主導 80/20),它是設計預算而非面積測量。下限預設比基準低 5 點;每頁
[融合比]不低於下限,低於基準寫原因,除封面、章節頁、結尾頁外至少三分之二的頁達到基準。文字放不下就寫短或拆頁,不縮字號。每頁比例寫進提示詞,由模型安排畫面;留白單獨描述。 - 統一靠系統,變化有節奏:配色、字體角色、柵格、材質全篇鎖定;構圖、視角、主視覺隱喻按頁放開。穩定頁只用於同口徑比較和逐步講解;新論點預設是變奏頁,可以改一到兩項。封面、章節頁、結尾是展示頁,要大膽,彼此的構圖也不能一樣:字可以當主體、放進場景、豎排或壓底,景別可以換,可以滿版出血;鎖住的只是配色、字形、材質和畫法。創意和實用都要:內容頁把知識講清楚,展示頁讓人記住。每頁寫
[承接與遞進](承接上頁、本頁變化、鋪墊下頁),它只用於規劃、不進提示詞;變奏、亮點頁的變化要寫進本頁的構圖方式(主體在哪、重心在哪),穩定頁可以同骨架。標題排版由使用者選:統一版式時內容頁標題用字號鎖保證每頁一樣大,不寫字號百分比(模型按給它的區域定字的大小,標題長短不同就會畫出不同字號,所以同組字數要統一,變奏、亮點頁還要附字號樣板);自由構圖時不鎖標題,標題跟著每頁的畫面走,只要求字形一致、大小相近。文字由生圖模型畫,不改用疊加的文字框。樣頁確認後產生風格板,變奏與亮點頁附風格板而不是錨定頁。 - 只畫確認過的字:每頁的可見文字清單照抄使用者確認的文案稿,不增不減;emoji、頁碼、說明文字只在使用者提供時出現;圖像版 PPTX 不加可編輯文字層。
- 參考各司其職:
[S]風格、[L]版式、[T-role]字形、[C]品牌;方案寫穩定 ID,圖片序號由腳本產生;編輯必須提供待修圖。見 image-prompt-method。 - 借畫法不復刻:使用者點名某部作品或某款遊戲的風格時,借它的畫法與版式語言;不出現官方標誌、官方角色與原版素材,角色與圖形自己原創,除非使用者說明已獲授權。
- 字形樣張是參考圖,不是字體檔案,不保證任意漢字精確復現;正文的可讀性優先於標題效果。
5. 產物
| 範圍 | 產物 |
|---|---|
| inspiration | 搜尋簡報、穩定編號的候選、來源、差異與推薦理由;沒有搜尋時說明依據的既有參考或缺口 |
| style | assets/style-configs/{id}.json 與必要的 S/L/T 資產;未產生的樣張標為計劃 |
| plans | content-map.md:內容骨架;page-copy.md:文案稿;design-plans.md:全篇常數、逐頁空間定位圖、可見文字清單;coverage.md:覆蓋表 |
| deck | 以上 + images/pXX.png + quality-report.json + {deck-name}.pptx |
| revise | 修訂方案、版本化圖片、受影響頁與檢查記錄;按請求更新 PPTX |
| template | 使用者確認後寫入獨立本地庫,返回名稱/id/版本;預設不儲存原稿、逐字稿或客戶資產 |
每個任務都有 deck-state.json;外部生圖另有 run-state.json。金鑰只在使用者本機的配置目錄裡,作品目錄與狀態檔案裡不存金鑰。
首次回覆
首次使用且未配置:先做第 0 節的安裝引導。沒有素材:請使用者提供材料和用途。有素材:先讀完素材寫內容骨架,再列已知項,給出內容型別的判斷、頁數檔位和缺失項的一組建議(含圖文融合佔比和標題排版),並問整體感覺;使用者可以逐項修改,也可以回覆「按這組建議」。字體方案始終是展示給使用者的視覺方案,不只寫在設定檔裡。