Communitygithub.com

Brian-LEE0/jp-consulting-pptx

建立日本顧問風格、無AI生成痕跡的日文PowerPoint簡報(.pptx)。涵蓋文體、版面配置與格式修飾。

jp-consulting-pptx 是什麼?

此技能專為生成高品質日文PowerPoint簡報而設計,特別適用於日本顧問公司風格的資料、提案書與報告書。它能解決AI生成簡報常見的三個問題:不自然的文體(例如過度的です・ます體、空洞用語)、粗糙的版面配置(置中標題、重複的卡片排列),以及格式漏洞(東亞字型缺失、語言標籤錯誤)。此技能提供完整的lib函式庫(支援封面、內容、圖表、表格等元件)、自動化後處理腳本(修正字型與避頭尾問題),以及lint檢查工具(偵測文體、字型、版面瑕疵)。支援在Claude Code、Cursor、VSCode、Copilot Chat、Aider等平台上使用,需Node.js(pptxgenjs)與Python 3(python-pptx)環境。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Brian-LEE0/jp-consulting-pptx/tree/HEAD

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

日本顧問風格 PPTX

此技能在 pptx 技能之上添加了日文專屬層。若 pptx 技能可用(claude.ai: /mnt/skills/public/pptx/SKILL.md),請先閱讀其中的 pptxgenjs 常見問題與 QA 指令(validate.py、soffice → pdftoppm)。以下內容會覆蓋或擴充該技能。本技能自己的腳本僅需 Node + pptxgenjs 以及 Python 3 + python-pptx。

為何存在

預設管線製作的日文投影片,明顯看起來是機器產生的,原因按可見度排序如下:

  1. 文体 – です・ます的解釋、模糊用語(〜と言えるでしょう)、空泛詞彙(さまざまな/効率的に)、翻譯腔。透過 references/writing-style.md 以及 linter 修正。
  2. 配置 – 置中標題、完全相同的三欄卡片、強調條紋、不均的間距、標題在投影片間移動。透過 references/layout-and-patterns.md 以及函式庫中的固定版面區域修正。
  3. 仕上げ – pptxgenjs 會將東亞字型留空,導致 PowerPoint 以游ゴシック Light 顯示日文;標記文字為 en-US;忽略禁則處理。由 scripts/postprocess_jp.py 自動修正,此腳本由函式庫自動執行。

AI 生成文字聽起來空洞的原因在於內容空泛,而非特定詞彙。禁止某個詞只會讓模型改用同義詞。因此修正根本原因:加入具體資訊(誰、什麼、多少、何時截止),或者刪除該句子。writing-style.md §0 說明了這點;請遵循其三遍改寫流程(削る → 足す → 揃える)。

對 pptx 技能的覆蓋

pptx 技能規定此處規定
標題 36–44pt,內文 14–16pt標題 24pt,導言 14,內文 14,備註 10。日本顧問簡報是閱讀文件;長日文標題在 36pt 時無法容納。只有在簡報用於投影時才使用 18pt 以上的內文。
字型從安全清單挑選拉丁/數字 Arial,日文 BIZ UDPゴシック(替代:游ゴシック、メイリオ)。在 createDeck 中設定 font:。QA 時會以替代字型渲染,因此請在文字框預留約 10% 的空間。
每張投影片都需要視覺元素結構化的表格、欄位或流程圖也算視覺元素。避免僅有條列的投影片;切勿為滿足此要求而加入裝飾性圖示。
無強調線、無色條此處相同,此外也禁止卡片邊緣條紋或全寬頁首色塊。

