mcpField
A
add-molab-badge

add-molab-badge

github.com/marimo-team開発1772.3k 回インストール10 週間前に更新
リポジトリ

add-molab-badge について

add-molab-badge は、MarkdownやHTMLにmarimoノートブックへの「Open in molab」バッジを追加・置換するスキルです。ノートブックの特定、URLの作成、周囲の内容を保った更新を扱います。

主な機能

  1. 01リポジトリ内のmarimoノートブックを検索
  2. 02ノートブックのパスからmolab URLを作成
  3. 03marimo.appのリンクとバッジを置換
  4. 04MarkdownとHTMLにバッジを追加

活用シーン

  1. 01リポジトリのREADMEにノートブックバッジを追加
  2. 02既存のmarimo.appバッジを置換
  3. 03指定されたノートブックURLからバッジ記法を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marimo-team/skills --skill add-molab-badge

インストール後、Claude Code で/add-molab-badgeを入力して読み込まれたか確認します。

詳細

molab バッジを追加する

marimo ノートブックへのリンクを設定した「molab で開く」バッジを追加します。バッジは、GitHub の README、ドキュメントサイト、ブログ記事、ウェブページ、その他の Markdown/HTML ファイルなど、任意の場所に追加できます。

手順

0. molab 用のセッションをエクスポートする

GitHub リポジトリにセッション情報があると、molab のプレビューがより見やすく表示されます。次の方法で追加できます。

uvx marimo export session notebook.py
uvx marimo export session folder/

ノートブックを実行してセッションのスナップショットをエクスポートします。molab はこれを使って、事前にレンダリングされたノートブックを提供します。

主なフラグ:

  • --sandbox — PEP 723 の依存関係を使用し、各ノートブックを分離された環境で実行します
  • --continue-on-error — いずれかのノートブックでエラーが発生しても、ほかのノートブックの処理を続けます
  • --force-overwrite — 最新の状態であっても、既存のスナップショットをすべて上書きします
1. ノートブックのリンクを特定する

ユーザーからノートブックのリンクが提示される方法は、次の 2 通りです。

  • ユーザーがリンクを直接提示する場合。 ユーザーがノートブックの URL を貼り付けます。そのまま使用し、リンクの調査は不要です。
  • ノートブックを調査する場合(README が対象の場合のみ)。 ユーザーがリポジトリの README にバッジを追加するよう依頼し、対象のノートブックを指定していない場合は、次の手順で見つけます。
    1. リポジトリ内の marimo ノートブックファイル(.py ファイル)をすべて見つけます。Glob で **/*.py のようなパターンを使い、import marimo または app = marimo.App というヘッダーがあるか確認して、marimo ノートブックであることを確かめます。
    2. README にノートブックへのリンク(marimo.app リンクや既存のバッジなど)がある場合は、それらを置き換えます。
    3. リンクがない場合は、どのノートブックをリンクするかユーザーに尋ねます。
2. molab の URL を作成する

各ノートブックについて、次の形式で molab の URL を作成します。

https://molab.marimo.io/github/{owner}/{repo}/blob/{branch}/{path_to_notebook}
  • {owner}/{repo}:GitHub のオーナー名とリポジトリ名です。Git のリモート(git remote get-url origin)、ユーザーが提示した URL、またはユーザーへの確認から特定します。
  • {branch}:通常は main です。リポジトリのデフォルトブランチを確認します。
  • {path_to_notebook}:リポジトリのルートからの相対パスで指定した .py ノートブックファイルのパスです。
3. /wasm サフィックスのルールを適用する
  • 既存の marimo.app リンクを置き換える場合は、molab の URL に /wasm を付けます。marimo.app はノートブックをクライアント側(WASM)で実行するため、その動作を維持するには、molab の同等リンクにも /wasm サフィックスが必要です。
  • 新しいバッジを追加する場合(marimo.app リンクを置き換えるのではない場合)は、ユーザーが明示的に希望しない限り、/wasm を付けません。
4. バッジの形式を整える

次の Markdown バッジ形式を使用します。

[![Open in molab](https://marimo.io/molab-shield.svg)](URL)

URL には、上記のルールに従って /wasm の有無を決めた molab の URL を指定します。

HTML が対象の場合は、次の形式を使用します。

<a href="URL"><img src="https://marimo.io/molab-shield.svg" alt="Open in molab" /></a>
5. 対象にバッジを挿入または置換する
  • 既存のバッジやリンクを置き換える場合:
    • marimo.app の URL を、同等の molab.marimo.io の URL に置き換えます。
    • 古いシールド画像 URL(例:https://marimo.io/shield.svg または camo 経由の URL)を、https://marimo.io/molab-shield.svg に置き換えます。
    • alt テキストを Open in molab に設定します。
    • 周囲のテキストや構成は維持します。
  • 対象ファイルを直接編集します。関係のないセクションは書き換えないでください。
  • ユーザーがバッジの Markdown/HTML だけを求めている場合は、そのまま出力します。

例

README の marimo.app バッジを置き換える場合:

変更前:

[![](https://marimo.io/shield.svg)](https://marimo.app/github.com/owner/repo/blob/main/notebook.py)

変更後:

[![Open in molab](https://marimo.io/molab-shield.svg)](https://molab.marimo.io/github/owner/repo/blob/main/notebook.py/wasm)

注:marimo.app リンクを置き換えるため、/wasm を付けています。

ユーザーが提示したリンクから新しいバッジを追加する場合:

ユーザー:「次のノートブックに molab バッジを追加してください:https://github.com/owner/repo/blob/main/demo.py、https://github.com/owner/repo/blob/main/tutorial.py」

出力:

[![Open in molab](https://marimo.io/molab-shield.svg)](https://molab.marimo.io/github/owner/repo/blob/main/demo.py)
[![Open in molab](https://marimo.io/molab-shield.svg)](https://molab.marimo.io/github/owner/repo/blob/main/tutorial.py)

注:新しいバッジには、デフォルトで /wasm を付けません。

コメント