Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

wasm-compatibility

marimoノートブックがWebAssembly(WASM)と互換性があるかどうかを確認し、問題があれば報告します。WASMデプロイを検討している際に、互換性の問題を事前に把握するために使用します。

description の原文を見る

Check if a marimo notebook is compatible with WebAssembly (WASM) and report any issues.

SKILL.md 本文

marimo ノートブック用 WASM 互換性チェッカー

marimo ノートブックが WebAssembly (WASM) 環境(marimo プレイグラウンド、コミュニティクラウド、またはエクスポートされた WASM HTML)で実行できるかどうかを確認します。

手順

1. ノートブックを読み込む

対象のノートブックファイルを読み込みます。ユーザーが指定しない場合は、どのノートブックをチェックするのか尋ねてください。

2. 依存関係を抽出する

ノートブックが依存している全パッケージを、両方のソースから収集します:

  • PEP 723 メタデータ — トップの # /// script ブロック:

    # /// script
    # dependencies = [
    #     "marimo",
    #     "torch>=2.0.0",
    # ]
    # ///
    
  • Import ステートメント — すべてのセルから import foofrom foo import bar をスキャンします。このテーブルを使用してインポート名を PyPI ディストリビューション名にマップします:

    インポート名ディストリビューション名
    sklearnscikit-learn
    skimagescikit-image
    cv2opencv-python
    PILPillow
    bs4beautifulsoup4
    yamlpyyaml
    dateutilpython-dateutil
    attr / attrsattrs
    giPyGObject
    serialpyserial
    usbpyusb
    wxwxPython

    ほとんどの他のパッケージについては、インポート名がディストリビューション名と一致します。

3. 各パッケージを Pyodide に対してチェックする

各依存関係について、WASM で実行できるかどうかを判定します:

  1. Python 標準ライブラリに含まれているか? ほとんどの stdlib モジュールは動作しますが、これらは動作しません

    • multiprocessing — ブラウザサンドボックスではプロセス生成ができない
    • subprocess — 同じ理由
    • threading — エミュレートされている。実際の並列処理なし(警告。厳密な失敗ではない)
    • sqlite3 — 代わりに apsw を使用(Pyodide で利用可能)
    • pdb — サポートされていない
    • tkinter — ブラウザに GUI ツールキットなし
    • readline — ブラウザにターミナルなし
  2. Pyodide 組み込みパッケージか? 完全なリストは pyodide-packages.md を参照してください。これらはそのまま動作します。

  3. 純粋な Python パッケージか? .py ファイルのみを含むパッケージ(コンパイルされた C/Rust 拡張機能がない)は、実行時に micropip 経由でインストールでき、動作します。確認するには:PyPI で py3-none-any.whl ホイールを探します(例:https://pypi.org/project/<package>/#files にアクセス)。プラットフォーム固有のホイール(例:cp312-cp312-manylinux)のみの場合、パッケージはネイティブ拡張機能を持ち、動作しない可能性が高い。

    動作する一般的な純粋 Python パッケージ(Pyodide 組み込みではないが micropip 経由でインストール可能):

    • plotly, seaborn, humanize, pendulum, arrow, tabulate
    • dataclasses-json, marshmallow, cattrs, pydantic (組み込み)
    • httpx (組み込み), tenacity, backoff, wrapt (組み込み)
  4. Pyodide 用にビルドされていない C/ネイティブ拡張機能があるか? これらは動作しません。一般的な原因:

    • torch / pytorch
    • tensorflow
    • jax / jaxlib
    • psycopg2 (純粋 Python モードの psycopg を提案)
    • mysqlclientpymysql を提案)
    • uvloop
    • grpcio
    • psutil

4. WASM 非互換パターンをチェックする

WASM で動作しないパターンについてノートブックコードをスキャンします:

