Community影像github.com

adam-j-ali/research-poster

將 PDF 摘要轉換為精美、可完整編輯的科學會議海報(.pptx + PDF + 預覽圖),具備一致的機構風格、真實的圖表、經過驗證的文獻引用、大而清晰的字體排印,並包含渲染與自我檢查的迭代流程。

research-poster 是什麼?

此技能專為從 PDF 摘要或研究論文自動生成高品質、符合投稿標準的學術海報而設計。它會產出原生且可編輯的 PowerPoint(.pptx)檔案、PDF 以及 PNG 預覽圖,核心目標是確保海報中的每一個數據、圖表與文獻引用皆真實可驗證。技能內建了從設計、建構、渲染到自我品質檢查(QA)的完整工作流程,能有效避免常見問題,例如 PowerPoint 開啟時出現圖表修復提示。它支援多種會議(如 RSNA、AHA)的格式規範,並能透過分析參考海報來模仿現有的機構風格。此技能以自主運行為設計目標,但會在關鍵步驟(如尺寸、作者確認)提供帶有建議預設值的提問,以確保流程順暢。所有圖表預設使用可編輯的原生 PowerPoint 圖表,並會透過 TDD-lite(輕量測試驅動開發)方法驗證每個百分比的數值正確性,同時也確保字體大小、文字不重疊,並通過多階段的渲染與檢查循環來達成高品質輸出。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/adam-j-ali/research-poster-skill/tree/HEAD/skills/research-poster

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

<references_contract>

參考文件為強制項目,非選擇性

此技能附帶 6 個參考文件,以及 references/examples/ 目錄中的兩個完整範例。請在執行需要該參考文件的步驟之前閱讀它,切勿事後才檢查你的工作。

  • references/data-integrity.md:從原始資料重現摘要內容(第一階段)
  • references/venues.md:查詢並確認會議官方規則與日期;機構品牌規範(第零與第二階段)
  • references/design-rules.md:可讀性下限、字體級數、版面配置、機構風格(第三階段)
  • references/build-and-charts.md:原生圖表、修復觸發條件、python-pptx 常見陷阱(第四階段)
  • references/rendering-qa.md:渲染、可讀性與重疊檢查、QR 碼(第五階段)
  • references/citations.md:驗證、格式化、超連結(第二階段) </references_contract>

此技能編碼了一套經過實務考驗的工作流程。請在執行需要該參考文件的步驟之前閱讀它,切勿事後才檢查你的工作(屆時錯誤已存在於輸出中);不要重新發明已經解決的部分(如圖表安全性、渲染、字體級數)。腳本位於 ${CLAUDE_SKILL_DIR}/scripts/;完整範例與深入指引位於 ${CLAUDE_SKILL_DIR}/references/。渲染使用 LibreOffice(跨平台)或 macOS 上的 Microsoft PowerPoint;詳見 references/rendering-qa.md。

<companion_skills> 此技能所需的一切均已打包;建構、渲染與檢查完全依賴此處的腳本執行。以下為可選的輔助技能,可增添精緻度。請使用任何已安裝的技能。如果缺少某個技能,請在告知使用者一次單行安裝指令後,在沒有它的情況下繼續執行,切勿因此中斷流程。

技能功能安裝 (在 Claude Code 中)
Anthropic pptx + pdf (document-skills)編輯現有海報、處理棘手的 PDF/plugin marketplace add anthropics/skills,然後 /plugin install document-skills@anthropic-agent-skills
frontend-design調色板、字體配對、版面方向/plugin install frontend-design@claude-plugins-official
K-Dense citation-management (MIT)PubMed / DOI 查詢、格式化參考文獻從 github.com/K-Dense-AI/scientific-agent-skills 複製 skills/citation-management 到 ~/.claude/skills/
K-Dense scientific-visualization (MIT)期刊風格的 matplotlib 圖表(圖片圖表路線)同上 repo,skills/scientific-visualization

請不要使用 K-Dense pptx-posters(一個 HTML/CSS 海報路線,與此請求競爭)和 scientific-writing(手稿散文,禁止海報需要的條列式內容)。文獻引用檢查不需要額外技能:針對 PubMed / Crossref / doi.org 進行網路搜尋和擷取即可勝任。 </companion_skills>

