mcpField
P
patent-diagram-generator

patent-diagram-generator

github.com/robthepcguyドキュメント206313 回インストール3 日前に更新
リポジトリ

patent-diagram-generator について

Graphviz を使って、フローチャート、ブロック図、システム構成図などを作成する特許図面向けスキルです。特許形式の参照番号を付けられ、複数のレイアウトと出力形式に対応します。

主な機能

  1. 01フローチャートと決定木の生成
  2. 02システム・コンポーネント図の作成
  3. 03Graphviz DOT コードのレンダリング
  4. 04特許形式の参照番号の追加
  5. 05SVG、PNG、PDF への出力

活用シーン

  1. 01方法クレームの工程図の作成
  2. 02システムクレームの構成要素の図示
  3. 03特許出願用の技術図面の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/robthepcguy/claude-patent-creator --skill patent-diagram-generator

インストール後、Claude Code で/patent-diagram-generatorを入力して読み込まれたか確認します。

詳細

特許図面生成スキル

Graphviz を使用して、フローチャート、ブロック図、システムアーキテクチャなどの特許形式の技術図面を作成します。

使用する場面

ユーザーから次のような依頼があった場合に、このスキルを呼び出します。

  • 方法クレームのフローチャートを作成する
  • システムクレームのブロック図を生成する
  • システムアーキテクチャ図を描く
  • 特許用の技術イラストを作成する
  • 図面に参照番号を追加する
  • 特許図面を生成する

このスキルでできること

  1. フローチャートの生成:

    • 方法のステップを示すフローチャート
    • 決定木
    • 分岐を含むプロセスフロー
    • 特許形式のステップ番号
  2. ブロック図の作成:

    • システムコンポーネント図
    • ハードウェアアーキテクチャ図
    • ソフトウェアモジュール図
    • コンポーネント間の接続
  3. カスタム図面のレンダリング:

    • Graphviz DOT コードをレンダリング
    • 複数の形式をサポート(SVG、PNG、PDF)
    • 複数のレイアウトエンジン(dot、neato、fdp、circo、twopi)
  4. 特許形式の書式設定:

    • 参照番号を追加(10、20、30 など)
    • 明確なラベルと接続を使用
    • USPTO への出願に適したプロフェッショナルな書式

必要な依存関係

このスキルを使用するには、Graphviz をインストールする必要があります。

Windows:

choco install graphviz

Linux:

sudo apt install graphviz

Mac:

brew install graphviz

Python パッケージ:

pip install graphviz

使用方法

このスキルが呼び出された場合:

  1. 図面生成ツールを読み込む:

    import os
    import sys
    sys.path.insert(0, os.environ.get('CLAUDE_PLUGIN_ROOT', '.'))
    from mcp_server.diagram_generator import PatentDiagramGenerator
    
    generator = PatentDiagramGenerator()
    
  2. ステップからフローチャートを作成する:

    steps = [
        {"id": "start", "label": "Start", "shape": "ellipse", "next": ["step1"]},
        {"id": "step1", "label": "Initialize System", "shape": "box", "next": ["decision"]},
        {"id": "decision", "label": "Is Valid?", "shape": "diamond", "next": ["step2", "error"]},
        {"id": "step2", "label": "Process Data", "shape": "box", "next": ["end"]},
        {"id": "error", "label": "Handle Error", "shape": "box", "next": ["end"]},
        {"id": "end", "label": "End", "shape": "ellipse", "next": []}
    ]
    
    diagram_path = generator.create_flowchart(
        steps=steps,
        filename="method_flowchart",
        output_format="svg"
    )
    
  3. ブロック図を作成する:

    blocks = [
        {"id": "input", "label": "Input\\nSensor", "type": "input"},
        {"id": "cpu", "label": "Central\\nProcessor", "type": "process"},
        {"id": "memory", "label": "Memory\\nStorage", "type": "storage"},
        {"id": "output", "label": "Output\\nDisplay", "type": "output"}
    ]
    
    connections = [
        ["input", "cpu", "raw data"],
        ["cpu", "memory", "store"],
        ["memory", "cpu", "retrieve"],
        ["cpu", "output", "processed data"]
    ]
    
    diagram_path = generator.create_block_diagram(
        blocks=blocks,
        connections=connections,
        filename="system_diagram",
        output_format="svg"
    )
    
  4. カスタム DOT コードをレンダリングする:

    dot_code = """
    digraph PatentSystem {
        rankdir=LR;
        node [shape=box, style=rounded];
    
        Input [label="User Input\\n(10)"];
        Processor [label="Processing Unit\\n(20)"];
        Output [label="Display\\n(30)"];
    
        Input -> Processor [label="data"];
        Processor -> Output [label="result"];
    }
    """
    
    diagram_path = generator.render_dot_diagram(
        dot_code=dot_code,
        filename="custom_diagram",
        output_format="svg",
        engine="dot"
    )
    
  5. 参照番号を追加する:

    # After creating a diagram, add patent-style reference numbers
    reference_map = {
        "Input Sensor": 10,
        "Central Processor": 20,
        "Memory Storage": 30,
        "Output Display": 40
    }
    
    annotated_path = generator.add_reference_numbers(
        svg_path=diagram_path,
        reference_map=reference_map
    )
    

