Communitygithub.com

georgelu-creator/diagram-skills

AI図表・アーキテクチャスキル — エージェント向けに、アーキテクチャ図、ワークフロー、データフロー、機能マップ、SVG、HTML、PNGを生成します。

diagram-skills とは?

DiagramSkillsは、AIエージェント(Claude Code、Coder、Codexなど)向けの高品質な図表生成スキルです。ユーザーからの自然言語や構造化されたリクエストを元に、JSON形式の図表定義を生成し、それをSVG、HTML、またはPNG(ローカルラスタライザが利用可能な場合)としてレンダリングします。主な機能として、システムアーキテクチャ図、エージェントワークフロー、データフロー、機能マップ、ユーザーフロー、ロードマップなど、10種類以上の図表タイプをサポートします。品質保証プロセスが組み込まれており、図表定義の厳格なバリデーション、品質質問への回答、ハッシュベースの品質レシート生成を自動化します。このスキルは、エージェントが図表の作成、レビュー、修正を自律的に完結できるように設計されており、ユーザーが手動でエディタを開く必要を最小限に抑えます。

対応~Claude Code~Codex CLI~Cursor
npx skills add georgelu-creator/diagram-skills

お気に入りのAIに質問する

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

ドキュメント

DiagramSkills

図表リクエストを、バンドルされたDiagramSpecレンダラーを使用して完成したビジュアル成果物に変換します。主な成果物はエージェント生成図表の品質です。保守可能なJSONを作成し、SVG/HTMLとオプションのPNGをレンダリングし、ビジュアルを検査し、ソースを修正して結果を返します。通常の作業を完了させるためにユーザーにエディタを開かせてはいけません。公開スキルIDは $diagram-skills、ユーザー向けブランド名はDiagramSkillsです。

デフォルトの配信ワークフロー

  1. 散文から図表への作業または実質的な修正の場合、templates/briefs/diagram-brief.jsonから簡潔な.brief.jsonを作成します。これには、目標、ナラティブ、スコープ、優先順位、不確実性、コンテンツリスク、レビュー質問が記録されます(プライベートな思考連鎖は含みません)。
  2. references/diagram-thinking-profiles.jsonで選択したプロファイルを読み、少なくとも3つの品質質問を調整し、描画前に diagram_brief.py ... --strict を実行します。
  3. 14を超える可視コンセプトを含む階層化された概要図の場合は、references/enterprise-board.mdを読み、layout: board を使用します。より小さな関係グラフの場合は、nodes/edgesを使用します。
  4. マッチするテンプレートから開始し、そのサンプルコンテンツを置き換え、ブリーフとソースJSONを出力の隣に保持します。
  5. PNGを要求する前に png-backend を実行し、サポートされているローカルラスタライザが利用可能な場合にのみ render ... --strict を --png 付きで実行します。ソースファイルだけでは、完了したビジュアルリクエストとはみなされません。
  6. 生成されたSVGまたは1920ピクセルのPNGをフルサイズで検査します。階層、中国語テキスト、アイコンの一貫性、クリッピング、混雑したカード、線の交差、そしてブリーフのナラティブが視覚的に支配的であるかを確認します。
  7. すべてのブリーフ品質質問に対して具体的で明確な証拠をもって回答し、diagram_brief.py ... --spec ... --strict --reviewed を実行します。次に、レビュー済みブリーフ、ソース、検査済みSVGまたはPNGを diagram_skills.py review ... で品質レシートにバインドします。いずれかのチェックが失敗した場合は、ブリーフ、ソース、またはレンダラーを修正して再レンダリングします。証拠に基づく修正ラウンドは3回までとし、その後は簡略化または分割します。
  8. 最初に画像を配信し、次にブリーフ、SVG/HTML/ソース/品質エビデンスへのリンクを提示します。ブラウザエディタについては、ユーザーが手動編集、インポート、またはドリルダウンを要求した場合にのみ言及します。

リクエストのルーティング

  1. references/diagram-thinking.mdを読んで、散文から図表へのタスクと実質的な修正の方法を理解します。レイアウトを対称にするために事実を捏造してはいけません。
  2. 入力が散文である、不完全である、または再利用可能なプロンプトにする必要がある場合は、references/prompt-system.mdを読みます。
  3. 正確に1つのプライマリタイプを選択し、そのガイドを読みます。
  4. references/diagram-thinking-profiles.json内の、選択したタイプのプロファイルのみを読みます。
  5. 単一の図表を作成する際は、references/spec.mdを読みます。本番品質のスターターとしては scripts/diagram_skills.py new を使用します。
  6. 高密度な階層型アーキテクチャ情報図、セクショングリッド、サイドリスト、プロセスストリップ、プリンシプルカードについては、references/enterprise-board.mdを読みます。
  7. インストールされたスキルが完全な生成パスです。DiagramSkillsリポジトリの完全なチェックアウトも存在する場合、references/workspaces.md、references/imports.md、references/editor.mdはオプションのStudio専用ワークフローを説明します。これらを提供する前に、リポジトリの editor/ ディレクトリが存在することを確認してください。これらを生成の前提条件にしてはいけません。
  8. テーマ、ブランドトークン、ノード/エッジのセマンティクス、または中国語/英語ラベルの処理を選択する場合にのみ、references/visual-language.mdを読みます。
  9. references/quality-contract.mdを適用します。生成されたファイルは、コンテンツレビュー、厳格なバリデーション、およびビジュアルレビューに合格するまでは、単なる候補です。

入力契約

自然言語または構造化フィールドを受け入れます。ユーザーが提供した値は保持し、リスクの低い省略のみを推論します。

  • goal: 図表がサポートすべき質問または意思決定
  • diagram_type: サポートされているスラグのいずれか。省略された場合は意図から推論
  • audience: 例:executive、product、engineering、customer
  • narrative / scope: 5秒で伝わるストーリーと明示的な包含/除外境界
  • must_show / emphasize / deemphasize: レイアウト前のコンテンツ優先順位
  • uncertainties / assumptions: 提供されていない事実とリスクの低い解釈
  • content_risks / quality_questions: 図表が誤解を招く可能性のある方法とレンダリング後のチェック
  • content: アクター、システム、ステップ、機能、マイルストーン、または決定
  • relationships: データ、制御、成功、エラー、非同期、およびフィードバックリンク
  • boundaries: 所有権、ライフサイクルステージ、レイヤー、ドメイン、または信頼ゾーン
  • composition: 高密度エンタープライズ概要の場合は board、より小さな関係図の場合は graph
  • lanes: スイムレーン図のための順序付けられた所有者またはロール
  • rank: 自動順序が許容できない場合の明示的な非負の階層レベル
  • language: デフォルトは中国語優先。確立された英語の技術用語は保持
  • theme: paper、notion、spectrum、blueprint、または terminal
  • brand: プリセット上に重ねる許可リスト付きの16進カラートークン
  • views: オプションのリポジトリ - Studioの概要と詳細ビュー。child_view で接続
  • imports: オプションのリポジトリ - StudioのMermaidソースまたはCSVテーブル
  • outputs: デフォルトで完成したSVG/HTMLとソースJSONおよび診断情報。ローカルラスタライザが利用可能な場合はPNGも

未解決の選択が意味、公開の安全性、または必要な出力を実質的に変更する場合にのみ質問してください。それ以外の場合は、タイプガイドから慣例的なレイアウトを選択し、その前提を明記します。

コマンド

スキルフォルダから:

python3 scripts/diagram_brief.py work/architecture.brief.json --strict
python3 scripts/diagram_skills.py types
python3 scripts/diagram_skills.py png-backend
python3 scripts/diagram_skills.py new system-architecture --output work/architecture.json
python3 scripts/diagram_skills.py validate work/architecture.json --strict
python3 scripts/diagram_skills.py render work/architecture.json --output-dir output --strict
python3 scripts/diagram_brief.py work/architecture.brief.json --spec work/architecture.json --strict --reviewed
python3 scripts/diagram_skills.py review work/architecture.json --quality output/architecture.quality.json --brief work/architecture.brief.json --artifact output/architecture.svg

