/install blueprinter
Blueprinter
Generate technical diagrams using HTML/CSS following the "Flat Engineering Blueprint" style guidelines.
Core Philosophy
Precise, Objective, High Data-Ink Ratio. The output should look like a technical specification sheet or an architectural diagram, NOT a marketing landing page.
Visual Rules
1. No Decorations
- NO drop shadows
- NO gradients
- NO glassmorphism/blur
- NO rounded buttons
2. Flat & Outlined
- Use 1px or 2px solid borders for structure
- Use white backgrounds for content blocks
3. Monochrome Base
| Element | Color |
|---|---|
| Background | Light Gray (#f8fafc) |
| Canvas | White (#ffffff) with Slate Border (#cbd5e1) |
| Text (Main) | High contrast Black (#0f172a) |
| Text (Sub) | Slate Gray (#64748b) |
| Accent | Use BLACK or ONE semantic color (e.g., Red for Error) sparingly |
4. Typography
- Headings/Labels: Sans-serif (Inter/Helvetica)
- Data/Paths/Code: Monospace (JetBrains Mono/Consolas)
5. Layout Structure
- The diagram must be contained within a
diagram-canvas(a bordered box with padding) - Header: Title + Uppercase Subtitle, separated by a solid bottom border
- Grid/Flexbox alignment: Everything must be strictly aligned
6. Elements
- Connectors: Thin, straight or orthogonal lines. Dashed lines for abstract relationships.
- Icons: Simple stroke SVG icons (no fill or complex details)
- Badges: Outlined or solid black/gray blocks. Small font size.
CSS Variable Reference
:root {
--c-bg: #f8fafc; /* Outer Background */
--c-canvas: #ffffff; /* Diagram Background */
--c-border: #cbd5e1; /* Slate-300 */
--c-text-main: #0f172a; /* Slate-900 */
--c-text-sub: #64748b; /* Slate-500 */
--font-ui: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
}
HTML Structure Template
\x3C!DOCTYPE html>
\x3Chtml lang="en">
\x3Chead>
\x3Cmeta charset="UTF-8">
\x3Cmeta name="viewport" content="width=device-width, initial-scale=1.0">
\x3Ctitle>[Diagram Title]\x3C/title>
\x3Clink href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
\x3Cstyle>
:root {
--c-bg: #f8fafc;
--c-canvas: #ffffff;
--c-border: #cbd5e1;
--c-text-main: #0f172a;
--c-text-sub: #64748b;
--c-accent: #dc2626; /* Optional: for errors/warnings only */
--font-ui: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-ui);
background: var(--c-bg);
padding: 40px;
min-height: 100vh;
}
.diagram-container {
max-width: 1200px;
margin: 0 auto;
}
.diagram-canvas {
background: var(--c-canvas);
border: 1px solid var(--c-border);
padding: 32px;
}
.diagram-header {
border-bottom: 1px solid var(--c-border);
padding-bottom: 16px;
margin-bottom: 24px;
}
.diagram-title {
font-size: 20px;
font-weight: 600;
color: var(--c-text-main);
margin-bottom: 4px;
}
.diagram-subtitle {
font-size: 11px;
font-weight: 500;
color: var(--c-text-sub);
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Component styles */
.component {
border: 1px solid var(--c-border);
padding: 16px;
background: var(--c-canvas);
}
.component-label {
font-family: var(--font-mono);
font-size: 12px;
color: var(--c-text-sub);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.component-value {
font-family: var(--font-mono);
font-size: 14px;
color: var(--c-text-main);
font-weight: 500;
}
/* Connector lines */
.connector {
stroke: var(--c-border);
stroke-width: 1;
}
.connector-dashed {
stroke: var(--c-border);
stroke-width: 1;
stroke-dasharray: 4 4;
}
/* Badges */
.badge {
display: inline-block;
font-family: var(--font-mono);
font-size: 10px;
padding: 2px 6px;
border: 1px solid var(--c-border);
color: var(--c-text-sub);
}
.badge-solid {
background: var(--c-text-main);
color: var(--c-canvas);
border-color: var(--c-text-main);
}
\x3C/style>
\x3C/head>
\x3Cbody>
\x3Cdiv class="diagram-container">
\x3Cdiv class="diagram-canvas">
\x3Cdiv class="diagram-header">
\x3Cdiv class="diagram-title">[Diagram Title]\x3C/div>
\x3Cdiv class="diagram-subtitle">[Diagram Type / Version]\x3C/div>
\x3C/div>
\x3C!-- Diagram content goes here -->
\x3C/div>
\x3C/div>
\x3C/body>
\x3C/html>
Usage Guidelines
- Always use the CSS variables - never hardcode colors
- Keep it flat - no shadows, no gradients, no blur effects
- Use monospace for data - any technical values, paths, codes should use
--font-mono - Align strictly - use CSS Grid or Flexbox with consistent gaps
- Connect with lines - use SVG for connectors between components
- Minimal icons - if icons are needed, use simple stroke-only SVGs
Example: Simple System Diagram
\x3Cdiv class="diagram-canvas">
\x3Cdiv class="diagram-header">
\x3Cdiv class="diagram-title">System Architecture\x3C/div>
\x3Cdiv class="diagram-subtitle">v1.0 / Overview\x3C/div>
\x3C/div>
\x3Cdiv style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px;">
\x3Cdiv class="component">
\x3Cdiv class="component-label">Client\x3C/div>
\x3Cdiv class="component-value">Web App\x3C/div>
\x3C/div>
\x3Cdiv class="component">
\x3Cdiv class="component-label">API\x3C/div>
\x3Cdiv class="component-value">REST Gateway\x3C/div>
\x3C/div>
\x3Cdiv class="component">
\x3Cdiv class="component-label">Database\x3C/div>
\x3Cdiv class="component-value">PostgreSQL\x3C/div>
\x3C/div>
\x3C/div>
\x3C/div>
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install blueprinter - After installation, invoke the skill by name or use
/blueprinter - Provide required inputs per the skill's parameter spec and get structured output
What is blueprinter?
Generate technical diagrams using HTML/CSS in Flat Engineering Blueprint style. Use when the user wants to create architecture diagrams, system diagrams, flo... It is an AI Agent Skill for Claude Code / OpenClaw, with 191 downloads so far.
How do I install blueprinter?
Run "/install blueprinter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is blueprinter free?
Yes, blueprinter is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does blueprinter support?
blueprinter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created blueprinter?
It is built and maintained by Yofine (@yofine); the current version is v1.0.0.