Community研究与数据分析github.com

tpc-pascal/agent-skills

为报告绘制精美的图表和示意图——通过 Mermaid (kroki.io, PNG) 绘制流程图/时序图/类图/状态图/ER图/甘特图,通过 matplotlib (uv) 绘制柱状图/饼图/折线图,输出 `<名称>.diagram.png` 至源文件旁以便嵌入 `.report.docx`。适用于报告需要替代 ASCII 的示意图、数据图表,或用户要求“精美图表”的场景。

agent-skills 是什么?

这是一个轻量级的智能体技能,用于从文本或数据源生成高质量的图表和示意图,旨在替代传统的 ASCII 艺术绘图。它包含两个核心脚本:`mmd2png.py` 使用 Mermaid 语法(本地优先通过 `mmdc`,可选远程后端如 Kroki 或 mermaid.ink)渲染流程图、时序图、类图等;`chart.py` 则利用 matplotlib(通过 `uv` 或系统 Python)处理真实数据(来自 CSV 或引用的事实标签)生成柱状图、饼图和折线图。所有输出图片(`.diagram.png`)和 Mermaid 源文件(`.diagram.mmd`)都放在原始文件旁边,避免覆盖,方便编辑和嵌入报告(如 markdown 中的 `![标题](<name>.diagram.png)`,再通过 `paper` 技能生成 docx)。该技能遵循“本地优先”原则:默认不向外发送数据,仅当用户明确选择远程后端时才使用网络;它会自动验证生成的 PNG 文件有效性(检查魔术字节和大小),并在嵌入报告前通过 PDF 转换检查图片显示效果。对于超出 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

标题

文档

英文版:SKILL.en.md

diagram — 图表与示意图

这是一个轻量级技能,包含两个脚本:scripts/mmd2png.py(Mermaid → PNG,默认仅通过本地 mmdc 渲染;远程后端仅在明确选择时使用)和 scripts/chart.py(数据图表 → PNG,通过 uv 或系统自带的 matplotlib 渲染)。源文件与输出文件并排放置,不会覆盖已有文件。

按需路由表

需求做法
流程图 / 时序图 / 类图 / 状态图 / 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`.

相关技能