npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

slideclaw

v0.2.0

Published

AI-ergonomic Marp slide workspace for OpenClaw agents

Readme

SlideClaw

npm version license: MIT node

CLI系AIエージェントのためのMarpスライド作業環境

SlideClaw は、OpenClaw のような CLI 型 AI エージェントが、Marp でスライドを自律的に作成・編集・PDF化するための「ワークスペース規約 + CLI ツール」です。

プロジェクト・デザインテンプレート・ユーザープロファイルをファイルベースで整理し、AI エージェントがディレクトリ構造とコマンドだけ把握していれば迷わず作業できるように設計されています。


コアアイデア

同一出力の保証: slideclaw render で作った PDF と、AI エージェントがプロジェクトディレクトリで直接 marp slides.md --pdf を叩いて作った PDF が、視覚的に同一になります。SlideClaw は各プロジェクトに marp.config.cjs を実ファイルとして書き出し、marp-cli の自動検出に完全に頼ることでこれを実現しています。コマンドライン経由で theme や設定を渡していません。

Downloads への自動コピー: slideclaw render が成功すると、ワークスペース内の projects/<id>/build/slides.<ext> に加えて、OS 標準の Downloads フォルダにも <project-id>.<ext> という名前で同じファイルがコピーされます。ユーザーがワークスペースの奥まで辿らなくても完成物をすぐ開けるようにするためです。無効化したい場合は --no-copy-to-downloads フラグか SLIDECLAW_NO_DOWNLOADS=1 環境変数を使ってください。


要件

  • Node.js 20 以上
  • PDF 出力に Chrome / Chromium (marp-cli の依存。slideclaw doctor が確認します)
  • Windows の方は WSL (Ubuntu) 上で使うのを強く推奨します。PowerShell / CMD からの利用は非推奨です

OpenClaw で使う (推奨)

すでに OpenClaw を使っているなら、これだけで終わりです:

# 1. スキルをインストール (どのディレクトリから叩いてもOK)
openclaw skills install slideclaw

# 2. 確認
openclaw skills info slideclaw
# → "✓ Ready" が出れば完了

# 3. OpenClaw セッション内で自然文依頼
# 「SlideClawでスライド作って」

知っておくと良いこと

  • install 先は固定です: ~/.openclaw/workspace/skills/slideclaw/。どのディレクトリで openclaw skills install を叩いても同じ場所に入るので、一度入れればどこから OpenClaw を起動しても使えます
  • clawhub CLI を事前に入れる必要はありません。OpenClaw が内部で ClawHub と直接通信します
  • slideclaw CLI を事前に入れる必要もありません。スキル実行時に npx -y slideclaw@latest で自動取得されます
  • 既存の OpenClaw セッションには反映されないので、install 後は新セッションを開始してください

OpenClaw を使わずに CLI として直接使う

OpenClaw 無しでも、純粋な CLI ツールとして単独利用できます。

# ワークスペース初期化 (スターターテンプレ同梱)
npx -y slideclaw@latest init . --with-starter-template

# 環境診断
npx -y slideclaw@latest doctor

# プロジェクト作成
npx -y slideclaw@latest project new "Q2振り返り" \
  --id 2026-04-09-q2-review \
  --template minimal-portfolio \
  --title "Q2 2026 振り返り" \
  --audience "経営チーム" \
  --goal "Q2成果の共有とQ3優先投資の合意"

# PDF にレンダリング
npx -y slideclaw@latest render 2026-04-09-q2-review

毎回 npx -y を付けるのが面倒なら、グローバルに入れてしまうのが楽です:

npm i -g slideclaw
slideclaw doctor

ディレクトリ構成

これは slideclaw init を叩いたあとにユーザーの手元に作られるワークスペースの構成であり、本リポジトリの構成ではありません。

