Agent skill
cardiology-visual-system
Unified visual content system for cardiology thought leadership. Automatically routes requests to the optimal tool—Fal.ai for blog imagery, Gemini for infographics, Mermaid for flowcharts/pathways, Marp for slides, Plotly for data visualization. One skill handles all visual needs within Claude Code.
Install this agent skill to your Project
npx add-skill https://github.com/drshailesh88/integrated_content_OS/tree/main/skills/cardiology/cardiology-visual-system
SKILL.md
Cardiology Visual System
A unified meta-skill that intelligently routes visual content requests to the optimal tool. No more switching between Napkin.ai, NotebookLM, or other subscriptions—everything happens in Claude Code.
Quick Reference: What Tool Does What
| You Ask For | Tool Used | Output |
|---|---|---|
| Blog header, lifestyle photo, patient scenario | Fal.ai | PNG image |
| Infographic, explainer graphic, medical illustration | Gemini | PNG/JPG image |
| Flowchart, treatment algorithm, clinical pathway | Mermaid | SVG/PNG diagram |
| Slide deck, presentation | Marp | PPTX/PDF/HTML slides |
| Data chart, trial results, trends over time | Plotly | Interactive HTML or PNG |
| Interactive explainer, dashboard | React Artifact | Interactive HTML |
| Quick visualization prototype, exploratory data viz | LIDA ⚠️ | PNG + Code (prototype only) |
Automatic Routing Logic
When you ask for visuals, I determine the best tool by analyzing your request:
→ Route to Fal.ai (Stock/Human Imagery)
Keywords: blog image, header, hero image, lifestyle, patient photo, stock, person, family, emotional, scenario
Best for:
- Blog post headers
- Patient experience illustrations
- Lifestyle/wellness imagery
- Emotional/human-centered scenes
- Recovery and hope imagery
NOT for: Medical devices, ECGs, diagrams, data, or text-heavy content
→ Route to Gemini (Infographics & Medical Illustrations)
Keywords: infographic, explainer, illustration, visual summary, concept diagram, icons, steps, process visual, simplified, educational graphic
Best for:
- Infographics (like Napkin.ai produces)
- Medical concept illustrations
- Simplified explainer graphics
- Educational visuals with icons
- Text-in-image content
- Visual summaries of articles
→ Route to Mermaid (Diagrams & Flowcharts)
Keywords: flowchart, algorithm, pathway, decision tree, sequence, timeline, process flow, treatment algorithm, diagnostic pathway, workflow
Best for:
- Clinical decision trees
- Treatment algorithms
- Diagnostic pathways
- Process workflows
- Organizational charts
- Sequence diagrams
- Gantt charts for timelines
→ Route to Marp (Slide Decks)
Keywords: slides, presentation, deck, powerpoint, lecture, talk, keynote
Best for:
- Conference presentations
- Educational lectures
- Patient education slides
- Grand rounds presentations
- CME content
→ Route to Plotly (Data Visualization)
Keywords: chart, graph, plot, data, statistics, trial results, forest plot, trends, comparison, survival curve, Kaplan-Meier, bar chart, line graph, scatter
Best for:
- Clinical trial results
- Statistical comparisons
- Trends over time
- Forest plots
- Survival curves
- Before/after data
- Multi-study comparisons
→ Route to React Artifact (Interactive)
Keywords: interactive, dashboard, calculator, tool, widget, animated, explorable
Best for:
- Risk calculators
- Interactive explainers
- Animated diagrams
- Patient education tools
- Explorable explanations
→ Route to LIDA (Quick Prototyping) ⚠️ PROTOTYPING ONLY
Keywords: quick, prototype, exploratory, rough draft, multiple options, try, experiment, brainstorm visualization
⚠️ CRITICAL LIMITATIONS:
- PROTOTYPING ONLY - NOT for publication or patient-facing materials
- Quality varies - ALWAYS review for medical accuracy
- Works best with ≤10 data columns
- No specialized medical charts (true forest plots, Kaplan-Meier)
- Requires manual validation before ANY use
Best for:
- Quick exploratory data visualization ("what does this data show?")
- Generating multiple visualization candidates
- Brainstorming chart types for new data
- Internal research review only
NOT for:
- Publication-ready charts → Use Plotly instead
- Patient-facing materials → Use production tools
- Regulatory submissions → Never
- Final blog posts → Use Plotly or Gemini
When in doubt, use Plotly for data visualization instead of LIDA.
Tool 1: Fal.ai (Blog Imagery)
Setup
export FAL_KEY="your-fal-api-key"
# Get key from: https://fal.ai/dashboard/keys
Usage
python scripts/fal_image.py "A 55-year-old man experiencing chest pain at work" --output hero.png
Models
| Model | Cost | Best For |
|---|---|---|
fal-ai/recraft-v3 |
$0.04 | Default - Best quality |
fal-ai/flux-pro/v1.1 |
$0.04 | Photorealism |
fal-ai/flux/schnell |
$0.003 | Fast/cheap drafts |
What to Generate vs Not Generate
✅ GENERATE:
- Patient symptoms/experiences (chest pain, shortness of breath)
- Lifestyle scenes (exercise, healthy cooking)
- Doctor-patient conversations
- Family support moments
- Recovery celebrations
❌ DO NOT GENERATE:
- Medical devices (pacemakers, stents, valves)
- Clinical imagery (ECGs, angiograms, OR scenes)
- Anatomical diagrams
- Medications
Tool 2: Gemini (Infographics)
Setup
export GEMINI_API_KEY="your-gemini-api-key"
Usage
python scripts/gemini_infographic.py \
--topic "Heart Failure Stages" \
--style "minimalist medical" \
--output hf_stages.jpg
Prompting for Medical Infographics
Structure your prompt:
Create a [STYLE] infographic showing [TOPIC].
Include:
- [Key point 1]
- [Key point 2]
- [Key point 3]
Style: [clean/minimalist/modern medical], use icons, clear hierarchy,
professional color palette (blues, teals for medical), easy to read text
Example prompts:
-
Disease Progression:
"Create a minimalist medical infographic showing the 4 stages of heart failure (A, B, C, D). Use icons for each stage, show progression with arrows, include brief descriptions. Clean layout, medical blue color scheme."
-
Treatment Comparison:
"Create an infographic comparing medication vs intervention for AFib. Two columns, icons for each approach, bullet points for pros/cons. Modern medical style."
-
Risk Factor Summary:
"Create a visual summary of 7 modifiable risk factors for heart disease. Icon for each factor, clean grid layout, actionable tips. Professional medical illustration style."
Tool 3: Mermaid (Diagrams)
You have Mermaid Chart MCP connected. Use it for structured diagrams.
Common Cardiology Diagram Types
1. Treatment Algorithm:
flowchart TD
A[Acute Chest Pain] --> B{STEMI?}
B -->|Yes| C[Primary PCI < 90 min]
B -->|No| D{High-risk NSTEMI?}
D -->|Yes| E[Early invasive < 24h]
D -->|No| F[Ischemia-guided strategy]
2. Clinical Pathway:
flowchart LR
A[Diagnosis] --> B[Risk Stratification]
B --> C[Treatment Selection]
C --> D[Follow-up Protocol]
3. Diagnostic Decision Tree:
flowchart TD
A[Dyspnea] --> B{BNP elevated?}
B -->|Yes| C{Echo findings?}
B -->|No| D[Consider other causes]
C -->|HFrEF| E[GDMT initiation]
C -->|HFpEF| F[Diuretics + address comorbidities]
4. Timeline (Gantt):
gantt
title Post-MI Care Timeline
dateFormat YYYY-MM-DD
section Acute
Hospital stay :a1, 2024-01-01, 5d
section Recovery
Cardiac rehab :a2, after a1, 12w
section Long-term
Medication titration :a3, after a1, 6m
Tool 4: Marp (Slides)
Setup
npm install -g @marp-team/marp-cli
Usage
- I write Markdown with Marp syntax
- Save as
presentation.md - Convert:
marp presentation.md --pptx # PowerPoint
marp presentation.md --pdf # PDF
marp presentation.md -o slides.html # HTML
Marp Template for Medical Slides
---
marp: true
theme: default
paginate: true
backgroundColor: #ffffff
color: #333333
---
# Heart Failure Management
## Modern Approaches in 2024
Dr. [Your Name]
Interventional Cardiology
---
# Agenda
1. Current Guidelines
2. New Therapies
3. Case Discussion
---
# Key Statistics
- 6.7 million Americans with HF
- 50% mortality at 5 years
- $30.7 billion annual cost

