agentsclimarketplace

Marimo

Skill techstay/some-skills/skills/marimo

A collection of AI agent skills that extend LLM capabilities with Obsidian task management, multi-backend web search, and more.

Install
npx -y skills add techstay/some-skills --skill marimo

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Create and manage reactive Python notebooks in Marimo. Use when creating notebooks, adding UI input components, writing SQL queries, deploying as apps, or learning about Marimo's reactive execution model. Keywords: marimo notebook, reactive notebook, Python notebook, UI components, SQL cell, app deployment.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.8 KB, as published. Nobody here has run it

Marimo Skill

Marimo is an open-source reactive Python notebook that reimagines traditional Jupyter notebooks as reproducible, interactive, and shareable Python programs.

Quick Reference

What you want to doHow to do it
Create a new notebookRun marimo edit or marimo edit notebook.py
Add UI input componentsLoad references/ui-inputs.md, use mo.ui.* components
Write SQL queriesLoad references/sql-data.md, create a SQL cell
Deploy as a web appLoad references/apps-deployment.md, run marimo run notebook.py
Understand reactive executionLoad references/core-concepts.md, learn the DAG execution model
View CLI commandsLoad references/cli-commands.md

Key Workflow Rules

⚠️ Most Common Pitfalls

Mutations Are Not Tracked

Avoid:

  • ❌ Defining a variable in one cell and mutating it in another
  • ❌ Using list.append(), df['col'] = values, and similar mutation operations

Follow:

  • ✅ Complete all mutations in the same cell where the variable is defined
  • ✅ Create new variables instead of mutating old ones (new_list = old_list + [item])
  • ✅ Use a pure functional style for data processing

Global Variable Names Must Be Unique

Avoid:

  • ❌ Defining a global variable with the same name in multiple cells
  • ❌ Imported module names conflicting with variable names

Follow:

  • ✅ Define each global variable in exactly one cell
  • ✅ Use underscore prefix for local variables (_temp_var)
  • ✅ Wrap temporary variables inside functions

Reference Files — Load On Demand

Do not load all at once. Only load the files needed for the current task.

FileContentWhen to load
references/core-concepts.mdReactive execution model, DAG, variable rulesWhen you need to understand how Marimo works
references/ui-inputs.mdDetailed usage of all UI input componentsWhen you need to add interactive controls
references/sql-data.mdSQL cells, database connections, data processingWhen you need to use SQL queries
references/apps-deployment.mdApp deployment, layout options, grid/slidesWhen you need to deploy as a web app
references/cli-commands.mdAll CLI commands and optionsWhen you need to check command-line usage

Common Mistakes

❌ Wrong✅ RightReason
df['new_col'] = values in another cellComplete in the same cellMutations are not tracked
my_list.append(x) in another cellCreate new list: my_list + [x]Mutations are not tracked
Define x = ... in multiple cellsDefine each variable in only one cellViolates uniqueness rule
Use global variables to pass intermediate resultsWrap in functions or use return valuesAvoids hidden dependencies

Quick Examples

Basic Notebook Structure

# Cell 1: Imports
import marimo as mo
import pandas as pd

# Cell 2: Data preparation
data = {"x": [1, 2, 3], "y": [4, 5, 6]}
df = pd.DataFrame(data)

# Cell 3: Add interactivity
slider = mo.ui.slider(1, 10, value=5)
slider

# Cell 4: Reactive computation
filtered_df = df[df["x"] < slider.value]
filtered_df

Running Notebooks

# Edit mode
marimo edit notebook.py

# Run as app
marimo run notebook.py

# Convert to script execution
python notebook.py

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.