wasm-compatibility

Detect WebAssembly compatibility issues in marimo notebooks for Pyodide environments.

Updated Jan 10, 2026
One-click install
npx skills add https://github.com/RDCrystalLab/agentic-plugins --skill wasm-compatibility-rdcrystallab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wasm-compatibility
Source: https://github.com/RDCrystalLab/agentic-plugins/tree/main/plugins/marimo/skills/wasm-compatibility
Command: npx skills add https://github.com/RDCrystalLab/agentic-plugins --skill wasm-compatibility-rdcrystallab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps identify why a marimo notebook may fail or behave incorrectly in WebAssembly environments by detecting incompatible dependencies and browser limitations before deployment.

Core Features & Use Cases

  • Dependency Compatibility Analysis: Extracts notebook dependencies from PEP 723 metadata and imports, then checks their Pyodide and WASM compatibility.
  • Code Pattern Detection: Finds unsupported patterns such as subprocess usage, filesystem assumptions, multiprocessing, debugger calls, and unavailable environment access.
  • Actionable WASM Reports: Produces PASS, WARN, or FAIL assessments with package status, code issues, and recommended fixes for marimo playgrounds, cloud notebooks, and exported WASM applications.

Quick Start

Ask the skill to check a marimo notebook file for WebAssembly compatibility issues and provide a detailed compatibility report.

Frequently Asked Questions about wasm-compatibility

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if a marimo notebook is compatible with WebAssembly before deployment?

To check marimo notebook WebAssembly compatibility, analyze notebook dependencies from PEP 723 metadata and imports for Pyodide support, then scan for unsupported code patterns like subprocess usage. This produces a PASS, WARN, or FAIL remediation report for WASM environments.

Why does my Python notebook fail in a Pyodide environment?

Python notebooks fail in Pyodide environments due to incompatible dependencies unavailable in WebAssembly or unsupported runtime patterns like multiprocessing, subprocess calls, and filesystem assumptions. Detecting these browser limitations and package issues before deployment resolves the failures.

What code patterns are unsupported when exporting marimo notebooks to WASM?

Unsupported code patterns when exporting marimo notebooks to WASM include subprocess usage, filesystem assumptions, multiprocessing, debugger calls, and unavailable environment access. Scanning for these patterns ensures Python notebooks run correctly in Pyodide and browser playgrounds.

Does Pyodide support all Python packages used in marimo playgrounds?

Pyodide does not support all Python packages used in marimo playgrounds. Dependency compatibility analysis extracts package requirements from PEP 723 metadata and imports, then checks each package against Pyodide and WebAssembly constraints to identify unsupported libraries.

How do I validate dependencies for a marimo cloud deployment?

Validate dependencies for marimo cloud deployment by extracting package imports and PEP 723 metadata from the notebook, then verifying each dependency against Pyodide and WebAssembly compatibility lists. This generates actionable package status assessments for cloud notebooks.

What are the limitations of running Python notebooks in WebAssembly environments?

Running Python notebooks in WebAssembly environments has limitations including unavailable native subprocess calls, restricted filesystem access, unsupported multiprocessing, and missing environment variables. Scanning code for these patterns prevents runtime failures in Pyodide and WASM exports.