---
# Treatment Algorithm
```mermaid
flowchart TD
A[HFrEF Diagnosis] --> B[GDMT Initiation]
B --> C[Titrate to target doses]
Take-Home Points
- Early initiation matters
- Quadruple therapy is standard
- Device therapy in appropriate patients
Questions?
Contact: your@email.com
---
## Tool 5: Plotly (Data Visualization)
### Setup
```bash
pip install plotly kaleido pandas --break-system-packages
Common Medical Visualizations
1. Bar Chart (Trial Results):
import plotly.express as px
data = {
'Treatment': ['Drug A', 'Drug B', 'Placebo'],
'Event Rate (%)': [12.3, 15.1, 18.7]
}
fig = px.bar(data, x='Treatment', y='Event Rate (%)',
title='Primary Endpoint: Major Cardiovascular Events',
color='Treatment')
fig.write_html('trial_results.html')
fig.write_image('trial_results.png')
2. Forest Plot Style:
import plotly.graph_objects as go
studies = ['PARADIGM-HF', 'DAPA-HF', 'EMPEROR-Reduced']
hr = [0.80, 0.74, 0.75]
lower = [0.73, 0.65, 0.65]
upper = [0.87, 0.85, 0.86]
fig = go.Figure()
for i, study in enumerate(studies):
fig.add_trace(go.Scatter(
x=[lower[i], upper[i]], y=[study, study],
mode='lines', line=dict(color='gray', width=2)
))
fig.add_trace(go.Scatter(
x=[hr[i]], y=[study],
mode='markers', marker=dict(size=12, color='navy')
))
fig.add_vline(x=1.0, line_dash="dash", line_color="red")
fig.update_layout(title='Hazard Ratios for Heart Failure Trials',
xaxis_title='Hazard Ratio (95% CI)')
3. Trend Over Time:
import plotly.express as px
fig = px.line(df, x='Year', y='Mortality Rate',
color='Treatment Era',
title='Heart Failure Mortality Trends 1990-2024')
fig.write_html('trends.html')
Tool 6: LIDA (Quick Prototyping) ⚠️ PROTOTYPING ONLY
⚠️ Critical Warning
LIDA is a PROTOTYPING TOOL ONLY. Do NOT use for:
- Publication-ready visualizations
- Patient-facing materials
- Regulatory submissions
- Final blog posts or social media
For production visualizations, use:
- Plotly (data charts)
- Gemini (infographics)
- Fal.ai (images)
Setup
# Install LIDA
pip install lida llmx openai --break-system-packages
# Set API key (choose one)
export OPENAI_API_KEY="your-key" # Recommended
export GOOGLE_API_KEY="your-key" # Free tier (Gemini)
export ANTHROPIC_API_KEY="your-key" # Claude
What LIDA Does
LIDA (Automatic Visualization Generation) uses LLMs to:
- Analyze your data structure
- Generate visualization code from natural language
- Create multiple visualization candidates
- Support multiple libraries (Plotly, Matplotlib, Seaborn, Altair)
Published: ACL 2023 (Microsoft Research)
Limitations
- ≤10 columns recommended - LLM context constraints
- Quality varies - AI-generated, needs review
- No specialized medical charts - No true forest plots, Kaplan-Meier
- Error rate: <3.5% reported, but ALWAYS verify medical accuracy
- Not production-ready - Use for exploration only
Usage
Basic Usage:
python scripts/lida_quick_viz.py "Show mortality by treatment group" trial_data.csv
Multiple Candidates:
python scripts/lida_quick_viz.py "Compare outcomes" data.csv --candidates 3
Use Medical Template:
python scripts/lida_quick_viz.py "Trial results" data.csv --template trial_comparison
Specify Library:
python scripts/lida_quick_viz.py "Trends over time" data.csv --library plotly
Interactive Mode:
python scripts/lida_quick_viz.py --interactive data.csv
List Templates:
python scripts/lida_quick_viz.py --list-templates
Medical Templates
| Template | Description | Use Case |
|---|---|---|
trial_comparison |
Compare treatment arms | Primary endpoint results |
patient_demographics |
Baseline characteristics | Patient population summary |
outcome_comparison |
Primary/secondary endpoints | Multiple outcomes comparison |
trend_analysis |
Trends over time | Longitudinal data |
survival_curve |
Time-to-event (simplified) | Event-free survival (NOT true KM) |
Example Workflow
1. Exploratory Analysis (LIDA):
# Quick exploration of new trial data
python scripts/lida_quick_viz.py \
"Show primary endpoint by treatment arm with confidence intervals" \
trial_results.csv \
--template trial_comparison \
--candidates 3
2. Review Candidates:
- Check medical accuracy
- Verify data interpretation
- Select best approach
3. Production Version (Plotly):
# Recreate selected visualization in production quality
python scripts/plotly_charts.py bar --data trial_results.csv --output final_chart.png
Quality Validation Checklist
Every LIDA output includes this checklist:
⚠️ QUALITY VALIDATION CHECKLIST - REVIEW BEFORE USE
Medical Accuracy:
[ ] Data interpretation is correct
[ ] Statistical measures are appropriate
[ ] Confidence intervals/error bars are correct
[ ] P-values and significance are accurate
[ ] Sample sizes are represented correctly
Visual Design:
[ ] Chart type is appropriate
[ ] Color scheme is professional
[ ] Labels are clear and complete
[ ] Legend is accurate
[ ] Title describes the content
Medical Standards:
[ ] Follows publication standards
[ ] No misleading visualizations
[ ] Appropriate precision
[ ] Context is provided
[ ] Source attribution if needed
When to Use LIDA vs Plotly
| Scenario | Tool | Reason |
|---|---|---|
| "What's the best way to show this data?" | LIDA | Exploration, multiple options |
| "Show me trial results quickly" | LIDA | Speed over perfection |
| "Generate 3 chart options" | LIDA | Multiple candidates |
| "Publication-ready chart" | Plotly | Production quality |
| "Blog post visualization" | Plotly | Final output |
| "Patient education" | Plotly | Accuracy critical |
| "Regulatory submission" | Plotly | Never use LIDA |
Cost
| Model | Cost | Speed | Quality |
|---|---|---|---|
| OpenAI (GPT-4o-mini) | $0.60/M tokens | Fast | Good |
| Gemini (Free tier) | FREE | Fast | Good |
| Claude (Sonnet) | Variable | Medium | Excellent |
Typical cost per visualization: $0.01-0.05 (negligible)
Example: Interactive Session
python scripts/lida_quick_viz.py --interactive trial_data.csv
# In interactive mode:
> list # Show templates
> template trial_comparison # Set template
> library plotly # Set library
> viz Show mortality by treatment # Generate viz
> viz Compare age distribution # Another viz
> quit
Output Structure
lida_output/
├── candidate_1_code.py # Generated Python code
├── candidate_1.png # Rendered visualization
├── candidate_2_code.py
├── candidate_2.png
└── ...
Integrated Workflow Example
Scenario: You're writing a blog post about heart failure medications.
Step 1: Hero Image (Fal.ai)
python scripts/fal_image.py \
"Elderly patient having hopeful conversation with cardiologist about new treatment options" \
--output images/hero.png
Step 2: Treatment Algorithm (Mermaid)
Create a Mermaid flowchart showing HFrEF GDMT initiation:
- Start with diagnosis
- Branch to ARNI/ACEi + Beta-blocker
- Add SGLT2i + MRA
- Device consideration
Step 3: Trial Data (Plotly)
# Compare mortality reduction across trials
trials_df = pd.DataFrame({
'Trial': ['PARADIGM-HF', 'DAPA-HF', 'EMPEROR-Reduced'],
'Mortality Reduction': [20, 17, 14]
})
fig = px.bar(trials_df, x='Trial', y='Mortality Reduction',
title='Mortality Reduction in Landmark HF Trials (%)')
Step 4: Key Concepts Infographic (Gemini)
Create a clean medical infographic summarizing the "4 Pillars of HFrEF Therapy":
1. ARNI/ACEi - heart icon
2. Beta-blocker - heart rate icon
3. MRA - kidney/electrolyte icon
4. SGLT2i - glucose/kidney icon
Style: modern medical, blue color scheme, minimal text, icon-focused
API Key Checklist
Before using this system, ensure these are set:
# Fal.ai (blog images)
export FAL_KEY="your-key"
# Gemini (infographics)
export GEMINI_API_KEY="your-key"
# LIDA (prototyping) - choose one
export OPENAI_API_KEY="your-key" # Recommended
export GOOGLE_API_KEY="your-key" # FREE (Gemini)
export ANTHROPIC_API_KEY="your-key" # Claude
# Mermaid - uses MCP, no key needed
# Plotly - local, no key needed
# Marp - local, no key needed
Cost Summary
| Tool | Cost | Typical Use |
|---|---|---|
| Fal.ai (Recraft) | $0.04/image | 3-4 per blog = $0.16 |
| Gemini | Free tier available | Infographics |
| LIDA (prototyping) | $0.01-0.05/viz | Quick exploration (optional) |
| Mermaid | Free (MCP) | Diagrams |
| Plotly | Free | Data viz |
| Marp | Free | Slides |
Total per blog post: ~$0.16-0.25 (vs separate subscriptions)
Note: LIDA is optional - use FREE Gemini model for zero-cost prototyping
Files in This Skill
cardiology-visual-system/
├── SKILL.md # This file
├── scripts/
│ ├── fal_image.py # Fal.ai image generation
│ ├── gemini_infographic.py # Gemini infographic generation
│ ├── plotly_charts.py # Common chart templates
│ ├── lida_quick_viz.py # LIDA prototyping (⚠️ prototype only)
│ └── convert_slides.sh # Marp conversion helper
├── templates/
│ ├── marp_medical.md # Medical slide template
│ └── plotly_medical.py # Medical chart templates
└── references/
└── prompt_examples.md # Curated prompts for each tool
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pufferlib
This skill should be used when working with reinforcement learning tasks including high-performance RL training, custom environment development, vectorized parallel simulation, multi-agent systems, or integration with existing RL environments (Gymnasium, PettingZoo, Atari, Procgen, etc.). Use this skill for implementing PPO training, creating PufferEnv environments, optimizing RL performance, or developing policies with CNNs/LSTMs.
fluidsim
Framework for computational fluid dynamics simulations using Python. Use when running fluid dynamics simulations including Navier-Stokes equations (2D/3D), shallow water equations, stratified flows, or when analyzing turbulence, vortex dynamics, or geophysical flows. Provides pseudospectral methods with FFT, HPC support, and comprehensive output analysis.
metabolomics-workbench-database
Access NIH Metabolomics Workbench via REST API (4,200+ studies). Query metabolites, RefMet nomenclature, MS/NMR data, m/z searches, study metadata, for metabolomics and biomarker discovery.
geniml
This skill should be used when working with genomic interval data (BED files) for machine learning tasks. Use for training region embeddings (Region2Vec, BEDspace), single-cell ATAC-seq analysis (scEmbed), building consensus peaks (universes), or any ML-based analysis of genomic regions. Applies to BED file collections, scATAC-seq data, chromatin accessibility datasets, and region-based genomic feature learning.
zinc-database
Access ZINC (230M+ purchasable compounds). Search by ZINC ID/SMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.
astropy
Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.
Didn't find tool you were looking for?