図面テンプレート

一般的なテンプレートを取得します:

templates = generator.get_diagram_templates()

# Available templates:
# - simple_flowchart: Basic process flow
# - system_block: System architecture
# - method_steps: Sequential method
# - component_hierarchy: Hierarchical structure

形状の種類

フローチャートの形状
  • ellipse:開始/終了点
  • box:処理ステップ
  • diamond:判断ポイント
  • parallelogram:入出力操作
  • cylinder:データベース/ストレージ
ブロック図の種類
  • input:入力デバイス/センサー
  • output:出力デバイス/ディスプレイ
  • process:処理ユニット
  • storage:メモリ/ストレージ
  • decision:制御ロジック
  • default:一般的なコンポーネント

レイアウトエンジン

  • dot:階層型(上から下/左から右)
  • neato:ばねモデルレイアウト
  • fdp:力指向レイアウト
  • circo:円形レイアウト
  • twopi:放射状レイアウト

出力形式

  • svg:Scalable Vector Graphics(編集に最適)
  • png:ラスター画像(表示に適しています)
  • pdf:Portable Document Format(USPTO に対応)

特許形式の参照番号

表記規則:

  • 主なコンポーネント:10、20、30、40、...
  • サブコンポーネント:12、14、16(10 の下位)
  • 要素:22、24、26(20 の下位)

ラベルの例:

"Input Sensor (10)"
"  - Detector Element (12)"
"  - Signal Processor (14)"
"Central Unit (20)"
"  - CPU Core (22)"
"  - Cache (24)"

提示形式

図面を作成する際:

  1. 生成する内容を説明する: 「5 つのステップからなる認証方法のフローチャートを作成しています...」

  2. 図面を生成する: Python コードを実行して SVG/PNG/PDF を作成します

  3. ファイルの場所を示す: 「図面を作成しました:${CLAUDE_PLUGIN_ROOT}/python\diagrams\method_flowchart.svg」

  4. 参照番号を列挙する(追加した場合):

    Reference Numbers:
    - Input Module (10)
    - Processing Unit (20)
    - Output Interface (30)
    

一般的な使用例

  1. 方法クレーム → フローチャート

    • 順次実行されるステップを示す
    • 判断分岐を含める
    • ステップに番号を付ける(S1、S2、S3...)
  2. システムクレーム → ブロック図

    • コンポーネントと接続を示す
    • 参照番号を使用する
    • データフローの方向を示す
  3. アーキテクチャ図 → カスタム DOT

    • 複雑なシステムレイアウト
    • 複数の相互接続
    • 階層構造

エラー処理

Graphviz がインストールされていない場合:

  1. インストールを確認します:dot -V
  2. 使用している OS 向けにインストールします(上記を参照)
  3. Python パッケージを確認します:pip show graphviz
  4. 生成をテストします:python scripts/test_diagrams.py

使用可能なツール

  • Bash:Python による図面生成を実行します
  • Write:DOT コードまたは図面を保存します
  • Read:既存の図面またはテンプレートを読み込みます

コメント