パターン失敗の理由提案
subprocess.run(...), os.system(...), os.popen(...)ブラウザではプロセス生成ができない削除するか非 WASM チェックの背後に配置
multiprocessing.Pool(...), ProcessPoolExecutorプロセスフォーク不可シングルスレッドアプローチを使用
threading.Thread(...), ThreadPoolExecutorエミュレートされたスレッド。実際の並列処理なし警告のみ。動作しますが高速化なし。I/O に asyncio を使用
open("/absolute/path/..."), ハードコードされたローカルファイルパスリアルファイルシステムなし。メモリ内ファイルシステムのみURL 経由でデータをフェッチ(httpx, urllib)またはノートブックに埋め込み
sqlite3.connect(...)stdlib sqlite3 利用不可apsw または duckdb を使用
pdb.set_trace(), breakpoint()WASM にデバッガなしブレークポイントを削除
環境変数の読み取り(os.environ[...], os.getenv(...)ブラウザで利用可能な環境変数なしユーザー入力に mo.ui.text を使用するかデフォルトをハードコード
Path.home(), Path.cwd() (リアルファイル期待)仮想ファイルシステムのみURL または埋め込みデータを使用
大規模データセットロード(>100 MB)総メモリ上限 2 GBより小さいサンプルまたはリモート API を使用

5. PEP 723 メタデータをチェックする

WASM ノートブックは、ノートブック起動時に自動的にインストールされるように、PEP 723 # /// script ブロックにすべての依存関係をリストする必要があります。次の問題をチェックします:

  • メタデータ不足: ノートブックに # /// script ブロックがない場合、推奨する警告を発行します。依存関係をリストすることで、WASM でノートブックが起動するときに自動インストールされます。これがないと、ユーザーはインポートエラーを見ることがあります。
  • パッケージ不足: パッケージがインポートされているが依存関係にリストされていない場合、追加を提案する警告を発行します。 注:PEP 723 メタデータのバージョンピンと下限はそのまま使用できます。marimo は WASM で実行する場合、バージョン制約をストリップします。

6. レポートを作成する

以下のセクションを含む、明確で実行可能なレポートを出力します:

互換性:PASS / FAIL / WARN

これらの判定を使用します:

  • PASS — すべてのパッケージとパターンが WASM 互換
  • WARN — おそらく互換。ただしいくつかのパッケージを純粋 Python として確認できない(ユーザーが確認できるようにリストアップ)
  • FAIL — 1 つ以上のパッケージまたはパターンが確実に非互換

パッケージレポート — 列:Package、Status (OK / WARN / FAIL)、Notes のテーブル

例:

パッケージステータス注釈
marimoOKWASM ランタイムで利用可能
numpyOKPyodide 組み込み
pandasOKPyodide 組み込み
torchFAILWASM ビルドなし。ネイティブ C++/CUDA 拡張機能が必要
my-niche-libWARNPyodide に含まれていない。純粋 Python であることを確認

コード問題 — 見つかった各問題のあるコードパターンをリストアップ。セルまたは行とともに修正案を提示。

推奨事項 — ノートブックが失敗する場合、具体的な修正を提案:

  • 非互換パッケージを WASM フレンドリーな代替品に置き換え
  • 非互換コードパターンを書き直し
  • 重い計算をホストされた API に移動して結果をフェッチすることを提案

追加コンテキスト

  • WASM ノートブックはブラウザで Pyodide 経由で実行
  • メモリは 2 GB に制限
  • ネットワークリクエストは動作しますが、CORS 互換エンドポイントが必要な場合あり
  • Chrome は WASM パフォーマンスが最良。Firefox、Edge、Safari も対応
  • micropip は実行時に PyPI から任意の純粋 Python ホイールをインストール可能
  • 完全な Pyodide 組み込みパッケージリストについては、pyodide-packages.md を参照

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
marimo-team
リポジトリ
marimo-team/skills
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/marimo-team/skills / ライセンス: Apache-2.0

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: marimo-team · marimo-team/skills · ライセンス: Apache-2.0