<workspace>/
├── .slideclaw/            # ワークスペースマーカー
├── profile/
│   └── user.md            # ユーザープロファイル
├── templates/
│   ├── INDEX.md           # 自動生成のテンプレ一覧
│   └── <template-id>/
│       ├── template.md    # frontmatter + 説明
│       ├── theme.css
│       └── example.md
└── projects/
    └── <project-id>/
        ├── requirements.md   # 何を作るか (人間/AI 編集)
        ├── slides.md         # Marp 本体
        ├── marp.config.cjs   # 自動生成 (marp-cli が自動検出)
        ├── theme.css         # テンプレから実コピー
        ├── meta.md           # ツール管理メタ
        ├── assets/
        └── build/            # レンダリング出力

各ファイルの YAML frontmatter スキーマは docs/SCHEMAS.md を参照。


よく使うコマンド

| コマンド | 用途 | | --- | --- | | slideclaw init [path] | ワークスペース初期化 | | slideclaw doctor | 環境診断 (Node / Chrome / marp-cli / 参照整合性) | | slideclaw project new <name> | プロジェクト作成 | | slideclaw project list | プロジェクト一覧 | | slideclaw project path <id> | プロジェクトの絶対パスを出力 | | slideclaw render <id> | marp-cli でレンダリング (完了後に Downloads にもコピー) | | slideclaw project finish <id> | render + テンプレ新規保存プロンプト | | slideclaw template list | テンプレ一覧 | | slideclaw template new <new-id> --from <proj> | プロジェクトから新テンプレを作成 | | slideclaw template use <id> --project <proj> | 既存プロジェクトにテンプレを適用 | | slideclaw profile show | ユーザープロファイル表示 | | slideclaw profile path | プロファイルファイルの絶対パスを出力 |

全コマンドで --json が使えるものは AI エージェント向けに構造化出力を返します。


AI エージェント向けガイド

AI エージェントが SlideClaw を使うときは、まず docs/AGENTS.md を読んでください。ワークスペース構造、コマンドの使い分け、プロファイル編集フローなどがまとまっています。


同一出力について

PDF にはレンダリング時刻が埋め込まれるため、バイト一致はしません (異なる時刻で作った PDF は異なるハッシュになります)。SlideClaw が保証するのは、視覚的・論理的な同一性 です:

  • 同じ slides.md + 同じ theme.css + 同じ marp.config.cjs + 同じ Chrome バイナリ であれば、slideclaw rendercd projects/<id> && marp slides.md --pdf は同じスライドを出力します。
  • Chrome のバージョンが異なると、微妙なフォントレンダリングの差が出る可能性があります。本番運用時は CHROME_PATH でバイナリを固定することを推奨します。

Downloads 連携

slideclaw render は成功時に、projects/<id>/build/slides.<ext> に加えて OS 標準の Downloads フォルダにも <project-id>.<ext> という名前で同じファイルをコピーします。コピーはベストエフォートで、失敗しても render 自体は成功扱いになります (warning がログに出ます)。

Downloads ディレクトリの解決順

  1. SLIDECLAW_NO_DOWNLOADS=1 が真 → コピーを無効化
  2. SLIDECLAW_DOWNLOADS_DIR=<path> が設定されていれば、そのパスをそのまま使用
  3. WSL (Linux で WSL_DISTRO_NAME または /proc/version が "microsoft" を含む) → Windows 側の /mnt/c/Users/<user>/Downloads を優先
  4. Linux → xdg-user-dir DOWNLOAD の結果 (ロケールによっては ~/Télécharger 等)
  5. それ以外 (macOS / Windows / フォールバック) → $HOME/Downloads

無効化する方法

  • 1 回だけ無効化: slideclaw render <id> --no-copy-to-downloads
  • セッション全体で無効化: export SLIDECLAW_NO_DOWNLOADS=1
  • CI / サーバー環境: SLIDECLAW_NO_DOWNLOADS を常時セットしておくのが無難

同名ファイルの扱い

同じプロジェクトを再 render すると、Downloads 内の <project-id>.<ext>上書きされます。これは「同じプロジェクトの最新版が常に Downloads にある」のが期待動作だからです。別の名前で残したい場合は -o で明示的な出力パスを指定するか、コピー後に手動でリネームしてください。


開発

pnpm install
pnpm test          # vitest
pnpm typecheck     # tsc --noEmit
pnpm build         # tsup
pnpm lint          # biome

ライセンス

MIT