implement-paper-auto
marimo-team/skills
Automatically implement research papers as interactive marimo notebooks with minimal code examples.
What is implement-paper-auto?
This skill fetches research papers from arXiv via AlphaXiv and automatically creates runnable marimo notebooks that demonstrate key concepts. It focuses on telling a clear story through a single compelling idea rather than exhaustively implementing entire papers, making complex research accessible and executable on standard hardware.
- Extracts paper IDs from various arXiv URL formats and fetches structured paper content via AlphaXiv API
- Identifies and isolates the core concept or idea from a research paper without user input
- Generates minimal, CPU-friendly code examples that illustrate the main lesson
- Creates interactive marimo notebooks with hidden code cells and user controls (sliders, dropdowns) for exploration
- Compares approaches or demonstrates concepts through creative, non-trivial examples rather than toy datasets
How to install implement-paper-auto
npx skills add https://github.com/marimo-team/skills --skill implement-paper-auto- marimo installed and configured
- Access to public arXiv papers (via alphaxiv.org)
- Basic familiarity with marimo notebook structure
How to use implement-paper-auto
- 1.Provide a paper URL or arXiv ID (e.g., 2401.12345 or https://arxiv.org/abs/2401.12345)
- 2.The skill fetches the paper overview or full text from AlphaXiv
- 3.It analyzes the paper to identify the most compelling core concept or idea
- 4.A marimo notebook is automatically generated with a minimal, runnable example that demonstrates that idea
- 5.Review the notebook—code is hidden by default, with interactive controls at the top for easy exploration
Use cases
- Quickly turn an arXiv paper into a runnable educational notebook for learning a specific technique
- Create interactive demos of research concepts for presentations or teaching
- Explore the practical implications of a paper's main idea without implementing the full benchmark
- Generate a starting point for further research or experimentation based on a published paper
- Researchers wanting to rapidly prototype paper ideas as interactive notebooks
- Educators creating demonstrations of academic concepts
- Data scientists exploring new techniques from recent publications
- Students learning from papers through hands-on, executable examples
implement-paper-auto FAQ
The skill falls back to fetching the full paper text from AlphaXiv. If that also fails, it directs you to the PDF on arXiv.
No. It identifies and implements the single most important idea or lesson from the paper in a way that tells a clear story, keeping the example simple and runnable on standard hardware.
Yes. The generated marimo notebook is a starting point that you can edit, extend, or modify to suit your needs.
It creates minimal code examples with one or two visualizations and optional interactive controls (sliders, dropdowns). The focus is on clarity and storytelling rather than exhaustive benchmarks.
No. The skill automatically analyzes the paper and makes all decisions about which concept to implement and how to present it.
Full instructions (SKILL.md)
Source of truth, from marimo-team/skills.
name: implement-paper-auto description: Implement a research paper in a marimo notebook fully automatically without extra user input.
You need to come up with a compelling story to tell from a paper. Do not ask the user for feedback/input. You need to apply thinking and come up with the best story yourself.
Fetching Papers via AlphaXiv
Use alphaxiv.org to get structured, LLM-friendly paper content. This is faster and more reliable than trying to read a raw PDF.
Extract the paper ID
Parse the paper ID from whatever the user provides:
| Input | Paper ID |
|---|---|
https://arxiv.org/abs/2401.12345 | 2401.12345 |
https://arxiv.org/pdf/2401.12345 | 2401.12345 |
https://alphaxiv.org/overview/2401.12345 | 2401.12345 |
2401.12345v2 | 2401.12345v2 |
2401.12345 | 2401.12345 |
Fetch the AI-generated overview (try this first)
curl -s "https://alphaxiv.org/overview/{PAPER_ID}.md"
Returns a structured, detailed analysis of the paper as plain markdown. One call, no JSON parsing.
Fetch the full paper text (fallback)
If the overview doesn't contain the specific detail you need (e.g., a particular equation, table, or proof):
curl -s "https://alphaxiv.org/abs/{PAPER_ID}.md"
Returns the full extracted text of the paper as markdown.
Error handling
- 404 on the overview: Report hasn't been generated for this paper yet. Try the full text instead.
- 404 on the full text: Text hasn't been processed yet. As a last resort, direct the user to the PDF at
https://arxiv.org/pdf/{PAPER_ID}. - No authentication is required — these are public endpoints.
What is a good implementation?
A good implementation tells a story, that's the most important thing. The story should be simple, but it should not be missing.
Papers typically have more than one concept in them. So that means you need to pick a story! It isn't the goal to fully implement the paper or to rerun a giant benchmark. The goal is to take a lesson/idea and to explain that very clearly in a notebook that can simply run on a CPU. That way, a user can easily run learn something from it. When you look at the notebook, what is the main concept or idea that you think is worth exploring? What is the concept that tells a story?
Pick the idea that is easiest to explain with a minimum code example. For a minimum code example to really work, it tends to help to have one, maybe two charts to look at. Maybe there's a dropdown that lets you try out different settings. Possibly even a slider. But the one thing we would want to do is prevent that the user needs to do a lot of scrolling.
It will be typical that you'll want to compare two approaches. But take a moment to think about the example, because that matters most to the story. Most of the time you don't want to use a toy example. They're not informative and they are overdone. It may be better to generate a creative example that shows where one approach can really shine. We don't want to cherry pick, but we also don't want to do examples that have been overdone either.
I cannot stress enough how important it is to actually think about the story and the example before you write any code whatsoever. You should really ultra think this. Give the user some interaction but really try to prevent scrolling. A good example tells a story, it doesn't just state some facts.
Feel free to think about this decision, but once you've got it clear what idea is best to showcase, immediately proceed to build the marimo notebook.
Use the marimo-notebook skill for this, and possibly the anywidget skill, but only if a custom widget makes for a better story. If you strongly feel that it makes sense to use a custom anywidget, refer to references/ANYWIDGET.md.
When you are ready, make sure that you hide all the code and that you move the cells with inputs/outputs to the top of the file.
Example:
@app.cell
def _(hide_code=True):
import marimo as mo
return mo
Related skills
More from marimo-team/skills and the wider catalog.

jupyter-to-marimo
Convert Jupyter notebooks (.ipynb) to interactive marimo notebooks (.py)

marimo-batch
Prepare marimo notebooks for scheduled batch runs with CLI parameters and optional Weights & Biases integration.

marimo-notebook
Write interactive Python notebooks with marimo's cell-based format and automatic dependency tracking.

streamlit-to-marimo
Convert Streamlit apps to marimo notebooks with automated widget and layout mapping.

wasm-compatibility
Check marimo notebooks for WebAssembly compatibility and identify incompatibilities.

archimate
Create ArchiMate enterprise architecture diagrams with PlantUML macros for TOGAF, layered EA modeling, and migration planning.