render は常に .svg、.html、およびハッシュバウンドな .quality.json レシートを書き込みます。--png が指定され、png-backend がサポートされているラスタライザを報告した場合、.png も書き込みます。構造的に有効なレンダリングは、review がソース、検査済みアーティファクト、レビュー済みブリーフ、およびそれらのハッシュを検証するまで pending-review 状態のままです。失敗したPNGリクエストが合格したレシートを残すことはありません。

インストールされたスキルは生成のために自己完結しています。ブラウザワークスペース、Mermaid/CSVインポート、およびマルチビュー編集はリポジトリのコンパニオンであり、editor/ を含む完全なチェックアウトからのみ利用可能です。

譲歩できない動作

  • 重要な図表を作成する前に、簡潔な図表ブリーフを構築して検証します。設計上の決定と証拠を共有し、プライベートな思考連鎖は決して共有しません。
  • 1つの主要メッセージと1つの読み取り方向を優先します。14ノードを超えるグラフ図は分割します。構造化されたエンタープライズ board は、3〜6のスキャンバンドにわたって20〜45の簡潔なカードを意図的に保持できます。
  • 所有権には順序付けられた lanes を、手動階層にはノード rank を使用します。groups は意味的な囲みに使用します。1つのフィールドを両方の意味で使用してはいけません。
  • 高密度の概要は、ラベルを縮小するのではなく、焦点を絞った child_view の詳細にリンクします。
  • 意図的な戻りパスは feedback としてマークします。マークされていないサイクルはバリデーションに失敗します。
  • 装飾的な色ではなく、意味的なエッジ種類を使用します。2つ以上のエッジの意味を解釈する必要がある場合は、凡例を表示します。
  • ノードリンクは https、http、mailto、またはページフラグメントにのみ許可します。実行可能なURLスキームは拒否されます。
  • 中国語ラベルは簡潔に保ち、安定した英語の技術用語はサブタイトルに配置します。テキストを縮小する代わりに、過負荷のノードを分割します。
  • パイプライン、ロードマップ、トポロジー、フィードバックループには LR を優先します。レイヤー、決定、戦略、ユーザージャーニーには TB を優先します。
  • ブリーフと図表の厳格なバリデーションを実行します。SVGまたはフルサイズPNGを検査し、すべてのタイププロファイルの質問に明確な証拠をもって回答し、review でハッシュバウンドな品質レシートを確定します。
  • ユーザーが図表を要求した場合、Mermaid/JSONのみを書いて完了と主張してはいけません。実際のビジュアルをレンダリングして返します。
  • 意味とピクセルが再現可能でレビュー可能な状態を保つために、.brief.json とソースJSONを成果物の隣に保持します。
  • 完全なリポジトリチェックアウトがStudioインポートを提供する場合、インポートされたコンテンツは信頼できないものとして扱います。Mermaidは厳格モードでレンダリングされ、CSVは型付きフィールドになり、任意のCSSまたは実行可能リンクは拒否されます。

出力選択肢

  • PNG: png-backend がサポートされているローカルラスタライザを報告する場合の推奨プレビュー。それ以外の場合は、最初にSVGを表示します。
  • 図表ブリーフJSON: コンテンツの意図、スコープ、不確実性、優先順位、リスク、レビュー証拠。
  • SVG: スケーラブルなドキュメントとソース管理。
  • HTML: レスポンシブ表示、パン/ズーム、テーマ切り替え、ダウンロード、クリック可能なノード。
  • 品質JSON: 機械可読なバリデーション証拠。
  • ワークスペースJSON: ブラウザ編集、Mermaid/ネイティブビューの混合、オフライン永続化、ドリルダウンのためのオプションのリポジトリ - Studio形式。

拡張

新しい図表タイプは、それが明確に異なる情報モデルまたはレイアウト契約を持つ場合にのみ追加します。そのスラグを DIAGRAM_TYPES、スキーマenum、templates/<slug>.json、references/diagram-types/<slug>.md、および references/diagram-thinking-profiles.json に追加します。次に、厳格なレンダリングと思考プロファイルのテストを追加します。CSVマッピングを1つのアダプターで拡張し、ワークスペースフィールドをZodとJSON Schemaの両方で拡張します。新しいテーマは、ライト/ダークレンダリング全体でノードとエッジのセマンティクスを維持する必要があります。

関連スキル