MCP HubMCP Hub
スキル一覧に戻る

patent-diagrams

RobThePCGuy
更新日 Today
110 閲覧
2
2
GitHubで表示
メタautomationdata

について

このスキルは、Graphvizを使用して特許形式の技術図(フローチャート、ブロック図、システムアーキテクチャ)をSVGファイルとして生成します。特許形式の参照番号付けを自動的に処理し、一般的なパターン向けのテンプレートをサポートしています。USPTO提出書類や技術文書に適した、プロフェッショナルな技術図を作成する必要がある場合にご利用ください。

クイックインストール

Claude Code

推奨
プラグインコマンド推奨
/plugin add https://github.com/RobThePCGuy/Claude-Patent-Creator
Git クローン代替
git clone https://github.com/RobThePCGuy/Claude-Patent-Creator.git ~/.claude/skills/patent-diagrams

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

Patent Diagrams Skill

Generate professional patent-style technical diagrams using Graphviz.

Capabilities:

  • Flowcharts (method steps, decision flows)
  • Block diagrams (system architectures, data flows)
  • Custom diagrams (arbitrary DOT code)
  • Reference numbering (patent-style annotations)
  • Templates (pre-built patterns)

Output: SVG (Scalable Vector Graphics) for USPTO submissions

Core Operations

1. create_flowchart

Inputs:

  • steps (List[str], required): Ordered list of step descriptions

Outputs:

{
    "success": bool,
    "svg_path": str,         # Absolute path to SVG
    "filename": str,
    "message": str
}

Example:

steps = [
    "Receive input data from sensor",
    "Validate data format",
    "Process data using algorithm",
    "Generate output signal",
    "Transmit result to display"
]
result = create_flowchart(steps)

2. create_block_diagram

Inputs:

  • blocks (List[dict], required): Component definitions
    • id (str, required): Unique identifier
    • label (str, required): Display text (use \n for multiline)
    • type (str, optional): Block type ("input", "output", "process", "storage", "decision", "default")
  • connections (List[dict], required): Connection definitions
    • from_id (str, required): Source block ID
    • to_id (str, required): Target block ID
    • label (str, optional): Connection label

Example:

blocks = [
    {"id": "sensor", "label": "Input\nSensor", "type": "input"},
    {"id": "cpu", "label": "Processing\nUnit", "type": "process"},
    {"id": "memory", "label": "Memory\nStorage", "type": "storage"},
    {"id": "display", "label": "Output\nDisplay", "type": "output"}
]

connections = [
    {"from_id": "sensor", "to_id": "cpu", "label": "raw data"},
    {"from_id": "cpu", "to_id": "memory", "label": "store"},
    {"from_id": "memory", "to_id": "cpu", "label": "retrieve"},
    {"from_id": "cpu", "to_id": "display", "label": "results"}
]

result = create_block_diagram(blocks, connections)

3. render_diagram

Render arbitrary Graphviz DOT code.

Inputs:

  • dot (str, required): Graphviz DOT code

Example:

dot_code = """
digraph CustomDiagram {
    rankdir=TB;
    node [shape=box, style=filled, fillcolor=lightblue];

    A [label="Component A"];
    B [label="Component B"];
    C [label="Component C"];

    A -> B [label="signal"];
    B -> C [label="processed"];
    C -> A [label="feedback"];
}
"""

result = render_diagram(dot_code)

4. add_diagram_references

Add patent-style reference numbers to existing SVG.

Inputs:

  • svg_path (str, required): Path to input SVG
  • reference_map (dict, required): Element text -> reference number
    • Key: Text to match (case-insensitive substring)
    • Value: Reference number (integer)

Outputs:

{
    "success": bool,
    "svg_path": str,         # NEW annotated SVG path
    "original_path": str,    # Original SVG preserved
    "filename": str,         # Ends with "_annotated.svg"
    "references_added": int,
    "message": str
}

Example:

reference_map = {
    "Input Sensor": 10,
    "Processing Unit": 20,
    "Memory Storage": 30,
    "Output Display": 40
}

result = add_diagram_references(
    svg_path="C:/path/to/block_diagram.svg",
    reference_map=reference_map
)
# Creates: "block_diagram_annotated.svg"

5. get_diagram_templates

Retrieve pre-built templates.

Outputs:

{
    "success": bool,
    "templates": {
        "template_name": {
            "name": str,
            "description": str,
            "dot_code": str
        }
    },
    "template_names": List[str]
}

Available Templates:

  • simple_flowchart: Basic method flow
  • system_block: System architecture
  • method_steps: Patent method claims (101, 102, ...)
  • component_hierarchy: Hierarchical tree

Example:

result = get_diagram_templates()
template = result["templates"]["system_block"]
diagram = render_diagram(template["dot_code"])

Graphviz Dependency

Required: Graphviz as Python package AND system executable.

Check Installation:

check_graphviz_installed()
# Returns: {"ready": bool, "python_package": bool, "system_command": bool, "version": str, "message": str}

Install if Missing:

  1. Python package: pip install graphviz
  2. System executable:
    • Windows: winget install graphviz
    • macOS: brew install graphviz
    • Linux: sudo apt install graphviz

Output Management

Output Directory: PROJECT_ROOT/diagrams/ (auto-created)

Filename Generation:

  • Flowcharts: flowchart_YYYYMMDD_HHMMSS.svg
  • Block diagrams: block_diagram_YYYYMMDD_HHMMSS.svg
  • Custom renders: diagram_YYYYMMDD_HHMMSS.svg
  • Annotated: {original_name}_annotated.svg

Format: All paths are absolute (e.g., C:/Users/<YOUR_USER>/Desktop/TEST1/diagrams/flowchart.svg)

Block Types and Styling

TypeShapeColorTypical Use
inputinvhouselightblueInput devices, sensors
outputhouselightgreenOutput devices, displays
processboxlightyellowProcessing units, algorithms
storagecylinderlightgrayMemory, databases
decisiondiamondlightcoralDecision points, logic
defaultboxwhiteGeneric components

Common Use Cases

  1. Method Claims: Use simple_flowchart or method_steps template
  2. System Architecture: Use system_block template or custom create_block_diagram
  3. Component Relationships: Use component_hierarchy template
  4. Custom Layouts: Use render_diagram with full DOT control
  5. Final Publication: Use add_diagram_references for patent-style numbering

GitHub リポジトリ

RobThePCGuy/Claude-Patent-Creator
パス: skills/patent-diagrams
bigqueryclaude-codeclaude-code-pluginfaissmcp-servermpep

関連スキル

content-collections

メタ

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

スキルを見る

sglang

メタ

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

スキルを見る

polymarket

メタ

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

スキルを見る

cloudflare-turnstile

メタ

This skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.

スキルを見る