marimo is an open-source reactive Python notebook that allows users to create reproducible, interactive, and shareable Python programs. It serves as a modern alternative to traditional Jupyter notebooks, focused on enhancing collaboration and execution.
$ npx skills add https://github.com/maragudk/skills --skill marimomarimo is an open-source reactive Python notebook designed as a modern alternative to Jupyter, with automatic dependency tracking and Git-friendly .py file storage instead of JSON. It executes reactively like a spreadsheet, determining cell order by variable dependencies rather than position, preventing bugs through its declarative design. Notebooks run as read-only scripts, interactive apps, or static WASM-based web applications without requiring a server. marimo includes built-in UI elements (sliders, tables, forms), SQL query support, plotting integration, and state management for interactive dashboards. It's ideal for data analysts, researchers, and developers building reproducible Python programs that collaborate well with version control and CI/CD workflows.
Install using pip or the provided npx command to add it as a skill.
Creating interactive data analysis tools
Reproducing scientific experiments with Python
Deploying Python scripts as web applications
Collaborating on Python projects with version control
$ npx skills add https://github.com/maragudk/skills --skill marimogit clone https://github.com/maragudk/skillsCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
Create a reactive Python notebook using marimo for [COMPANY]'s [INDUSTRY] data analysis. Use [DATA] to build an interactive dashboard that updates in real-time when inputs change. Include widgets for filtering, visualization, and summary statistics. Ensure the notebook is reproducible and shareable as a standalone HTML file.
```python
# marimo notebook for Sales Performance Analysis
# Generated by AI assistant
import marimo
__generated_with = "0.8.15"
app = marimo.App(width="medium")
@app.cell
def _():
import pandas as pd
import marimo as mo
import altair as alt
# Load sample sales data
sales_data = pd.DataFrame({
'date': pd.date_range(start='2024-01-01', periods=100),
'product': ['A', 'B', 'C'] * 33 + ['A'],
'region': ['North', 'South', 'East', 'West'] * 25,
'revenue': [1000 + i*10 for i in range(100)],
'units': [50 + i for i in range(100)]
})
return sales_data, mo.md("# Sales Performance Dashboard")
@app.cell
def _(sales_data):
region_filter = mo.ui.multiselect(
options=sales_data['region'].unique().tolist(),
value=['North', 'South'],
label="Select Regions"
)
return region_filter
@app.cell
def _(sales_data, region_filter):
filtered_data = sales_data[sales_data['region'].isin(region_filter.value)]
return filtered_data
@app.cell
def _(filtered_data):
chart = alt.Chart(filtered_data).mark_line().encode(
x='date:T',
y='sum(revenue):Q',
color='region:N'
).properties(width=600, height=300)
return chart
@app.cell
def _(filtered_data):
summary = filtered_data.groupby('product').agg({
'revenue': 'sum',
'units': 'sum'
}).reset_index()
return summary
if __name__ == "__main__":
app.run()
```
### Interactive Features:
- **Region Selector**: Choose which regions to display in the dashboard
- **Real-time Updates**: All visualizations update automatically when filters change
- **Summary Statistics**: Product performance metrics automatically calculated
**Note**: This notebook can be shared as a standalone HTML file that maintains all interactive functionality.Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan