Communitygithub.com

xonika9/agent-skills

ソースバックアップされたリサーチ、制御されたブラウザセッション、アイデア批評、信頼性の高いAIワークフローのための実用的なエージェントスキル。

agent-skills とは?

このスキルは、視覚的な議論とネイティブソースの独立性を保ちながら、ダイアグラムの設計、作成、レビュー、変換を行うための包括的な機能を提供します。フローチャート、シーケンス図、状態図、アーキテクチャ図など、さまざまなビュータイプと、Excalidraw、Mermaid、draw.ioなどの出力形式をサポートします。重要なのは、ファイル形式が図の種類を決定するのではなく、表現したい関係性に基づいてビューと形式を選択するという原則です。このスキルは、形式アダプターを使用してネイティブソースを保持し、変換時にはセマンティックな同一性を維持することを重視し、検証とレンダリングのための明確な完了条件を定義しています。また、このスキルは明示的な `x9-diagrams` 呼び出しをトリガーとして使用し、通常のMermaid構文のみのリクエストとは区別され、エージェントが適切なツールを選択できるようにします。

対応~Claude Code~Codex CLI~Cursor
npx skills add xonika9/agent-skills

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

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

ドキュメント

ダイアグラム

視覚的な議論とネイティブソースをそれぞれ独立して正しく保ちながら、ダイアグラムを設計、作成、レビュー、変換します。

機械可読なオンボーディング契約に、外部の前提条件がリストされています。

2つの決定を解決する

まず、関係性を表現するビュー(フローチャート、シーケンス図、状態図、アーキテクチャ図、データモデル、階層図、タイムライン、比較図、またはその他のサポートされているビュー)を選択します。次に、配信形式を選択します。使い慣れたファイル形式にダイアグラムの種類を決定させないでください。

明示的な形式は、必要な構造を表現できる場合に優先されます。それが重大な制限を生み出す場合は、制限を説明し、暗黙的に成果物を変更せずに代替案を提案します。

形式が未確定の場合は、以下のマトリックスを使用します。

制約ExcalidrawMermaiddraw.io
手動座標制御強弱;レイアウトは自動強
協調的なビジュアル編集Excalidrawで強ホストに依存diagrams.netで強
テキスト差分とコードレビュー不良強非圧縮XMLで中程度
自動レイアウト手動優先強利用可能だが、手動ジオメトリは明示的に残る
自由な空間構成強制限あり強
ページ、レイヤー、コンテナ、シェイプライブラリ制限あり制限あり、レンダラー依存強
直接的なMarkdown/チャットレンダリング稀サポートされている場合に強稀
ハンドオフ後のネイティブ編集可能性.excalidraw互換性のあるエディタ内のMermaidソース.drawio XML
信頼性の高い検証とレンダリングチェッカーと忠実なレンダラーが必要ターゲットパーサーとレンダラーが必要XMLチェックと互換性のあるエディタ/エクスポーターが必要

ネイティブエディタ、バリデーター、レンダラーが配信環境で利用可能な形式を優先します。どれも視覚的な証明を提供できない場合は、それでも有用な場合にのみ要求されたネイティブソースを生成し、結果にDEGRADEDというラベルを付けます。

視覚的な議論を所有する

1つの質問、オーディエンス、配信ビューポート、エントリポイント、および支配的な読み取り方向を決定します。説明的なラベルを短縮しながら、正確な事実と識別子を保持します。構文や座標の前に、セマンティックノード、境界、関係をモデル化します。

ダイアグラムを作成または大幅に改訂する前に、共有設計メソッドを読んでください。そのメソッドは、トポロジー、階層、密度、グループ化、境界、ルーティング、セマンティックシェイプ/色/線の使用、分割基準、およびビジュアルアクセプタンスを所有します。

