patent-diagram-generator について
Graphviz を使って、フローチャート、ブロック図、システム構成図などを作成する特許図面向けスキルです。特許形式の参照番号を付けられ、複数のレイアウトと出力形式に対応します。
主な機能
- 01フローチャートと決定木の生成
- 02システム・コンポーネント図の作成
- 03Graphviz DOT コードのレンダリング
- 04特許形式の参照番号の追加
- 05SVG、PNG、PDF への出力
活用シーン
- 01方法クレームの工程図の作成
- 02システムクレームの構成要素の図示
- 03特許出願用の技術図面の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robthepcguy/ claude-patent-creator --skill patent-diagram-generatorインストール後、Claude Code で/patent-diagram-generatorを入力して読み込まれたか確認します。
詳細
特許図面生成スキル
Graphviz を使用して、フローチャート、ブロック図、システムアーキテクチャなどの特許形式の技術図面を作成します。
使用する場面
ユーザーから次のような依頼があった場合に、このスキルを呼び出します。
- 方法クレームのフローチャートを作成する
- システムクレームのブロック図を生成する
- システムアーキテクチャ図を描く
- 特許用の技術イラストを作成する
- 図面に参照番号を追加する
- 特許図面を生成する
このスキルでできること
-
フローチャートの生成:
- 方法のステップを示すフローチャート
- 決定木
- 分岐を含むプロセスフロー
- 特許形式のステップ番号
-
ブロック図の作成:
- システムコンポーネント図
- ハードウェアアーキテクチャ図
- ソフトウェアモジュール図
- コンポーネント間の接続
-
カスタム図面のレンダリング:
- Graphviz DOT コードをレンダリング
- 複数の形式をサポート(SVG、PNG、PDF)
- 複数のレイアウトエンジン(dot、neato、fdp、circo、twopi)
-
特許形式の書式設定:
- 参照番号を追加(10、20、30 など)
- 明確なラベルと接続を使用
- USPTO への出願に適したプロフェッショナルな書式
必要な依存関係
このスキルを使用するには、Graphviz をインストールする必要があります。
Windows:
choco install graphviz
Linux:
sudo apt install graphviz
Mac:
brew install graphviz
Python パッケージ:
pip install graphviz
使用方法
このスキルが呼び出された場合:
-
図面生成ツールを読み込む:
import os import sys sys.path.insert(0, os.environ.get('CLAUDE_PLUGIN_ROOT', '.')) from mcp_server.diagram_generator import PatentDiagramGenerator generator = PatentDiagramGenerator() -
ステップからフローチャートを作成する:
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" ) -
ブロック図を作成する:
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" ) -
カスタム 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" ) -
参照番号を追加する:
# 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)"
提示形式
図面を作成する際:
-
生成する内容を説明する: 「5 つのステップからなる認証方法のフローチャートを作成しています...」
-
図面を生成する: Python コードを実行して SVG/PNG/PDF を作成します
-
ファイルの場所を示す: 「図面を作成しました:${CLAUDE_PLUGIN_ROOT}/python\diagrams\method_flowchart.svg」
-
参照番号を列挙する(追加した場合):
Reference Numbers: - Input Module (10) - Processing Unit (20) - Output Interface (30)
一般的な使用例
-
方法クレーム → フローチャート
- 順次実行されるステップを示す
- 判断分岐を含める
- ステップに番号を付ける(S1、S2、S3...)
-
システムクレーム → ブロック図
- コンポーネントと接続を示す
- 参照番号を使用する
- データフローの方向を示す
-
アーキテクチャ図 → カスタム DOT
- 複雑なシステムレイアウト
- 複数の相互接続
- 階層構造
エラー処理
Graphviz がインストールされていない場合:
- インストールを確認します:
dot -V - 使用している OS 向けにインストールします(上記を参照)
- Python パッケージを確認します:
pip show graphviz - 生成をテストします:
python scripts/test_diagrams.py
使用可能なツール
- Bash:Python による図面生成を実行します
- Write:DOT コードまたは図面を保存します
- Read:既存の図面またはテンプレートを読み込みます