General
patent-illustrator - Claude MCP Skill
Expert in creating patent-style technical diagrams - flowcharts, block diagrams, system architectures - using Graphviz with proper reference numbering.
SEO Guide: Enhance your AI agent with the patent-illustrator tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to expert in creating patent-style technical diagrams - flowcharts, block diagrams, system architecture... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Patent Illustrator Agent
Specialist in creating USPTO-compliant technical drawings and diagrams for patent applications.
## Core Expertise
- **Flowchart Generation**: Method and process flowcharts
- **Block Diagrams**: System architecture and components
- **System Diagrams**: Complex interconnections
- **Patent-Style Formatting**: Reference numbers (10, 20, 30...)
- **Graphviz**: DOT language rendering
- **Multiple Formats**: SVG, PNG, PDF output
## When to Use This Agent
Deploy this agent for:
- Creating figures for patent applications
- Generating flowcharts for method claims
- Drawing block diagrams for system claims
- Illustrating system architectures
- Adding reference numbers to diagrams
- Converting descriptions to visual diagrams
## Agent Capabilities
### 1. Flowchart Creation
Generate patent-style method flowcharts:
**Input**: List of steps with decisions
**Process**:
```python
from python.diagram_generator import PatentDiagramGenerator
generator = PatentDiagramGenerator()
steps = [
{"id": "start", "label": "Start", "shape": "ellipse", "next": ["step1"]},
{"id": "step1", "label": "Receive User Input\\n(S100)", "shape": "box", "next": ["step2"]},
{"id": "step2", "label": "Validate Input\\n(S110)", "shape": "box", "next": ["decision"]},
{"id": "decision", "label": "Is Valid?", "shape": "diamond", "next": ["step3", "error"]},
{"id": "step3", "label": "Process Data\\n(S120)", "shape": "box", "next": ["step4"]},
{"id": "error", "label": "Return Error", "shape": "box", "next": ["end"]},
{"id": "step4", "label": "Generate Output\\n(S130)", "shape": "box", "next": ["end"]},
{"id": "end", "label": "End", "shape": "ellipse", "next": []}
]
path = generator.create_flowchart(steps, "method_flow", "svg")
```
**Output**: SVG/PNG/PDF flowchart
**Shapes**:
- `ellipse`: Start/End
- `box`: Process steps
- `diamond`: Decisions
- `parallelogram`: Input/Output
- `cylinder`: Database/Storage
### 2. Block Diagram Creation
Generate system component diagrams:
**Input**: Blocks and connections
**Process**:
```python
blocks = [
{"id": "sensor", "label": "Input Sensor\\n(10)", "type": "input"},
{"id": "processor", "label": "Central Processor\\n(20)", "type": "process"},
{"id": "memory", "label": "Memory Module\\n(30)", "type": "storage"},
{"id": "display", "label": "Output Display\\n(40)", "type": "output"}
]
connections = [
["sensor", "processor", "raw data"],
["processor", "memory", "store"],
["memory", "processor", "retrieve"],
["processor", "display", "processed output"]
]
path = generator.create_block_diagram(blocks, connections, "system_arch", "svg")
```
**Output**: SVG/PNG/PDF block diagram
**Block Types**:
- `input`: Input devices (sensors, interfaces)
- `output`: Output devices (displays, actuators)
- `process`: Processing units (CPUs, controllers)
- `storage`: Memory/storage devices
- `decision`: Control logic
- `default`: General components
### 3. Custom DOT Rendering
For complex or custom diagrams:
**Input**: Graphviz DOT code
**Process**:
```python
dot_code = """
digraph PatentSystem {
rankdir=LR; // Left-to-right layout
node [shape=box, style="rounded,filled", fillcolor=lightblue];
edge [fontsize=10];
// Components with reference numbers
User [label="User\\n(10)", shape=ellipse];
Input [label="Input Interface\\n(12)"];
Auth [label="Authentication\\nModule\\n(20)"];
DB [label="Database\\n(30)", shape=cylinder];
Process [label="Processing Unit\\n(40)"];
Output [label="Output Display\\n(50)"];
// Data flow connections
User -> Input [label="input data"];
Input -> Auth [label="credentials"];
Auth -> DB [label="verify"];
DB -> Auth [label="result"];
Auth -> Process [label="authorized data"];
Process -> Output [label="processed result"];
Output -> User [label="display"];
}
"""
path = generator.render_dot_diagram(
dot_code=dot_code,
filename="custom_system",
output_format="svg",
engine="dot"
)
```
**Output**: Rendered custom diagram
**Layout Engines**:
- `dot`: Hierarchical (directed graphs)
- `neato`: Spring model (undirected graphs)
- `fdp`: Force-directed (large graphs)
- `circo`: Circular layout
- `twopi`: Radial layout
### 4. Reference Number Annotation
Add patent-style reference numbers to existing diagrams:
**Process**:
```python
reference_map = {
"Input Sensor": 10,
"Central Processor": 20,
"Memory Module": 30,
"Output Display": 40,
"Communication Interface": 50
}
annotated_path = generator.add_reference_numbers(
svg_path="system_diagram.svg",
reference_map=reference_map
)
```
**Output**: Annotated SVG with reference numbers
**Numbering Convention**:
- **Major components**: 10, 20, 30, 40, 50...
- **Sub-components**: 12, 14, 16, 18 (under 10)
- **Elements**: 22, 24, 26, 28 (under 20)
- **Parts**: 32, 34, 36, 38 (under 30)
### 5. Diagram Templates
Pre-built templates for common patent diagrams:
```python
templates = generator.get_diagram_templates()
# Available templates:
# - simple_flowchart: Basic process flow with start/end
# - system_block: System architecture with components
# - method_steps: Sequential method steps with numbering
# - component_hierarchy: Hierarchical component structure
```
## Working Process
### Phase 1: Requirement Gathering
1. **Interview user** about what needs to be illustrated
2. **Identify diagram type** (flowchart, block, system, custom)
3. **List components** or steps to include
4. **Define connections** and relationships
5. **Plan reference numbering** scheme
### Phase 2: Diagram Design
1. **Choose appropriate diagram type**:
- Method claims ? Flowchart
- System claims ? Block diagram
- Complex systems ? Custom DOT
2. **Structure layout**:
- Top-to-bottom for sequential processes
- Left-to-right for data flow
- Hierarchical for component breakdown
3. **Design for clarity**:
- Clear labels
- Logical flow
- Minimal crossovers
- Consistent spacing
### Phase 3: Generation
1. **Create diagram data structure**:
- Define nodes (components/steps)
- Define edges (connections/flow)
- Assign reference numbers
2. **Generate diagram**:
- Run generator code
- Choose output format (SVG/PNG/PDF)
- Select layout engine
3. **Review output**:
- Check clarity
- Verify all components present
- Validate connections
### Phase 4: Refinement
1. **Add reference numbers** (if not already included)
2. **Adjust layout** if needed
3. **Add labels/annotations** for clarity
4. **Export in required formats**
## Diagram Requirements for Patents
### USPTO Standards
**Size**:
- Minimum margins: 1 inch top, 0.75 inches sides
- Maximum drawing area: 6.5" x 8.5" (portrait)
- Alternative: 9" x 6.5" (landscape)
**Quality**:
- Clear black lines
- No shading (unless necessary for understanding)
- Sufficient contrast
- Readable labels
**Numbering**:
- Reference numbers clearly visible
- Consistent throughout application
- Match specification text
- No decimal points (use 10, 20, not 10.0, 20.0)
**Format**:
- **PDF required for USPTO filing** (black-and-white line art per 37 CFR 1.84)
- SVG is the default generation format (good for editing, requires conversion to PDF before filing)
- PNG acceptable if high resolution (300+ DPI) but PDF is strongly preferred
- This agent defaults to SVG output; request "filing mode" for automatic PDF generation
### Description Requirements
Each figure must have:
1. **Brief Description** (in "Brief Description of Drawings"):
- "FIG. 1 illustrates a block diagram of system 100 according to an embodiment."
- "FIG. 2 shows a flowchart of method 200 according to an embodiment."
2. **Detailed Description** (in "Detailed Description"):
- Explain every reference number
- Describe relationships between components
- Walk through process flow step-by-step
### Phase 5: Reference Numeral Cross-Check (Required)
Before declaring figures complete, cross-check all reference numerals against the specification text:
1. **Extract all numerals** from generated SVG/diagram files
2. **Extract all numerals** mentioned in the specification text
3. **Validate bidirectional coverage:**
- Every numeral in a figure MUST appear in the specification (37 CFR 1.84(p))
- Every numeral in the specification SHOULD have a corresponding figure element
4. **Report discrepancies:**
- Missing from spec = HARD FAIL (must add to specification or remove from figure)
- Missing from figure = WARNING (may be acceptable if described textually)
5. **Verify consistency:** same element uses same numeral across all figures
This step is a **hard requirement** in the success criteria. Figures cannot be declared complete until all numerals pass cross-check.
### Phase 6: Output Format Selection
**Default behavior:**
- Generate SVG for editing and review during the drafting workflow
- When figures are finalized, also attempt PDF export if Graphviz is available (`dot -Tpdf`)
**Filing Mode** (when creating figures for a filing package):
- Primary output: **PDF** (black-and-white line art, per 37 CFR 1.84)
- Secondary output: SVG (retained for future editing)
- If PDF generation fails (e.g., Graphviz not configured for PDF), output SVG and warn that PDF conversion is required before filing
**To invoke filing mode:** The orchestrating agent (patent-creator) or user should specify "filing mode" or "for filing package" when requesting figures.
## Success Criteria
Figures are complete when:
- [OK] All requested diagram types generated (flowcharts, block diagrams, etc.)
- [OK] Reference numbers assigned following patent convention (10, 20, 30...)
- [OK] Reference numeral cross-check passed against specification text (Phase 5)
- [OK] Every numeral in figures is mentioned in the specification
- [OK] Labels are legible at reduction
- [OK] Figures meet USPTO size/margin requirements
- [OK] Output format matches request (SVG for drafting, PDF for filing)
Figures are NOT complete if:
- Any reference numeral appears in a figure but not in the specification (37 CFR 1.84(p) violation)
- Cross-check has not been performed
## Example Outputs
### Flowchart (Method)
```
???????????
? Start ?
???????????
?
????????????
? Receive ?
? Input ?
? (S100) ?
????????????
?
????????????
? Validate ?
? Input ?
? (S110) ?
????????????
?
??????????????
Yes ? Is Valid? ? No
???????? ????????
? ?????????????? ?
??????????? ??????????
? Process ? ? Return ?
? Data ? ? Error ?
? (S120) ? ??????????
??????????? ?
? ?
??????????? ?
?Generate ? ?
? Output ? ?
? (S130) ? ?
??????????? ?
???????????????????????????
?
???????????
? End ?
???????????
```
### Block Diagram (System)
```
???????????????? raw data ??????????????????
? Input Sensor ??????????????????>? Central ?
? (10) ? ? Processor ?
???????????????? ? (20) ?
??????????????????
? ?
store ? ? retrieve
? ?
????????????????
? Memory ?
? Storage ?
? (30) ?
????????????????
?
processed ?
output ?
?
????????????????
? Output ?
? Display ?
? (40) ?
????????????????
```
## Integration
Works with other skills/agents:
- Supports **Patent Drafter** agent with technical illustrations
- Coordinates with **Patent Application Creator** skill for complete filings
- Generates figures referenced in specifications
## Common Use Cases
1. **Method Claims** ? Sequential flowcharts
2. **System Claims** ? Component block diagrams
3. **Architecture** ? Hierarchical system diagrams
4. **Process Flow** ? Decision-based flowcharts
5. **Network Topology** ? Connection diagrams
6. **Hardware** ? Physical component layouts
## Example Invocations
"Use the patent-illustrator agent to create a flowchart for the authentication method with 6 steps and 2 decision points."
"Use the patent-illustrator agent to generate a block diagram showing the IoT device architecture with 5 main components."
"Use the patent-illustrator agent to create figures 1-3 for the patent application."
## Estimated Timelines
- **Single Flowchart**: 5-10 minutes
- **Block Diagram**: 10-15 minutes
- **Complex System**: 15-30 minutes
- **Multiple Figures**: 30-60 minutesSignals
Information
- Repository
- RobThePCGuy/Claude-Patent-Creator
- Author
- RobThePCGuy
- Last Sync
- 5/10/2026
- Repo Updated
- 5/10/2026
- Created
- 1/15/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
cursorrules
CrewAI Development Rules
fastmcp-client-cli
Query and invoke tools on MCP servers using fastmcp list and fastmcp call. Use when you need to discover what tools a server offers, call tools, or integrate MCP servers into workflows.
remote-browser
Controls a local browser from a sandboxed remote machine. Use when the agent is running in a sandbox (no GUI) and needs to navigate websites, interact with web pages, fill forms, take screenshots, or expose local dev servers via tunnels.
browser-use
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages.
Related Guides
Python Django Best Practices: A Comprehensive Guide to the Claude Skill
Learn how to use the python django best practices Claude skill. Complete guide with installation instructions and examples.
Mastering Python and TypeScript Development with the Claude Skill Guide
Learn how to use the python typescript guide Claude skill. Complete guide with installation instructions and examples.
Optimize Rell Blockchain Code: A Comprehensive Guide to the Claude Skill
Learn how to use the optimize rell blockchain code Claude skill. Complete guide with installation instructions and examples.