工作流程

  1. 先寫故事線。 將每張投影片的動作標題寫成清單,並依序閱讀。如果單看標題無法傳達故事,請在進行任何版面配置前修正故事(writing-style.md §2)。
  2. 逐張投影片撰寫文案,套用 writing-style.md §1–§5:依元素切換語體、標題和條列中不使用です・ます、數字附上基準和出處。
  3. 為每張投影片選擇版面模式,從 layout-and-patterns.md §2 的表格中挑選。相鄰的投影片不得使用相同模式。
  4. 使用函式庫(如下)建構。 請勿手動放置標題、導言、備註或頁碼;版面會自動處理它們。
  5. Lint 檢查:python3 scripts/lint_jp_deck.py deck.pptx。修正每個 ERROR,並閱讀每個 WARN。重複執行直到沒有 ERROR 為止。
  6. 驗證與渲染:validate.py,然後轉換為圖片並檢查每張投影片(參閱 beautify.md §4–§5)。以新鮮的眼光檢視投影片;檢查標題是否有孤行,以及區塊間的間距是否小於 0.3 英寸。
  7. 報告 lint 檢查摘要,以及任何你刻意保留的 WARN 及其原因。

如果使用者提供現有日文投影片要修正,請先執行 linter 以取得缺陷清單,然後根據 writing-style.md 編輯文字,並保留其版面配置,除非它違反版面規則。

函式庫

const { createDeck } = require("<skill dir>/scripts/jp_deck_lib.js");
const d = createDeck({ font: "biz-ud", palette: "ink", title: "…", company: "…", footerText: "Confidential" });
const { L } = d;                                  // 區域(單位:英吋):L.body、L.note……
d.cover({ title, subtitle, meta });
const s = d.content({ title: "結論を言い切るタイトル", lead: "対象・条件", section: "章名" });
d.bullets(s, ["体言止めの行", { t: "補足", lv: 1 }], { x: L.body.x, y: L.body.y, w: 6, h: 3 });
d.barChart(s, { labels, series: [{ name, values }] }, rect, { hi: 0 });
d.table(s, rows, rect, { numCols: [1, 2], hlRow: 2 });
d.columns(s, [{ head, items, foot, hl }], rect);
d.chevrons(s, [{ head, items, out, hl }], rect);
d.takeaway(s, "示唆の一文");                      // 內文區域底部
d.note(s, ["出所:…", "注:…"]);
await d.finish("out.pptx");                       // 寫入檔案,然後執行 postprocess_jp.py

scripts/sample_deck.js 會建立一份使用所有元件的 8 頁參考簡報;在撰寫新的建構腳本前,請先閱讀此檔案。線條、表格和圖表的顏色選項需使用 d.THEME.colors 中的十六進位色碼;文字和填滿可使用配置顏色 d.C.*。postprocess_jp.py 會在配置顏色洩漏到僅接受十六進位色碼的選項時大聲報錯。

請勿使用自訂的 fontFace 呼叫 pres.addText;主題字型已包含拉丁與日文字型配對。硬編碼字型會破壞東亞字型對應。

參考檔案

  • references/writing-style.md – 各元素的語體、動作標題、AI 用語目錄(NG → OK)、數字標記、條列規則、改寫流程、發布前檢查清單。在撰寫任何投影片文字前請先閱讀。
  • references/layout-and-patterns.md – 區域與網格、內容 → 模式表格、對齊原則、應避免的 AI 風格版面、圖表與表格慣例。
  • references/beautify.md – 色彩系統、字型比例、形狀規則、完稿檢查、渲染注意事項。

Linter

scripts/lint_jp_deck.py deck.pptx [--strict] [--json] [--ignore RULE …] 使用 python-pptx 讀取 .pptx,並針對每張投影片報告 ERROR / WARN / INFO。任何 ERROR 會導致退出碼為 1(若使用 --strict,則任何 WARN 也會導致退出碼為 1)。它涵蓋 writing-style.md §3 的 ★ 項目,以及字型、語言標籤、溢出估算、重疊、過緊間距、邊界、標題位置偏移、置中內文、以及版面重複。它無法判斷標題是否為好的主張;請透過依序閱讀標題來完成這件事。

相關技能