Communitygithub.com

Buds-2025/jp-magazine-poster

Codex 技能,用於生成日本現代編輯風格社群卡片

jp-magazine-poster 是什麼?

這個技能允許您將使用者提供的主題、原始文字或圖片集,轉換為具有日本雜誌風格的海報檔案。它支援 Codex 平台,透過一個結構化的工作流程:先閱讀模板合約、進行一輪澄清提問、選擇合適的模板、為每個區域(如標題、引言、詳細說明)建立精簡內容,並遵循嚴格的圖片來源優先順序(使用者提供圖片 > 系統可用的點陣圖生成 > 精緻 SVG 繪圖作為最後手段)。最終輸出為 HTML 和 PNG 格式的海報,並附帶 manifest.json 記錄中繼資料。此技能特別適合需要大量、風格一致且高品質日本雜誌版面設計的內容創作者或編輯團隊。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add Buds-2025/jp-magazine-poster

在你喜歡的 AI 中提問

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

說明文件

JP Magazine Poster

工作流程

使用此技能將使用者的主題、原始文字或圖片集轉換為日本雜誌風格的海報檔案。

  1. 在選擇模板或填入內容之前,請先閱讀 references/template-contract.md。
  2. 在開始製作之前,請進行一次完整的表單式澄清提問:
    • 用 1-3 句簡短的句子總結使用者的當前請求。
    • 詢問缺失的或可確認的選項,例如:風格/主題、海報數量、圖片來源、模板選擇、文案語氣、輸出目錄,以及任何必須使用或避免的內容。
    • 偏好使用簡潔的編號提問,並在適當時提供具體選項。
    • 僅提問一次。使用者回答後,不要循環進行更多澄清。
    • 如果使用者仍有遺漏,則採用合理的預設值,並在規格或 manifest 中記錄這些假設。
  3. 從原始請求及其回答中理解使用者的主題和要求的輸出數量。
  4. 選擇模板:
    • 當使用者提供時,使用其明確的模板 ID。
    • 當使用者要求所有風格時,使用全部 8 個模板。
    • 否則,選擇最符合內容形狀的最少模板數量。
  5. 為每個區域建立精簡的內容:
    • title:結尾不加標點符號。簡短子句可在標題內使用逗號。
    • goldenQuote:必須以中文或英文的句末標點符號結尾。
    • detail:使用正常標點符號和基於事實的來源上下文。
    • 將中文引號替換為尖括號,除非使用者明確要求保留原始引用文字。
    • 避免單字行以及單字加標點符號的行。
  6. 依照嚴格的優先順序選擇圖片:
    • 使用者提供的圖片路徑或 URL。
    • 呼叫系統可用的模型或工具來生成符合主題的點陣圖,然後在渲染前將選定的點陣圖檔案儲存到輸出目錄下。
    • 只有在使用者圖片不存在,且可用的圖像生成模型/工具不可用、失敗或無法返回專案本地點陣圖檔案時,才繪製精緻的 SVG 圖稿。在 assumptions 或 manifest 中記錄該原因。
    • SVG 只能作為內部繪圖來源使用,且必須在最終 HTML 渲染前柵格化為 PNG。
  7. 撰寫一個輸入 JSON 規格並執行:
node scripts/render_poster.js --spec input.json --out output/<run-name>
node scripts/validate_poster.js --html output/<run-name>/*.html

如果驗證失敗,請縮短或重寫文案、調整明確的換行、更改圖片焦點,然後再次渲染和驗證。

品質要求

  • 在完成一輪提問表單並得到回答之前,請勿開始渲染、圖像生成或文案調整,除非使用者明確要求跳過問題。
  • 一輪提問後缺失的細節必須透過實際的預設值來填補,而不是提出更多問題。
  • 最終 HTML 不得引用 .svg 檔案或 data:image/svg+xml。
  • 圖片來源必須遵循嚴格的優先順序:使用者提供的圖片,然後是系統可用的點陣圖生成,最後才是精緻 SVG 繪圖。
  • 生成的、繪製的或備用的圖片必須在放入圖片區域之前,先寫入輸出目錄下的 PNG/JPEG/WebP 檔案。
  • 不要將模板備用圖稿或 SVG 柵格化視為等同於模型/工具點陣圖生成。如果跳過或未能進行模型/工具生成,請記錄確切的原因。
  • PNG 海報匯出預設使用 2x 比例以獲得較清晰的審閱輸出。
  • 模板 03 的 object-card 筆記必須非常簡短,因為每個卡片具有固定的 216px 行高。
  • 模板 06 的圖片區域必須保留 .jp-photo-zone { width: 100%; max-width: 100%; },以便左側圖片不會侵入右側文字欄。

規格格式

最小輸入:

{
  "theme": "white",
  "templates": ["vertical-02"],
  "sourceText": "使用者主題或原始文字",
  "assumptions": ["用於一輪提問後使用的任何預設值。"],
  "images": [
    {
      "slot": "single-photo-feature",
      "src": "D:/path/to/image.png",
      "fit": "cover",
      "focus": "center 50%"
    }
  ],
  "content": {
    "title": "海報標題",
    "goldenQuote": "一句清晰的編輯句子。",
    "details": ["詳細說明一。", "詳細說明二。"]
  }
}

注意事項:

  • theme 接受 white、midnight、light 或 dark。
  • templates 接受模板 ID(例如 vertical-02)、模板名稱(例如 vertical-single-photo-headline)或 all。
  • content.details 可以是字串陣列或包含 heading、title 和 body 的物件。
  • images[].slot 應與模板合約中列出的 data-slot-id 或 data-relation-id 相符。

輸出

渲染指令碼會建立:

  • 每個海報一個 HTML 檔案。
  • 當安裝 Playwright 且 Chromium 可用時,每個海報一個 PNG 檔案。
  • 包含模板、主題、圖片來源、輸出檔案路徑以及驗證/匯出狀態的 manifest.json。
  • 當生成的、備用的或 SVG 來源的圖像被柵格化時,會產生 generated-images/*.png。

保持原始模板佈局不變。不要為了強行塞入內容而更改字型大小、行高、寬度、安全邊距、網格設定或視覺結構。應修正內容。

相關技能