Community研究與資料分析github.com

tpc-pascal/agent-skills

繪製報表專用的美觀圖表——使用 Mermaid(kroki.io, PNG)繪製流程圖/時序圖/類別圖/狀態圖/ER 圖/甘特圖,並用 matplotlib(uv)繪製長條圖/圓餅圖/折線圖,輸出 `<名稱>.diagram.png` 於原始檔旁,方便嵌入 `.report.docx`。

agent-skills 是什麼?

這是一個輕量級的 AI 代理技能,專為需要產生高品質、可嵌入報表的圖表而設計。它包含兩個核心指令稿:`scripts/mmd2png.py` 用於將 Mermaid 語法轉換為 PNG 圖檔,預設僅使用本機的 `mmdc` 工具,確保資料不外流;`scripts/chart.py` 則利用 matplotlib(透過 `uv` 或系統內建的 Python)將 CSV 格式的數據轉換為長條圖、圓餅圖或折線圖。此技能支援在 Cursor 等代理程式中使用,重點在於「本地優先」:預設不會將原始資料傳送至外部服務,僅在用戶明確選擇遠端後端(Kroki 或 mermaid.ink)時才會啟用網路功能。產生的 PNG 圖片會與原始檔案放置在同一目錄,並以 `.diagram.png` 命名,可直接在 Markdown 報表中以 `![標題](<名稱>.diagram.png)` 的方式嵌入,再透過 `paper` 技能與 `doc` 配方轉換為 DOCX 格式。若 Mermaid 或 matplotlib 無法滿足需求(例如 3D 圖或高度自訂圖形),指令稿會誠實回報限制而不捏造結果。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tpc-pascal/agent-skills/tree/HEAD/skills/research/diagram

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

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

預覽

來自技能 README

標題

說明文件

English version: SKILL.en.md

diagram — 圖表 & 圖形

輕量級技能,包含兩個指令稿:scripts/mmd2png.py(Mermaid → PNG,預設僅在本機透過 mmdc 執行;遠端模式需明確選擇)和 scripts/chart.py(數據圖表 → PNG,使用 matplotlib,可經由 uv 或系統內建 Python)。輸出檔案與原始檔案並存,不會覆蓋既有檔案。

需求對應表

需求做法
流程圖 / 時序圖 / 類別圖 / 狀態圖 / ER 圖 / 甘特圖 / 系統架構圖Mermaid → scripts/mmd2png.py(預設僅使用本機 mmdc)
從實際數據繪製長條圖 / 圓餅圖 / 折線圖scripts/chart.py(matplotlib;若套件未快取,uv 可能需要網路)
嵌入 .report.docx 報表的圖表PNG + ![標題](<名稱>.diagram.png) 寫入 .report.md,再透過 paper 技能與 doc 配方輸出為 DOCX
Mermaid/matplotlib 無法支援的圖表(3D、高度自訂圖形)[N/A] — 明確告知用戶限制,不虛構方法

規則

  1. 輸出與原始檔並存:<原始檔名>.diagram.png(圖片)+ <原始檔名>.diagram.mmd(Mermaid 原始檔,可編輯)。不會覆蓋原始檔案。
  2. Mermaid:撰寫至 .mmd,渲染使用 python3 scripts/mmd2png.py '<f>.mmd' '<f>.diagram.png';圖表標籤使用用戶使用的語言。
  3. 繪製圖表的數據必須是來源中的實際測量值或術語(標註 [fact]/[observed]);不得繪製虛構數據。
  4. 本地優先,不暗自傳送資料:預設 mmd2png.py 僅使用 mmdc;若缺少 CLI/瀏覽器或發生錯誤,則停止並報告原因,不呼叫網路。需安裝 npm i -g @mermaid-js/mermaid-cli 和 Chrome/Chromium。僅當用戶/代理明確選擇時,才設定 MMD2PNG_BACKEND=remote(Kroki 或 mermaid.ink)、kroki 或 ink。chart.py 在本機處理;uv run --with matplotlib 若尚未安裝/快取,可能需要網路取得套件,因此離線時請使用已安裝 matplotlib 的 Python 或準備好的快取。
  5. 交付前驗證:mmd2png.py 會自動檢查 PNG 魔數及檔案大小 ≥ 1 KB;來自遠端的 JPEG 圖片會透過 ImageMagick 轉換為真正的 PNG(若缺少轉換工具,則存為 <f>.jpg 並發出警告,不會偽裝成 .png);嵌入報表後,需在 DOCX 轉 PDF 後以 pdfinfo + pdftotext 再次檢查(圖片能正常顯示,不造成頁面破裂)。
  6. 尺寸:每個圖表只表達一個概念,字型大小足夠閱讀;圖表過寬時應拆分為多個小圖,而非讓編輯器自動縮小。
  7. 輸入語言提示:使用與用戶相同的語言回覆。

指令稿

  • scripts/mmd2png.py — Mermaid → PNG(預設僅本機;遠端可透過 MMD2PNG_BACKEND 選擇啟用):python3 scripts/mmd2png.py '<f>.mmd' '<f>.diagram.png' [--scale 2] [--size 1600] [--theme forest]
  • scripts/chart.py — CSV 數據(兩欄:標籤, 數值)→ PNG:uv run --with matplotlib python3 scripts/chart.py '<f>.csv' '<f>.diagram.png' <bar|pie|line>

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

tpc-pascal/agent-skills

Trích xuất và chuyển đổi tài liệu PDF/DOCX/XLSX — lấy text layer (pdftotext), OCR ảnh scan (pdftoppm + tesseract), chuyển markdown (docling), XLSX → CSV (libreoffice headless), ghép/tách/đảo trang (qpdf/pdftk), kiểm tra output bằng pdfinfo + pdftotext. Dùng khi đưa tài liệu và muốn lấy text, OCR bản scan, chuyển định dạng, tách/ghép/trang, hoặc xác minh nội dung đã trích.

tpc-pascal/agent-skills

Xử lý media — ffprobe thông số, ffmpeg cắt/ghép/transcode/GIF, trích frame, tách audio, phụ đề (shift/convert/burn), timecode SMPTE, phát hiện shot, OCR frame/ảnh, tải từ URL (yt-dlp), nhạc (thể loại/mood/BPM/lyrics). Dùng khi đưa video/audio/ảnh/URL media và muốn tóm tắt nội dung, trích text, cắt ghép, làm phụ đề, lấy khung hình, hoặc tải xuống.

tpc-pascal/agent-skills

Điều phối — nhận input, xác định loại, chuyển tiếp tới skill anh em trong repo — doc (tài liệu), media (video/audio/ảnh), paper (báo cáo), web (đọc web/mạng xã hội/tìm kiếm) — và mở cổng câu hỏi bắt buộc trước khi viết báo cáo. Dùng khi chưa biết skill nào xử lý input đang có, hoặc khi cần quy trình phối hợp nhiều skill.

tpc-pascal/agent-skills

Viết báo cáo theo một trong hai dạng: chuẩn quốc tế hoặc phổ biến tại Việt Nam. Tổng hợp nguồn có trích dẫn, giữ báo cáo chính gọn và tách dữ liệu hỗ trợ khi cần; xuất `.report.md` hoặc `.report.docx`.

相關技能