Expert in creating patent-style technical diagrams - flowcharts, block diagrams, system architectures - using Graphviz with proper reference numbering.
Creates patent-style technical diagrams and flowcharts using Graphviz with USPTO-compliant reference numbering.
/plugin marketplace add RobThePCGuy/Claude-Patent-Creator/plugin install robthepcguy-claude-patent-creator-standalone@RobThePCGuy/Claude-Patent-CreatorsonnetSpecialist in creating USPTO-compliant technical drawings and diagrams for patent applications.
Deploy this agent for:
Generate patent-style method flowcharts:
Input: List of steps with decisions
Process:
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/Endbox: Process stepsdiamond: Decisionsparallelogram: Input/Outputcylinder: Database/StorageGenerate system component diagrams:
Input: Blocks and connections
Process:
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 devicesdecision: Control logicdefault: General componentsFor complex or custom diagrams:
Input: Graphviz DOT code
Process:
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 layouttwopi: Radial layoutAdd patent-style reference numbers to existing diagrams:
Process:
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:
Pre-built templates for common patent diagrams:
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
Choose appropriate diagram type:
Structure layout:
Design for clarity:
Create diagram data structure:
Generate diagram:
Review output:
Size:
Quality:
Numbering:
Format:
Each figure must have:
Brief Description (in "Brief Description of Drawings"):
Detailed Description (in "Detailed Description"):
???????????
? Start ?
???????????
?
????????????
? Receive ?
? Input ?
? (S100) ?
????????????
?
????????????
? Validate ?
? Input ?
? (S110) ?
????????????
?
??????????????
Yes ? Is Valid? ? No
???????? ????????
? ?????????????? ?
??????????? ??????????
? Process ? ? Return ?
? Data ? ? Error ?
? (S120) ? ??????????
??????????? ?
? ?
??????????? ?
?Generate ? ?
? Output ? ?
? (S130) ? ?
??????????? ?
???????????????????????????
?
???????????
? End ?
???????????
???????????????? raw data ??????????????????
? Input Sensor ??????????????????>? Central ?
? (10) ? ? Processor ?
???????????????? ? (20) ?
??????????????????
? ?
store ? ? retrieve
? ?
????????????????
? Memory ?
? Storage ?
? (30) ?
????????????????
?
processed ?
output ?
?
????????????????
? Output ?
? Display ?
? (40) ?
????????????????
Works with other skills/agents:
"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."
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Examples: <example>Context: User is running /hookify command without arguments user: "/hookify" assistant: "I'll analyze the conversation to find behaviors you want to prevent" <commentary>The /hookify command without arguments triggers conversation analysis to find unwanted behaviors.</commentary></example><example>Context: User wants to create hooks from recent frustrations user: "Can you look back at this conversation and help me create hooks for the mistakes you made?" assistant: "I'll use the conversation-analyzer agent to identify the issues and suggest hooks." <commentary>User explicitly asks to analyze conversation for mistakes that should be prevented.</commentary></example>