Back to skills
Patent Diagram Generator
Create patent-style technical diagrams including flowcharts, block diagrams, and system architectures using Graphviz with reference numbering
2 stars
0 votes
0 copies
0 views
Added 12/19/2025
data-aipythongobashnodespringdatabase
Install via CLI
$
openskills install RobThePCGuy/Claude-Patent-CreatorFiles
SKILL.md
---
name: patent-diagram-generator
description: Create patent-style technical diagrams including flowcharts, block diagrams, and system architectures using Graphviz with reference numbering
tools: Bash, Read, Write
model: sonnet
---
# Patent Diagram Generator Skill
Create patent-style technical diagrams including flowcharts, block diagrams, and system architectures using Graphviz.
## When to Use
Invoke this skill when users ask to:
- Create flowcharts for method claims
- Generate block diagrams for system claims
- Draw system architecture diagrams
- Create technical illustrations for patents
- Add reference numbers to diagrams
- Generate patent figures
## What This Skill Does
1. **Flowchart Generation**:
- Method step flowcharts
- Decision trees
- Process flows with branches
- Patent-style step numbering
2. **Block Diagram Creation**:
- System component diagrams
- Hardware architecture diagrams
- Software module diagrams
- Component interconnections
3. **Custom Diagram Rendering**:
- Render Graphviz DOT code
- Support multiple formats (SVG, PNG, PDF)
- Multiple layout engines (dot, neato, fdp, circo, twopi)
4. **Patent-Style Formatting**:
- Add reference numbers (10, 20, 30, etc.)
- Use clear labels and connections
- Professional formatting for USPTO filing
## Required Dependencies
This skill requires Graphviz to be installed:
**Windows**:
```bash
choco install graphviz
```
**Linux**:
```bash
sudo apt install graphviz
```
**Mac**:
```bash
brew install graphviz
```
**Python Package**:
```bash
pip install graphviz
```
## How to Use
When this skill is invoked:
1. **Load diagram generator**:
```python
import sys
sys.path.insert(0, os.path.join(os.environ.get('CLAUDE_PLUGIN_ROOT', '.'), 'python'))
from python.diagram_generator import PatentDiagramGenerator
generator = PatentDiagramGenerator()
```
2. **Create flowchart** from steps:
```python
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. **Create block diagram**:
```python
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. **Render custom DOT code**:
```python
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. **Add reference numbers**:
```python
# 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
)
```
## Diagram Templates
Get common templates:
```python
templates = generator.get_diagram_templates()
# Available templates:
# - simple_flowchart: Basic process flow
# - system_block: System architecture
# - method_steps: Sequential method
# - component_hierarchy: Hierarchical structure
```
## Shape Types
### Flowchart Shapes
- `ellipse`: Start/End points
- `box`: Process steps
- `diamond`: Decision points
- `parallelogram`: Input/Output operations
- `cylinder`: Database/Storage
### Block Diagram Types
- `input`: Input devices/sensors
- `output`: Output devices/displays
- `process`: Processing units
- `storage`: Memory/storage
- `decision`: Control logic
- `default`: General components
## Layout Engines
- `dot`: Hierarchical (top-down/left-right)
- `neato`: Spring model layout
- `fdp`: Force-directed layout
- `circo`: Circular layout
- `twopi`: Radial layout
## Output Formats
- `svg`: Scalable Vector Graphics (best for editing)
- `png`: Raster image (good for viewing)
- `pdf`: Portable Document Format (USPTO compatible)
## Patent-Style Reference Numbers
Convention:
- Main components: 10, 20, 30, 40, ...
- Sub-components: 12, 14, 16 (under 10)
- Elements: 22, 24, 26 (under 20)
Example labeling:
```
"Input Sensor (10)"
" - Detector Element (12)"
" - Signal Processor (14)"
"Central Unit (20)"
" - CPU Core (22)"
" - Cache (24)"
```
## Presentation Format
When creating diagrams:
1. **Describe what will be generated**:
"Creating a flowchart for the authentication method with 5 steps..."
2. **Generate the diagram**:
Run Python code to create SVG/PNG/PDF
3. **Show file location**:
"Diagram created: ${CLAUDE_PLUGIN_ROOT}/python\diagrams\method_flowchart.svg"
4. **List reference numbers** (if added):
```
Reference Numbers:
- Input Module (10)
- Processing Unit (20)
- Output Interface (30)
```
## Common Use Cases
1. **Method Claims** → Flowcharts
- Show sequential steps
- Include decision branches
- Number steps (S1, S2, S3...)
2. **System Claims** → Block Diagrams
- Show components and connections
- Use reference numbers
- Indicate data flow directions
3. **Architecture Diagrams** → Custom DOT
- Complex system layouts
- Multiple interconnections
- Hierarchical structures
## Error Handling
If Graphviz is not installed:
1. Check installation: `dot -V`
2. Install for your OS (see above)
3. Verify Python package: `pip show graphviz`
4. Test generation: `python scripts/test_diagrams.py`
## Tools Available
- **Bash**: To run Python diagram generation
- **Write**: To save DOT code or diagrams
- **Read**: To load existing diagrams or templates
Attribution
Comments (0)
No comments yet. Be the first to comment!