1つの形式アダプタを使用する

  • ネイティブの.excalidraw JSONについては、Excalidrawアダプタを読んでください。そのバンドルされたチェッカーを実行し、忠実なレンダリングを検査します。
  • Mermaidソースまたはチャット内のMermaidブロックについては、Mermaidアダプタを読んでください。実際のターゲットまたは互換性のある既存のツールでパースしてレンダリングします。
  • ネイティブの.drawio XMLについては、draw.ioアダプタを読んでください。XML構造を検証し、互換性のあるdiagrams.netツールで開くかエクスポートし、結果を検査します。

形式アダプタは、シリアライゼーション、エスケープ、識別子、バインディング、ジオメトリ、テーマ、ページ、レイヤー、およびレンダラー固有の制限を所有します。不安定なメカニズムをこのコアにコピーしないでください。

ネイティブソースを保持する

新しい名前付きパスの成果物の場合、要求されたパスは最初に書き込まれたときに正規のものになります。改訂の場合、変更が候補に存在する間、既存のソースは正規のままです。エディタとレンダラーはこれらのアーティファクトを消費します。他の場所へのエクスポートが暗黙的に正規のソースを置き換えることはありません。

改訂候補は、完了ゲートを満たした場合にのみ、既存のソースを置き換えます。それ以外の場合はDEGRADEDを報告し、既存のソースを変更せずに残し、候補を未完了として識別します。

変換とレビュー

変換全体でセマンティックな同一性(ノードの意味、関係の方向、シーケンス、包含、境界、カーディナリティ、および正確な技術トークン)を保持します。ソースとターゲットの両方がサポートしている場合は、ページ、レイヤー、およびコンテナの同一性を保持します。自動レイアウトの変更、サポートされていないシェイプライブラリ、またはフラット化されたスタイリングなどの損失を明記します。ピクセル単位のパリティを決して約束しないでください。

レビュー専用の作業の場合は、書き換えずに検査して報告します。ネイティブ構造をレンダリング構成とは別にチェックします。パースの成功は可読性を証明せず、もっともらしい画像は編集可能性を証明しません。

トリガー境界

このスキルは、明示的なx9-diagrams呼び出し、形式選択、形式間変換、共有ビジュアルメソッド、および構造的検証とビジュアル検証を組み合わせたものを所有します。通常のMermaid構文のみに限定されたリクエストは、インストールされている専門のmermaid-diagramsスキルに任せることができます。このスキルは、そのサードパーティスキルを持たないユーザー向けに自己完結型のままです。

トリガーの所有権があいまいな場合、タスクがより広範な決定または検証契約を必要とする場合にのみx9-diagramsを使用します。リクエストにMermaidが含まれているという理由だけで両方のスキルを呼び出さないでください。

完了ゲート

完了のエビデンスを要求されたアクションに一致させます。

  • 形式選択: ビューと配信形式を指定し、選択をユーザーの制約に結び付け、重要な制限を述べ、互換性のあるバリデーター、レンダラー、またはエディタが利用可能かどうかを識別します。
  • 作成または大幅な改訂: 選択されたビューが述べられた質問に答えること。ネイティブソースがパースまたは開かれ、編集可能なままであること。エージェントが自身で完了できないネイティブファイルまたはディレクトリチューザーをトリガーしていないこと。該当する場合、形式固有のロード後レイアウトが安定していること。互換性のあるレンダラーまたはエディタが、最後の実質的な変更後の最終的な正規ソースから実際のビューを生成したこと。そのビューが宣言された配信モードで、可読性、階層、交差、クリッピング、および誤解を招く構造について検査されたこと。
  • 変換: 作成のエビデンスを満たし、重要なセマンティクスが維持されたことを確認すること。レイアウト、スタイリング、ページ、レイヤー、コンテナ、または表記法における損失を明記すること。
  • レビューのみ: ネイティブ構造の所見をレンダリング構成の所見から区別し、アーティファクトを書き換えずに検査されたエビデンスを引用すること。

アクティブなアクションに必要なエビデンスが取得できない場合は、不足しているチェック、バリデーター、レンダラー、エディタ、またはソースアーティファクトを正確に示してDEGRADEDを報告します。Excalidrawチェッカーの回帰テストはscripts/test_check_scene.pyにあります。

関連スキル