npx skills add ...
npx skills add markdown-viewer/skills --skill architecture
Create layered system architecture diagrams using HTML/CSS templates with color-coded tiers and grid layouts. Best for technology stacks, microservices topology, and multi-tier application design.
npx skills add markdown-viewer/skills --skill architecture
Quick Start: Create HTML structure with flexible layout (single/double/triple column) → Define CSS styles for layers and grids → Add content with categorized panels → Use semantic colors for different layers.
IMPORTANT: Write architecture diagrams as direct HTML in Markdown. NEVER use code blocks (```html). The HTML should be embedded directly in the document without any fencing.
CRITICAL: Do NOT add any empty lines within the HTML architecture diagram structure. Keep the entire HTML block continuous to prevent parsing errors.
RECOMMENDED: Create architecture diagrams in multiple steps:
Architecture diagrams can use flexible layouts based on complexity:
Each layer should have:
Use consistent semantic meaning for layers — the exact color palette varies by style (see examples). The standard semantic mapping:
Choose a visual style that matches your project's tone and audience. Each example contains a complete, copy-ready HTML template.
| # | Style | File | Suitable For |
|---|---|---|---|
| 1 | Steel Blue | styles/steel-blue.md | Consulting reports, banking/finance, government projects, RFP proposals |
| 2 | Ember Warm | styles/ember-warm.md | Retail/e-commerce, education platforms, lifestyle brands, cultural institutions |
| 3 | Neon Dark | styles/neon-dark.md | Tech talks, developer conferences, gaming platforms, cybersecurity dashboards |
| 4 | Stark Block | styles/stark-block.md | Creative studios, education platforms, indie developers, tech blogs |
| 5 | Ocean Teal | styles/ocean-teal.md | Travel platforms, logistics/shipping, green tech, weather/ocean projects |
| 6 | Dusk Glow | styles/dusk-glow.md | Social media, entertainment platforms, martech, content creation tools |
| 7 | Rose Bloom | styles/rose-bloom.md | Fashion/beauty, luxury brands, wedding platforms, premium memberships |
| 8 | Sage Forest | styles/sage-forest.md | Healthcare, agritech, clean energy, sustainability, bioinformatics |
| 9 | Frost Clean | styles/frost-clean.md | Design tools, developer docs, API references, minimalist SaaS |
| 10 | Indigo Deep | styles/indigo-deep.md | Brand-consistent systems, enterprise white papers, internal platforms |
| 11 | Pastel Mix | styles/pastel-mix.md | SaaS products, startups, general tech architecture, product docs |
| 12 | Slate Dark | styles/slate-dark.md | Enterprise dark mode, internal tools, developer dashboards |
Choose a layout structure that fits your architecture's complexity. Layouts use wireframe style (no colors) to focus on structural patterns. Combine any layout with any style above.
| # | Layout | File | Best For |
|---|---|---|---|
| 1 | Three-Column | layouts/three-column.md | Complex systems with cross-cutting concerns and monitoring sidebars |
| 2 | Single Stack | layouts/single-stack.md | Simple services, microservice detail views, focused documentation |
| 3 | Left Sidebar | layouts/left-sidebar.md | Systems with operations/monitoring emphasis, DevOps-centric views |
| 4 | Right Sidebar | layouts/right-sidebar.md | Systems with security/compliance emphasis, governance-focused views |
| 5 | Pipeline | layouts/pipeline.md | Data pipelines, CI/CD flows, ETL processes, horizontal stage-based flows |
| 6 | Two-Column Split | layouts/two-column-split.md | Before/after comparisons, dual-system views, migration architecture |
| 7 | Dashboard | layouts/dashboard.md | System overviews with KPIs, monitoring dashboards, executive summaries |
| 8 | Grid Catalog | layouts/grid-catalog.md | Service catalogs, component libraries, equal-weight microservices |
| 9 | Banner + Center | layouts/banner-center.md | Gateway-centric architectures, user-facing systems with shared infrastructure |
| 10 | Nested Containers | layouts/nested-containers.md | Cloud deployments, VPC/network topology, environment isolation |
| 11 | Layer Layouts | layouts/layer-layouts.md | Per-layer layout patterns: grid, sub-group, product group, KPI, vertical stack, zones, inline pipeline, mixed width |
| 12 | Connectors | layouts/connectors.md | SVG overlay connectors between components: solid/dashed lines, arrows, labels, curved & orthogonal paths |
NOTE: These advanced components require additional CSS styles. Add these to your <style scoped> section:
For complex applications with multiple products/modules:
For detailed breakdowns within layers:
Use an SVG overlay to draw orthogonal (right-angle) connectors between components. Always use <path> with M/L commands for strictly horizontal and vertical segments. Do NOT use <line>, Bézier curves, or diagonal lines. See layouts/connectors.md for full reference.
.arch-wrapper — flex container for sidebar + main layout.arch-sidebar — fixed-width sidebar column.arch-main — flexible main content area.arch-layer — layer container (add semantic class: .user, .application, .ai, .data, .infra, .external).arch-box — component box; .arch-box.highlight for key items; .arch-box.tech for smaller tech items.arch-grid-2 to .arch-grid-6 — grid column layouts.arch-sidebar-panel — sidebar panel container.arch-sidebar-item — sidebar item; .arch-sidebar-item.metric for highlighted metrics```html code blocks.highlight class for critical components<small> tags<div class="arch-product-group">
<div class="arch-product">
<div class="arch-product-title">🎯 Product A</div>
<div class="arch-grid arch-grid-2">
<div class="arch-box">Feature 1<br><small>Description</small></div>
<div class="arch-box highlight">Feature 2<br><small>Key Feature</small></div>
</div>
</div>
<div class="arch-product">
<div class="arch-product-title">📊 Product B</div>
<div class="arch-grid arch-grid-2">
<div class="arch-box">Feature 3<br><small>Description</small></div>
<div class="arch-box">Feature 4<br><small>Description</small></div>
</div>
</div>
</div><div class="arch-subgroup">
<div class="arch-subgroup-box">
<div class="arch-subgroup-title">Component Group A</div>
<div class="arch-grid arch-grid-3">
<div class="arch-box tech">Service 1<br><small>Details</small></div>
<div class="arch-box tech">Service 2<br><small>Details</small></div>
<div class="arch-box tech">Service 3<br><small>Details</small></div>
</div>
</div>
<div class="arch-subgroup-box">
<div class="arch-subgroup-title">Component Group B</div>
<div class="arch-grid arch-grid-2">
<div class="arch-box tech">Service 4<br><small>Details</small></div>
<div class="arch-box tech">Service 5<br><small>Details</small></div>
</div>
</div>
</div><div class="arch-user-types">
<span class="arch-user-tag">Admin Users</span>
<span class="arch-user-tag">End Users</span>
<span class="arch-user-tag">API Clients</span>
<span class="arch-user-tag">Partners</span>
</div><div class="arch-sidebar-item metric">99.9% Uptime</div>
<div class="arch-sidebar-item metric"><200ms Response</div>
<div class="arch-sidebar-item metric">1M+ Users</div><!-- Wrap diagram content in a relative container -->
<div style="position: relative;">
<!-- ...layers and components here... -->
<!-- SVG overlay as last child -->
<svg style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible;">
<defs>
<marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
<path d="M0,0 L8,3 L0,6" fill="none" stroke="#94a3b8" stroke-width="1"/>
</marker>
</defs>
<!-- Orthogonal solid arrow (vertical → horizontal → vertical) -->
<path d="M 200,72 L 200,90 L 400,90 L 400,108" class="arch-conn" marker-end="url(#arrowhead)"/>
<!-- Orthogonal dashed line -->
<path d="M 600,72 L 600,90 L 600,90 L 600,108" class="arch-conn-dashed" marker-end="url(#arrowhead)"/>
<!-- Label -->
<text x="420" y="86" class="arch-conn-label">data flow</text>
</svg>
</div>