<execution_context> 可互動執行或完全自主執行。下方每個關卡都是一個 AskUserQuestion,並附有明確標記的建議預設值,因此自主執行時只需接受預設值並說明即可。

  • 🟢 自動 (不詢問):讀取輸入、研究、提取機構風格、建構、渲染、自我品質檢查並迭代、在海報自己的工作目錄中進行 git init 與提交、清理中間檔案。
  • 🟡 詢問 (附帶建議預設值):海報尺寸/會議規範、作者/所屬機構/標誌確認、語氣程度、引用深度、圖表引擎(可編輯原生 vs. 圖片)、以及數據是否為最終版本。
  • 🔴 從不:捏造任何數字、結果或引用;更改研究中報告的發現;覆蓋使用者已最終確定的檔案(始終另外撰寫一份副本);交付會觸發 PowerPoint 修復提示的檔案;將作者的病患級別數據複製出來或發送給任何網路服務(在原地讀取,僅儲存彙整數據)。 </execution_context>
  1. 收集輸入:摘要 PDF(必要);可選的參考海報 (.pptx) 用於提取機構風格;可選的標誌檔案;任何更新的數據。
  2. 再次說明你的理解,然後批次提出關卡問題(一到兩次 AskUserQuestion 呼叫,每個選項標記建議預設值)。建議預設值以方括號標示:
    • 尺寸/會議:首先確認會議的 ePoster 規範 [預設];否則使用 16:9 單張投影片 (48x27 英寸),此規格符合大多數螢幕上的 ePoster 檢視器。
    • 作者、所屬機構與標誌:與作者本人確認,而非摘要的提交區塊(通常並非最終版本)。多個機構意味著需要多個標誌 [詢問要使用哪些]。
    • 語氣:適度的學術潤飾 [預設];數據和發現絕不更改。
    • 引用:4-6 個經過驗證、帶有可點擊 DOI/URL 的參考文獻 [預設]。
    • 圖表引擎:可編輯的原生圖表 [預設];若要求則使用精緻圖片。
    • 數據是最終版本,還是後續還會增加?如果還在進行中,則在設計時讓數字易於更新(使用單一數據區塊),並保留初步的框架標示。
    • 單張投影片海報還是口頭簡報投影片組?「用於會議的 PowerPoint」可能指其中任何一種 [海報]。
    • 當作者提供的數據檔案與摘要不一致時:海報上應使用哪些數字 [取得作者的分析檔案;否則重新計算並重現,請參閱 data-integrity.md]。
    • 用於任何 QR 碼的連結(影片、全文)。缺少的連結會變成標記的佔位符 [預設]。
    • 投稿截止日期:要求提供接受通知郵件;截止日期可能已經很接近。
  3. 自主模式:接受預設值,說明它們,然後繼續執行。
  1. 可選地使用環境中已安裝的輔助技能(document/pptx 和 pdf、dataviz、frontend design、citation management、scientific visualization)。它們是增強功能;下方的工作流程透過 python-pptx、matplotlib 和渲染器即可自給自足。
  2. 完整讀取摘要:透過 pdfplumber(.docx 則用 python-docx)讀取文字、視覺渲染以及 OCR/圖像檢查,確保不漏掉任何圖表。擷取標題、作者、所屬機構、每個數字及其 n/N。
  3. 如果作者提供了基礎數據,請先讀取其結構再讀取值,然後在 analysis.py 中重現摘要中的每個數據,該腳本會斷言其正確性並將彙整數據寫入 data.json。檢查 SD 與 SE、配對與組間平均值、每個數據自身的 n、與原始註釋相符的類別標籤以及第一行數據。詳見 references/data-integrity.md。
  4. 如果提供了參考海報,則提取其機構風格:投影片尺寸、調色板(區塊+強調色填滿)、字體與大小、區塊標題欄結構以及標誌。使用 bash ${CLAUDE_SKILL_DIR}/scripts/render.sh 進行渲染以檢視。詳見 references/design-rules.md。
  5. 確認 python 依賴項:pip install python-pptx matplotlib pdfplumber pypdfium2 pillow pypdf pymupdf。
  1. 在學會官方網站上驗證本年度會議的 ePoster 規範(長寬比、字體、媒體、上傳供應商、截止日期、必要的利益衝突揭露文字),並標註日期。確認每個來源所屬的組織。詳見 references/venues.md,該文件也涵蓋從機構公開的品牌規範中取得調色板、字體和標誌的內容。
  2. 驗證並取得引用:真實的、經 PubMed/DOI 檢查的、帶有超連結和存取日期的引用;包括作者實際使用的註冊登記和灰色文獻來源,而不僅是期刊。詳見 references/citations.md。切勿編造引用。
  3. 提取導言所需的任何背景資訊。在建構時查閱最新的函式庫文件。
  1. 設定機構風格的代碼標記、欄位網格、清晰的視覺層級、海報級別的字體排印、充足的內距以及強烈的對比。詳見 references/design-rules.md。
  2. 誠實選擇圖表類型:環圈圖/圓餅圖僅用於呈現整體中的部分;長條圖用於獨立或非互斥的比例;大數字磚塊用於單一數字。為每個圖表標註其 n/N。詳見 references/build-and-charts.md。
  3. 定義一個可編輯的數據區塊,驅動所有圖表和重點提示。
  1. 根據內容和機構風格,調整 references/examples/build_poster_example.py(可編輯原生圖表)或 references/examples/make_charts_example.py(matplotlib 圖片)。
  2. 建立原生可編輯圖表,僅限使用 PowerPoint 安全的樣式。唯一的硬性規則:絕對不要設定環圈圖/圓餅圖的資料標籤位置,這項設定會導致 PowerPoint 在開啟時修復並移除圖表。每個扇區的填色、圖例、百分比標籤、數字格式和軸字體都是安全的。將環圈圖百分比放在圖例中,並在中心放置一個大數字。完整方法在 references/build-and-charts.md。
  3. 輕量 TDD:在儲存檔案前,斷言每個顯示的百分比與來源數字重新計算結果一致。
  4. 根據第一階段的結果,正確設定作者、所屬機構和標誌。
  5. 可讀性檢查:使用一個帶有下限值(在 48 英寸投影片上為 22 pt)的字體級數表設定所有大小,為每個圖表設定 chart.font.size,並在建構結束時,若儲存檔案中有任何大小低於下限則失敗(scripts/check_fonts.py)。詳見 references/design-rules.md。
  6. 就緒檢查:將尚未確認的項目(作者名單、所屬機構、利益衝突揭露、連結)保留在建構中的 CONFIRMED 清單。在全部項目變成 True 之前,將輸出檔案命名為 ..._DRAFT.pptx,在海報上以可見方式標記每個缺口,並列印出仍然未解決的項目。
  1. 使用 bash ${CLAUDE_SKILL_DIR}/scripts/render.sh <pptx> <out.pdf> <out.png> 1.7(LibreOffice,或 macOS 上的 PowerPoint)進行渲染,然後檢視 PNG。
  2. 對於原生圖表,執行 python3 ${CLAUDE_SKILL_DIR}/scripts/check_charts.py <pptx>:如果任何環圈圖/圓餅圖帶有資料標籤位置設定(這會讓 PowerPoint 在開啟時刪除圖表),則會失敗。
  3. 執行 scripts/check_fonts.py <pptx> 和 scripts/check_overlap.py <rendered.pdf>,然後將渲染結果縮小至 1920x1080,並以 1:1 裁切檢視最密集的區域。從渲染結果中解碼每個 QR 碼。詳見 references/rendering-qa.md。
  4. 根據 references/rendering-qa.md 的檢查清單進行修正:無內容溢出或裁剪、字體夠大、內距充足、對比度高、欄位對齊、數字正確。在展示給使用者之前,迭代直到品質真正良好。
  1. 撰寫一份分開的、命名清晰的副本;切勿覆蓋使用者已最終確定的檔案。
  2. 交付 .pptx、投稿用 PDF 以及預覽 PNG。
  3. 如有需要,對海報的工作目錄執行 git init,並使用清晰的訊息進行提交(在反覆修改現有海報時,先建立基準版本,以便保留先前的版本)。
  4. 移除中間渲染檔案和暫存檔;保留可重複執行的建構腳本。

<success_criteria>

  • 最終 deliverables 為一份可編輯的 .pptx 以及相符的 PDF(已驗證頁面大小)和預覽 PNG
  • 圖表為原生且可編輯(預設),並能在 PowerPoint 中順利開啟,無任何修復提示
  • 每個百分比均與來源數字重新計算結果一致;顯示 n/N;若數據持續更新,保留初步框架標示
  • 所有引用皆為真實且經過驗證,附有 DOI/URL 超連結
  • 作者、所屬機構與標誌已與使用者確認
  • 摘要中陳述的每個數據(若提供數據)均能從來源資料重現
  • 無文字低於下限(check_fonts.py)、無文字重疊(check_overlap.py)、在 1080p 檢視的 1:1 裁切中清晰可讀;內距充足、對比強烈、欄位對齊
  • 每個 QR 碼均能從渲染結果中解碼為其正確連結;佔位符使檔案保持 DRAFT 狀態
  • 若提供了參考海報,機構風格與其相符
  • 已撰寫一份分開的副本;使用者的最終確定檔案未被覆蓋 </success_criteria>

相關技能