Community研究&データ分析github.com

tpc-pascal/agent-skills

レポート用の美しい図表を描画 — Mermaid (kroki.io, PNG) によるフローチャート/シーケンス/クラス/状態/ER/ガントチャート、matplotlib (uv) による棒/円/折れ線グラフ。ソースファイルと同じ場所に `<名前>.diagram.png` を出力し、`.report.docx` に埋め込めます。ASCII 図の代わりやデータ可視化が必要なとき、またはユーザーが「綺麗な図」を求めたときに使います。

agent-skills とは?

このスキルは、開発レポートやドキュメントに埋め込むための高品質な図表を生成する軽量なエージェントスキルです。2つのスクリプト (`scripts/mmd2png.py` と `scripts/chart.py`) を提供し、Mermaid 記法によるフローチャート、シーケンス図、クラス図、状態遷移図、ER図、ガントチャート、システムアーキテクチャ図、そして matplotlib による棒グラフ、円グラフ、折れ線グラフをサポートします。出力は常にソースファイルと同じディレクトリに `diagram.png` として保存され、既存ファイルを上書きしません。このスキルはローカルファーストで設計されており、デフォルトでは `mmdc` (Mermaid CLI) を使用し、ネットワーク経由での画像生成は明示的に指定した場合のみ行います (`MMD2PNG_BACKEND=remote`、kroki.io または mermaid.ink を使用)。生成された PNG の検証 (マジックバイト、ファイルサイズ 1KB 以上) や、`.report.docx` 埋め込み時の最終チェック (PDF 変換後の `pdfinfo` / `pdftotext` による確認) も行います。また、棒グラフなどのデータは必ず `[fact]` または `[observed]` とマークされた実際の数値のみを使用し、虚偽のデータを描画することはありません。

対応~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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

プレビュー

スキル README より

タイトル

ドキュメント

English version: SKILL.en.md

diagram — 図表作成

軽量なスキルで、2つのスクリプトがあります: 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 + .report.md 内の ![タイトル](<名前>.diagram.png)、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 マジックバイトとファイルサイズ 1KB 以上を自動チェックします。リモートからの JPEG 画像は ImageMagick を使用して実際の PNG に変換します (コンバーターがない場合は <f>.jpg を書き出し、警告を表示。.png と偽装しません)。レポートに埋め込む際は、DOCX→PDF 変換後に pdfinfo + pdftotext で再確認します (画像が表示され、ページが崩れていないこと)。
  6. サイズ: 各図表は1つの概念に集中し、フォントは十分に読みやすいサイズにします。図表が広くなりすぎる場合は、エディタで縮小表示されるのを避けるため、分割します。
  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 データ (2列: ラベル, 値) → 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`.

関連スキル