slideclaw
v0.2.0
Published
AI-ergonomic Marp slide workspace for OpenClaw agents
Maintainers
Readme
SlideClaw
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 を起動しても使えます clawhubCLI を事前に入れる必要はありません。OpenClaw が内部で ClawHub と直接通信しますslideclawCLI を事前に入れる必要もありません。スキル実行時に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 renderとcd 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 ディレクトリの解決順
SLIDECLAW_NO_DOWNLOADS=1が真 → コピーを無効化SLIDECLAW_DOWNLOADS_DIR=<path>が設定されていれば、そのパスをそのまま使用- WSL (Linux で
WSL_DISTRO_NAMEまたは/proc/versionが "microsoft" を含む) → Windows 側の/mnt/c/Users/<user>/Downloadsを優先 - Linux →
xdg-user-dir DOWNLOADの結果 (ロケールによっては~/Télécharger等) - それ以外 (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
