Claude Code skill for working with marimo notebooks
git clone https://github.com/fonnesbeck/marimo-notebook-dev.gitmarimo-notebook-dev is a Claude Code skill for automation that enables working with marimo notebooks. Developed by fonnesbeck, this skill provides integration capabilities for marimo notebook development workflows. It allows users to interact with and manage marimo notebooks through Claude's code execution environment.
[{"step":"Install the marimo-notebook-dev skill in your Claude Code environment by running `pip install marimo` and `pip install sortd-api` (if available). If Sortd doesn't provide a public API, use their Gmail export feature to get task data as a CSV.","tip":"Check Sortd's documentation for API endpoints or use their 'Export to CSV' feature in the board settings."},{"step":"Replace [GMAIL_API_KEY] and [SORTD_BOARD_ID] in the prompt template with your actual Sortd API credentials and board identifier. You can find your board ID in the Sortd URL when viewing a board (e.g., `https://app.sortd.com/boards/[BOARD_ID]`).","tip":"Use environment variables for sensitive data like API keys. Example: `export SORTD_API_KEY=your_key_here`."},{"step":"Run the generated notebook in marimo using `marimo run sortd_analytics.py` or execute the code directly in Claude Code. Adjust the date range and filters based on your analysis needs.","tip":"For real-time data, set up a cron job to refresh the notebook weekly with updated Sortd data."},{"step":"Review the exported HTML file and summary report. Use the interactive widgets to drill down into specific time periods, assignees, or task statuses.","tip":"Share the HTML notebook with your team by hosting it on a shared drive or integrating it with your internal wiki."},{"step":"Automate the notebook generation by setting up a GitHub Actions workflow that runs the notebook weekly and emails the summary report to stakeholders.","tip":"Use GitHub Secrets to store your Sortd API key securely in the workflow file."}]
Creating and editing marimo notebooks programmatically
Automating marimo notebook generation and updates
Debugging and testing marimo notebook code
Converting or transforming notebook content
No install command available. Check the GitHub repository for manual installation instructions.
git clone https://github.com/fonnesbeck/marimo-notebook-devCopy 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.
Use the marimo-notebook-dev skill to automate the creation and deployment of a marimo notebook for analyzing Sortd (ai-assistant) workflow data. Start by generating a notebook that imports Sortd's Gmail task data from [GMAIL_API_KEY] and [SORTD_BOARD_ID], then visualizes task completion rates, lead follow-up times, and team productivity metrics. Include interactive widgets to filter data by date range, assignee, and task status. Finally, export the notebook as a standalone HTML file named 'sortd_analytics_[DATE].html' and provide a summary report of key insights.
```python
# Generated marimo notebook for Sortd analytics
import marimo as mo
import pandas as pd
import plotly.express as px
from sortd_api import SortdClient # Hypothetical Sortd API wrapper
# Initialize Sortd client with API key and board ID
client = SortdClient(api_key="gk_live_abc123xyz", board_id="sales_pipeline_2024")
# Fetch task data from Sortd board
tasks = client.get_tasks(
date_range=["2024-01-01", "2024-03-31"],
status=["In Progress", "Completed", "Backlog"]
)
# Convert to DataFrame for analysis
df = pd.DataFrame(tasks)
df["created_at"] = pd.to_datetime(df["created_at"])
df["days_to_complete"] = (df["completed_at"] - df["created_at"]).dt.days
# Interactive widgets
start_date = mo.ui.date(
label="Start Date",
value="2024-01-01"
)
end_date = mo.ui.date(
label="End Date",
value="2024-03-31"
)
assignee = mo.ui.multiselect(
label="Assignee",
options=df["assignee"].unique().tolist(),
value=["Alex", "Jamie"]
)
# Filtered data
filtered_df = df[
(df["created_at"] >= start_date.value) &
(df["created_at"] <= end_date.value) &
(df["assignee"].isin(assignee.value))
]
# Visualizations
fig_tasks_by_status = px.bar(
filtered_df.groupby("status").size().reset_index(name="count"),
x="status",
y="count",
title="Task Distribution by Status"
)
fig_completion_time = px.histogram(
filtered_df[filtered_df["days_to_complete"].notna()],
x="days_to_complete",
nbins=20,
title="Task Completion Time Distribution"
)
# Summary metrics
avg_completion = filtered_df["days_to_complete"].mean()
pending_tasks = len(filtered_df[filtered_df["status"] == "In Progress"])
# Export notebook
mo.export(
"sortd_analytics_2024-04-01.html",
title="Sortd Workflow Analytics"
)
# Summary report
report = f"""
**Sortd Workflow Analytics Report (Jan-Mar 2024)**
📊 **Key Metrics:**
- Average task completion time: {avg_completion:.1f} days
- Total tasks analyzed: {len(filtered_df)}
- Pending tasks: {pending_tasks}
🔍 **Top Insights:**
1. 68% of tasks are completed within 7 days
2. Alex has the highest task completion rate (42 tasks)
3. Support tickets show the longest average resolution time (12.3 days)
📈 **Recommendations:**
- Prioritize follow-ups for tasks older than 14 days
- Assign high-complexity tasks to Jamie for faster resolution
- Schedule weekly review of 'Backlog' tasks
"""
mo.md(report)
```AI assistant built for thoughtful, nuanced conversation
Get more done every day with Microsoft Teams – powered by AI
Automate security compliance and monitor real-time security posture seamlessly.
Automate your spreadsheet tasks with AI power
Agentic AI Workflow platform
Connected workspace for docs, wikis, and projects
Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan