Comment by pheewma

6 days ago

Just to add to this: Marimo notebooks are set up in a way that ends up being easier/more-token-efficient for agents to work in. They're just python files with some custom formatting to be read by their front-end UI, sort of like cell notation in (# %%) but with a lot of QoL bells and whistles built in. Jupyter notebooks in comparison, are mostly json and are pretty messy to work with as far as git diffs goes, which is annoying. VS-Code's Github Copilot actually had pretty good Jupyter integration, letting you refer to specific cells, and allowed the agent to run individual cells and read their output before writing subsequent cells etc etc. I suspect there are vs-code specific tool calls for jupyter notebooks being used that I haven't bothered trying to replicate with claude.

A month or two ago, Marimo released Marimo Pair, which works about as well as that. It appears to be a skill that just points claude code (perhaps other harnesses, haven't tried) at whatever localhost the Marimo UI is worked off of, and tells it the structure of a Marimo notebook (very necessary since I imagine there isn't as much training data on them compared to Jupyter etc). https://marimo.io/blog/marimo-pair