tikz-flowchart
Creates professional TikZ flowcharts with a standardized style (Google Material-like colors, node shapes, and layout).
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install yzlnew-infra-skills-tikz-flowchart
Repository
Skill path: tikz-flowchart
Creates professional TikZ flowcharts with a standardized style (Google Material-like colors, node shapes, and layout).
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: yzlnew.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install tikz-flowchart into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/yzlnew/infra-skills before adding tikz-flowchart to shared team environments
- Use tikz-flowchart for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: tikz-flowchart
description: "Creates professional TikZ flowcharts with a standardized style (Google Material-like colors, node shapes, and layout)."
---
# TikZ Flowchart Skill
This skill provides a standardized template/style for establishing professional technical diagrams using LaTeX TikZ. It is designed for creating flowcharts, architecture diagrams, and process flows.
## Usage
When asked to "create a flowchart" or "draw a diagram" in this project, use the template below as a starting point. Adjust styles (`dataNode`, `opNode`, etc.) as needed for the specific content.
## Style Guide
### Colors
The template uses a Google Material-like palette:
- **Green (`greenFill`/`greenStroke`)**: Data, Inputs, Outputs, Tensors.
- **Orange/Memory (`memFill`/`memStroke`)**: Memory, Weights, Checkpoints.
- **Blue/Core (`coreFill`/`coreStroke`)**: Operations, Compute Kernels, Processes.
- **Pink/Optimization (`optFill`/`optStroke`)**: Optimizations, Special Steps.
- **Yellow/Process (`procFill`/`procStroke`)**: General Processing Steps.
### Standard Nodes
- `dataNode`: Rectangles for data flow (green).
- `memNode`: Cylinders for storage/weights (orange).
- `opNode`: Rectangles for operations (blue).
- `kernelBox`: Dashed containers for grouping internal kernel logic.
- `group`: Dashed background containers for logical grouping of phases/stages.
## Template
Use this template as your base:
```latex
\documentclass[tikz,border=10pt]{standalone}
\usepackage{tikz}
\usepackage{amssymb}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning, fit, backgrounds, calc, shadows.blur, decorations.pathreplacing}
% --- Color Definitions ---
\definecolor{greenFill}{HTML}{E8F5E9}
\definecolor{greenStroke}{HTML}{43A047}
\definecolor{memFill}{HTML}{FFF3E0}
\definecolor{memStroke}{HTML}{FFB74D}
\definecolor{coreFill}{HTML}{E1F5FE}
\definecolor{coreStroke}{HTML}{0277BD}
\definecolor{optFill}{HTML}{FCE4EC}
\definecolor{optStroke}{HTML}{E91E63}
\definecolor{procFill}{HTML}{FFF9C4}
\definecolor{procStroke}{HTML}{FBC02D}
\begin{document}
\begin{tikzpicture}[
node distance=1.2cm and 1.8cm, % Vertical and Horizontal spacing
font=\sffamily\footnotesize,
>=Stealth,
% --- Styles ---
dataNode/.style={
rectangle, rounded corners=3pt,
draw=greenStroke, thick,
fill=greenFill,
minimum width=2.4cm, minimum height=1.2cm,
align=center,
drop shadow
},
memNode/.style={
cylinder, cylinder uses custom fill,
cylinder body fill=memFill, cylinder end fill=memFill!90!gray,
shape border rotate=90,
aspect=0.25,
draw=memStroke, thick,
minimum width=1.8cm, minimum height=1.3cm,
align=center
},
opNode/.style={
rectangle, rounded corners=3pt,
draw=coreStroke, thick,
fill=coreFill,
minimum width=2.6cm, minimum height=1.2cm,
align=center,
drop shadow
},
kernelBox/.style={
rectangle, rounded corners=8pt,
draw=coreStroke, thick, dashed,
fill=coreFill!20,
inner sep=12pt,
align=center
},
group/.style={
draw=gray!30, dashed, rounded corners=8pt, inner sep=12pt, fill=gray!5
},
edgeLabel/.style={
font=\scriptsize,
text=black!80,
align=center,
inner sep=1pt
}
]
% --- Nodes ---
% Example:
% \node[dataNode] (Input) {Input Data};
% \node[opNode, right=of Input] (Process) {Process};
% --- Layout Containers (Optional) ---
% \begin{scope}[on background layer]
% \node[group, fit=(Input)(Process)] (MainGroup) {};
% \end{scope}
% --- Connections ---
% \draw[->, thick, color=gray!80] (Input) -- (Process);
\end{tikzpicture}
\end{document}
```
## Best Practices
1. **Relative Positioning**: Use `right=of Node`, `below=of Node` for layout stability. Adjust distances via `node distance` in the `tikzpicture` options.
2. **Grouping**: Use the `fit` library and `group` style to draw background boxes around related nodes. Always place these in a `\begin{scope}[on background layer]` block.
3. **Orthogonal Edges**: Use `-|` and `|-` path operations for clean, orthogonal lines (e.g., `(A) -| (B)`).
4. **Conciseness**: Keep node text short. Use `\\` for line breaks and `\scriptsize` for secondary details.