Claude-skill-registry fixture-graph
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/fixture-graph" ~/.claude/skills/majiayu000-claude-skill-registry-fixture-graph && rm -rf "$T"
skills/data/fixture-graph/SKILL.mdFixture-Graph Skill
⚡ Quick Start for Agents
Don't get overwhelmed by 50+ commands! Use domain navigation:
# Step 1: Find your domain fixture-graph domains # Step 2: List commands for your domain fixture-graph list --domain ml # ML/LLM projects fixture-graph list --domain control # Aerospace/control systems fixture-graph list --domain bio # Bioinformatics # Step 3: Or get recommendations by data type fixture-graph recommend --data-type classification fixture-graph recommend --data-type time_series fixture-graph recommend --show-types # See all data types
Domain Quick Reference
| Domain | Use For | Key Commands |
|---|---|---|
| core | Any project | , , , |
| ml | ML/LLM evaluation | , , , |
| control | Aerospace, control systems | , , , |
| field | Nuclear, thermal, physics | , , |
| project | Scheduling, requirements | , , , |
| math | Pure mathematics | , , |
| bio | Bioinformatics, medical | , , , |
| hierarchy | Breakdowns, fault trees | , , |
Generate publication-quality figures from code analysis data for academic papers.
Architecture
Multi-backend design for maximum compatibility:
| Backend | Use Case | Output Formats |
|---|---|---|
| Graphviz | Deterministic layouts, CI-friendly | PDF, PNG, SVG, DOT |
| Mermaid | Quick documentation, GitHub-compatible | PDF, PNG, SVG, MMD |
| NetworkX | Graph manipulation, D3 export | JSON, PDF, PNG |
| matplotlib/seaborn | Publication charts (IEEE settings) | PDF, PNG, SVG |
| plotly | Interactive Sankey, sunburst, treemap | PDF, PNG, HTML |
| pydeps | Python module dependencies | via Graphviz |
| pyreverse | UML class diagrams | via Graphviz |
| lean4-prove | Formal theorem verification | .lean files |
D3-Style Scientific Visualizations
Advanced visualization types for scientific and engineering papers:
| Graph Type | Engineering Use | Backend |
|---|---|---|
| Sankey diagrams | Energy/mass flow balances, reactor coolant | plotly/matplotlib |
| Heatmaps | Field distributions, neutron flux, temp | seaborn/matplotlib |
| Treemaps | Component breakdown, zone hierarchies | plotly/squarify |
| Sunburst charts | Fault hierarchies, module structure | plotly |
| Force-directed | System topology, P&ID, fault trees | NetworkX |
| Parallel coordinates | Multi-dimensional DOE analysis | pandas/plotly |
| Chord diagrams | Fuel cycle flows, interdependencies | NetworkX |
Control Systems & Engineering Plots
Specialized visualizations for aerospace, nuclear, and control systems:
| Graph Type | Engineering Use | Backend |
|---|---|---|
| Bode plots | Frequency response, stability margins | python-control/scipy |
| Nyquist plots | Stability analysis, gain/phase margins | python-control/scipy |
| Root locus | Pole placement, gain tuning | python-control/scipy |
| Polar plots | Antenna patterns, wind roses | matplotlib |
| Contour plots | Neutron flux, temperature fields, stress | matplotlib |
| Vector fields | Flow fields, gradients, velocity | matplotlib |
| Phase portraits | Dynamical systems, stability regions | matplotlib |
| Radar charts | Multi-attribute comparison | matplotlib |
| Gantt charts | Project scheduling, milestones | matplotlib |
| PERT networks | Critical path analysis | matplotlib/networkx |
GPU/Hardware Performance Visualizations
Specialized visualizations for GPU, CUDA, and hardware performance papers:
| Graph Type | Use Case | Backend |
|---|---|---|
| Roofline plots | Compute vs memory bound analysis, kernel optimization | matplotlib |
| Throughput/Latency | Inference benchmarks, batching analysis | matplotlib |
| Scaling law plots | Parameter/compute/data scaling (Chinchilla-style) | matplotlib |
| Training curves | Multi-run loss/accuracy with std shading | matplotlib |
LLM/ML Visualization Types
Specialized visualizations for machine learning and LLM papers:
| Graph Type | Use Case | Backend |
|---|---|---|
| Confusion matrix | Classification evaluation, error analysis | matplotlib |
| ROC curves | Binary classification, AUC comparison | matplotlib |
| Attention heatmaps | Transformer attention visualization | matplotlib |
| Embedding scatter | t-SNE/UMAP token/document embeddings | sklearn/umap |
| Precision-Recall curves | Multi-class classification metrics | matplotlib |
| Feature importance | Model interpretability, XGBoost/RF | matplotlib |
| Calibration plots | Probability calibration (reliability) | matplotlib |
Biology/Bioinformatics Visualizations
Specialized visualizations for biological and medical research:
| Graph Type | Use Case | Backend |
|---|---|---|
| Violin plots | Gene expression, distribution comparison | matplotlib |
| Volcano plots | Differential expression, fold change | matplotlib |
| Survival curves | Kaplan-Meier, clinical outcomes | matplotlib |
| Manhattan plots | GWAS, genome-wide association | matplotlib |
Commands
deps
- Dependency Graph
depsGenerate dependency graph from Python project.
./run.sh deps --project /path/to/package --output deps.pdf ./run.sh deps -p ./src -o deps.svg --backend mermaid --depth 3 ./run.sh deps -p ./src -o deps.json --backend networkx --format json
Options:
: Path to Python package/module (required)--project, -p
: Output file (default: dependencies.pdf)--output, -o
: Output format (pdf, png, svg, dot, json)--format, -f
: Maximum dependency depth (default: 2)--depth, -d
: graphviz, mermaid, networkx--backend, -b
uml
- UML Class Diagram
umlGenerate UML class diagram using pyreverse.
./run.sh uml --project ./src --output classes.pdf
Requires:
pip install pylint
architecture
- Architecture Diagram
architectureGenerate architecture diagram from project or /assess JSON.
./run.sh architecture --project ./assess_output.json --output arch.pdf ./run.sh architecture -p /path/to/project -o arch.svg --backend mermaid
metrics
- Metrics Chart
metricsGenerate publication-quality metrics chart with IEEE styling.
./run.sh metrics --input data.json --output metrics.pdf --type bar ./run.sh metrics -i data.json -o chart.pdf --type pie --title "Issue Distribution"
Chart types:
bar, hbar, pie, line
Input formats:
// Simple dict {"Feature A": 42, "Feature B": 28} // With "metrics" key {"metrics": {"LOC": 1500, "Functions": 45}} // List format [{"name": "A", "value": 10}, {"name": "B", "value": 20}]
table
- LaTeX Table
tableGenerate LaTeX table with proper escaping.
./run.sh table --input features.json --output table.tex --caption "Feature Comparison"
workflow
- Workflow Diagram
workflowGenerate workflow/pipeline diagram with quality gates.
./run.sh workflow --stages "Scope,Analysis,Search,Learn,Draft" --output workflow.pdf ./run.sh workflow -s "A,B,C,D" -o flow.svg --no-gates --backend graphviz
theorem
- Formal Verification
theoremGenerate formally verified theorem from requirement (uses lean4-prove).
./run.sh theorem --requirement "All inputs must be validated" --name input_validation --output theorem.lean
sankey
- Sankey Diagram
sankeyGenerate Sankey diagram for energy/mass flow balances.
./run.sh sankey --input flows.json --output sankey.pdf --title "Reactor Coolant Flow"
Input format:
[{"source": "Primary", "target": "Heat Exchanger", "value": 1000}]
heatmap
- Heatmap
heatmapGenerate heatmap for field distributions or correlation matrices.
./run.sh heatmap --input matrix.json --output flux.pdf --cmap plasma --title "Neutron Flux"
treemap
- Treemap
treemapGenerate treemap for hierarchical size data.
./run.sh treemap --input sizes.json --output breakdown.pdf
sunburst
- Sunburst Chart
sunburstGenerate sunburst chart for hierarchical fault trees.
./run.sh sunburst --input hierarchy.json --output faults.pdf
force-graph
- Force-Directed Graph
force-graphGenerate force-directed graph for system topology.
./run.sh force-graph --input network.json --output topology.pdf
parallel-coords
- Parallel Coordinates
parallel-coordsGenerate parallel coordinates for multi-dimensional DOE analysis.
./run.sh parallel-coords --input experiments.json --output doe.pdf --color-by efficiency
radar
- Radar Chart
radarGenerate radar/spider chart for multi-attribute comparison.
./run.sh radar --input attributes.json --output comparison.pdf
Input format:
{"Design A": {"Safety": 8, "Cost": 6, "Efficiency": 9}, "Design B": {"Safety": 9, "Cost": 4, "Efficiency": 7}}
bode
- Bode Plot
bodeGenerate Bode plot for control systems frequency response.
./run.sh bode --num 1,2 --den 1,3,2 --output bode.pdf --freq-min 0.01 --freq-max 100
nyquist
- Nyquist Plot
nyquistGenerate Nyquist plot for stability analysis.
./run.sh nyquist --num 1,2 --den 1,3,2,0 --output nyquist.pdf
rootlocus
- Root Locus
rootlocusGenerate root locus for control system gain analysis.
./run.sh rootlocus --num 1 --den 1,5,6 --output rootlocus.pdf
polar
- Polar Plot
polarGenerate polar plot for directional data (antenna patterns, wind roses).
./run.sh polar --input pattern.json --output antenna.pdf
contour
- Contour Plot
contourGenerate contour plot for field distributions (flux, temperature, stress).
./run.sh contour --input field.json --output flux.pdf --cmap plasma --levels 30
Input format:
{"x": [0, 1, 2], "y": [0, 1, 2], "z": [[0,1,2],[1,2,3],[2,3,4]]}
gantt
- Gantt Chart
ganttGenerate Gantt chart for project scheduling.
./run.sh gantt --input schedule.json --output timeline.pdf
Input format:
[{"task": "Design", "start": 0, "end": 5, "progress": 100}]
pert
- PERT Network
pertGenerate PERT network diagram for critical path analysis.
./run.sh pert --input network.json --output cpm.pdf
vector-field
- Vector Field
vector-fieldGenerate vector field for flow visualization.
./run.sh vector-field --input flow.json --output velocity.pdf --streamlines
phase-portrait
- Phase Portrait
phase-portraitGenerate phase portrait for dynamical systems.
./run.sh phase-portrait --equations "dx = y; dy = -x - 0.5*y" --output damped.pdf
roofline
- Roofline Plot
rooflineGenerate roofline plot for GPU/hardware performance analysis.
./run.sh roofline --input kernels.json --output roofline.pdf
Input format:
{"peak_flops": 19.5e12, "peak_bandwidth": 900e9, "kernels": [{"name": "GEMM", "flops": 1e12, "bytes": 1e9}]}
scaling-law
- Scaling Law Plot
scaling-lawGenerate log-log scaling law plot (common in LLM papers).
./run.sh scaling-law --input params_vs_loss.json --output scaling.pdf --fit
confusion-matrix
- Confusion Matrix
confusion-matrixGenerate confusion matrix for classification results.
./run.sh confusion-matrix --input results.json --output confusion.pdf --normalize
roc-curve
- ROC Curve
roc-curveGenerate ROC curve with AUC for binary classification.
./run.sh roc-curve --input roc_data.json --output roc.pdf
training-curves
- Training Curves
training-curvesGenerate multi-run training curves with std shading.
./run.sh training-curves --input runs.json --output loss.pdf --log-y
attention-heatmap
- Attention Heatmap
attention-heatmapGenerate transformer attention visualization.
./run.sh attention-heatmap --input attention.json --output attn.pdf
embedding-scatter
- Embedding Scatter
embedding-scatterGenerate t-SNE or UMAP visualization of embeddings.
./run.sh embedding-scatter --input embeddings.json --output tsne.pdf --method tsne
throughput-latency
- Throughput vs Latency
throughput-latencyGenerate throughput vs latency plot for inference benchmarks.
./run.sh throughput-latency --input benchmarks.json --output perf.pdf
pr-curve
- Precision-Recall Curve
pr-curveGenerate Precision-Recall curve for classification.
./run.sh pr-curve --input pr_data.json --output pr.pdf
violin
- Violin Plot
violinGenerate violin plot for distribution comparison.
./run.sh violin --input expression.json --output violin.pdf --y-label "Expression"
volcano
- Volcano Plot
volcanoGenerate volcano plot for differential expression analysis.
./run.sh volcano --input deseq.json --output volcano.pdf --fc 1.5 --pval 0.01
survival-curve
- Kaplan-Meier Survival Curve
survival-curveGenerate Kaplan-Meier survival curve.
./run.sh survival-curve --input survival.json --output km.pdf
manhattan
- Manhattan Plot
manhattanGenerate Manhattan plot for GWAS results.
./run.sh manhattan --input gwas.json --output manhattan.pdf
feature-importance
- Feature Importance
feature-importanceGenerate feature importance bar chart.
./run.sh feature-importance --input importance.json --output features.pdf --top-n 15
calibration
- Calibration Plot
calibrationGenerate calibration plot (reliability diagram).
./run.sh calibration --input calibration.json --output calib.pdf
from-assess
- Generate All Figures
from-assessGenerate all figures from /assess output in one command.
./run.sh from-assess --input assess_output.json --output-dir ./figures/
Generates:
- System architecture diagramarchitecture.pdf
- Module dependency graphdependencies.pdf
- Feature distribution chartfeatures.pdf
- Issue severity pie chartissues.pdf
- Feature comparison tablecomparison.tex
- Test coverage tabletest_coverage.tex
check
- Backend Status
checkCheck which backends are available.
./run.sh check
Publication Quality Settings
matplotlib figures use IEEE publication settings:
- Font: 8pt Times New Roman (serif)
- DPI: 600 for saving, 300 for display
- Column widths: Single (3.5"), Double (7.16")
- TrueType fonts for Illustrator compatibility
Integration with paper-writer
from pathlib import Path import subprocess def generate_figures(assess_json: Path, output_dir: Path): subprocess.run([ str(FIXTURE_GRAPH_SCRIPT), "from-assess", "--input", str(assess_json), "--output-dir", str(output_dir), ])
Dependencies
Required:
- Python 3.10+
- typer
- numpy
Optional (enables features):
| Package | Features Enabled |
|---|---|
| matplotlib | All charts, plots, diagrams |
| seaborn | Heatmaps, publication styling |
| plotly | Sankey, sunburst, treemap, interactive |
| networkx | Force-directed graphs, PERT |
| pandas | Parallel coordinates |
| squarify | Treemaps (matplotlib fallback) |
| scipy | Bode/Nyquist fallback, contours |
| control | Bode, Nyquist, root locus |
| sklearn | t-SNE for embedding scatter |
| umap-learn | UMAP for embedding scatter |
| graphviz | Dependency/architecture diagrams |
| pydeps | Python module dependencies |
| pylint | UML via pyreverse |
System dependencies:
- graphviz (
) - Graphviz renderingapt install graphviz - mermaid-cli (
) - Mermaid backendnpm install -g @mermaid-js/mermaid-cli - lean4-prove skill - Formal theorem verification
Installation
# Core pip install typer numpy matplotlib # Full installation (all features) pip install typer numpy matplotlib seaborn plotly networkx pandas squarify scipy control pydeps pylint # Control systems only pip install typer numpy matplotlib scipy control # System dependencies apt install graphviz # Debian/Ubuntu npm install -g @mermaid-js/mermaid-cli
Sanity Check
./sanity.sh
Verifies:
- Python dependencies available
- CLI loads correctly
- Basic diagram generation works
- Tests pass
Research Sources
This skill's design is informed by:
- pydeps - Python module dependency visualization
- matplotlib for papers - Publication-quality figures
- Mermaid vs Graphviz - Diagram-as-code comparison
- NetworkX + D3 - Interactive graph visualization
- OverViz - AI architecture diagram generation