Communitygithub.com

juanmackie/juanskills

コードコメントやドキュメント内で、ツールに依存しない高実用性のASCII図やフローチャートを生成します。Hayatpur et al. (2024) の「ASCII図のデザイン空間」に基づいています。プロセスやデータ構造、システムアーキテクチャを「可視化」「図示」「フローチャート化」「マッピング」したいときに使用します。

juanskills とは?

このスキルは、コードコメントやドキュメント内でツールに依存しない高品質なASCII図およびフローチャートを生成することに特化しています。Hayatpur et al. (2024) による「ASCII図のデザイン空間」の形式的なフレームワークに従い、システムアーキテクチャ、データ構造、動的振る舞いを視覚的に表現します。単一のモノスペースフォントと一貫した文字セット(`+`, `-`, `|`, `v`, `>`)を使用するため、あらゆるテキストエディタ(IDE、ターミナル、Git)でそのまま読むことができます。プロンプト例として「ロードバランサが3台のサーバにトラフィックを分散する様子を示して」などに応答し、明確な境界線と矢印を持つ図を生成します。幅80文字を超えない、簡潔で保守的な図を生成することを重視し、非標準のUnicode文字は使用しません。Claude Code、Cursor、CodexなどのAIエージェントと統合可能で、コードの説明や設計ドキュメントの視覚的補助として理想的なスキルです。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/juanmackie/juanskills/tree/HEAD/ascii-diagram-architect

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

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

ドキュメント

ASCIIダイアグラムアーキテクト

コードコメントやドキュメント内で、ツールに依存しない高実用性のASCII図やフローチャートを生成するための専門スキルです。形式的な*「ASCII図のデザイン空間」*(Hayatpur et al., 2024)に従います。

トリガー指示

以下のようなリクエストがあった場合にこのスキルを使用します。

  • 「可視化」
  • 「図示」
  • 「フローチャート」
  • 「マッピング」

プロセス、データ構造、システムアーキテクチャをプレーンテキストで表現したいとき。

ロジックやメモリレイアウトの視覚的表現が明確さを向上させるコード説明を提供する際に起動します。

基本原則

ツール非依存性

図は厳密にモノスペースであり、基本的なテキストエディタ(IDE、ターミナル、Git)であればどこでも読み取り可能であることを保証します。

情報の近接性

図は、それが説明するロジックの直上または横に配置される*「視覚的なマップ」*として機能します。

構造化された表記

一貫した文字セット(+、-、|、v、>)を使用して境界と流れを定義します。

デザイン空間ワークフロー

Hayatpur et al. の研究に基づき、描画前に以下の次元を内部的に定義します。

1. 内容の識別

何を表現するかを決定します。

  • システムアーキテクチャ: 高レベルのコンポーネントとネットワーキング。
  • データ構造: メモリレイアウト、リンクリスト、ツリーノード。
  • 動的振る舞い: ステップごとのロジックまたは状態遷移。

2. レイアウトと接続

  • ボックスアンドライン: エンティティには+---+を、接続には|または-を使用します。
  • フロー方向: 上から下、または左から右に統一します。
  • 整列: すべての垂直パイプ(|)が完全に整列し、*「ボックス」*形状を維持するようにします。

実装ガイドライン

「ボックス」標準

エンティティが視覚的に区別できるように、常に3層の境界を使用します。

+-----------------------+
|      ENTITY NAME      |
+-----------------------+

「コネクタ」標準

方向性を示すために明示的な矢印ヘッドを使用します。曖昧な線は使用しないでください。

  • 垂直: | の後に v
  • 水平: --- の後に >

注釈

コネクタの横に短く説明的なテキストを配置して、遷移やロジックを説明します(例: "if x > 0" または "API Call")。

サンプルワークフロー: システムリクエスト

入力: 「ロードバランサがトラフィックを3台のサーバに分散する様子を示して。」

出力:

          [ CLIENT REQUEST ]
                  |
                  v
       +-----------------------+
       |     LOAD BALANCER     |
       +----------+------------+
                  |
        +---------+---------+
        |         |         |
        v         v         v
    +-------+ +-------+ +-------+
    | SRV 1 | | SRV 2 | | SRV 3 |
    +-------+ +-------+ +-------+

制約事項

  1. 非標準のUnicode文字(┌ や ┐ など)は、明示的に要求されない限り使用しないでください。特定の端末環境やレガシーエディタで壊れる可能性があります。
  2. モノスペースの維持: すべての行で文字幅の一貫性をチェックする必要があります。
  3. 複雑さを避ける: 図の幅が80文字を超える場合は、標準のIDEウィンドウに収まるように*「サブモジュール」*に分割してください。

Individual skills in this repo

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

関連スキル