About Slidict CLI - yubeleのスライド | slidict.io
slidict.io

JA | EN

About Slidict CLI

Google Translate: 日本語 英語
yubele
yubele
フォロワー 0人
最終更新: 2026/07/01
読む時間: 02:12

共有

コード

通報

  • 会話からプレゼン資料のソースを生成するCLI

  • スライド作成の前に「伝える内容」を整理する

  • Ruby製のlocal-firstなMVP

詳細説明
Slidict CLIは、ざっくりしたアイデアをAIとの対話でプレゼン資料に変えるためのCLIです。
一般的なスライド生成ツールが見た目やレイアウトに寄りがちな一方で、Slidict CLIはまず「何を伝えるか」「誰に伝えるか」「何をしてほしいか」を固めます。
つまり、きれいなスライドを先に作るのではなく、伝わる骨格を作ってからスライド形式に落とす道具です。
  • アイデアはあるが、構成に迷う

  • AI生成スライドが薄味になりやすい

  • 見た目より先に、話の流れを整えたい

  • OSSのスライドツールを使い分けたい

詳細説明
スライド作成でつまずくのは、デザインよりも「話の順番」です。
Slidict CLIは、テーマ、時間、聞き手、ゴールを聞き出し、プレゼンの土台を作ります。
この段階で構成を整えることで、あとからSlidev、Marp、Asciidoctor Reveal.jsなど好みの表現形式に変換しやすくなります。
  • Idea

  • Conversation

  • Story

  • Slides

詳細説明
Slidict CLIの流れは、アイデア、会話、ストーリー、スライドです。
最初からスライドを書かせるのではなく、まず会話で考えをほぐします。
その後、ストーリーとして並べ替え、最後にスライドのソースファイルへ出力します。
小さな思考の豆を、発表できる形に焙煎するイメージです。
  • Interactive CLI conversation

  • Slidev / Marp / Asciidoctor Reveal.js対応

  • OpenAI Compatible API対応

  • Sinatraによるローカル閲覧

  • プレゼン構造リンター

詳細説明
対話形式で質問に答えるだけで、スライドのソースファイルを生成できます。
出力先はSlidev、Marp、Asciidoctor Reveal.jsなどのOSSプレゼンフレームワークです。
LLMはOpenAI互換APIに対応しているため、OpenAIだけでなくOllama、LM Studio、vLLMなどにも向けられます。
生成したファイルはpublic配下に置かれ、Sinatraサーバーで一覧表示できます。
  • bin/slidict

  • 質問に答える

  • public/001.md などを生成

bin/slidict --framework marp
詳細説明
最も単純な使い方は、リポジトリから実行ファイルを直接起動する方法です。
CLIが「何について話すか」「何分の発表か」「聞き手は誰か」「聞き手に何を覚えてほしいか」を質問します。
回答が終わると、指定したフレームワーク向けのスライドソースが生成されます。
  • --topic

  • --duration

  • --audience

  • --goal

  • --framework asciidoctor-revealjs

bin/slidict \
  --topic "PDF Difference Monitoring Service" \
  --duration "5 minutes" \
  --audience "Engineering managers" \
  --goal "Approve an MVP pilot" \
  --framework asciidoctor-revealjs \
  --output slides.adoc
詳細説明
CIやスクリプトから使いたい場合は、質問への回答をCLIオプションで渡せます。
この形なら、毎回対話する必要がありません。
生成先をAsciidoctor Reveal.jsにすれば、このファイルのようなadoc形式のデッキも作れます。
  • slidict auth で認証

  • --publish で新規ドラフト保存

  • --slide-id で既存ドラフト編集

  • CLIから公開はできない

詳細説明
Slidict CLIはローカル生成だけでなく、slidict.ioへのドラフト保存にも対応しています。
認証はGitHubのdevice code flowを使い、CLI access tokenを保存します。
ただし、CLIで作成または編集できるのはドラフトまでです。
公開にはWeb UI側のモデレーションフローを通す設計になっています。
  • slidict slides list

  • slidict slides show <id>

  • slidict slides create

  • slidict slides edit <id>

詳細説明
`slidict slides`コマンドでは、slidict.io上のスライドをCLIから扱えます。
一覧、詳細表示、作成、編集が可能です。
createとeditは常にドラフト保存で、公開済みスライドの編集はWeb UI側で行います。
また、create/editにはユーザー単位で1分に1回のレート制限があります。
  • public/ 配下を配信

  • Markdown / Asciidocを一覧表示

  • サブディレクトリ管理に対応

bin/slidict serve -p 4567 -o 0.0.0.0
詳細説明
`slidict serve`は、生成済みのスライドファイルをローカルで確認するためのコマンドです。
Sinatraサーバーがpublicディレクトリ配下を見に行き、MarkdownやAsciidocファイルを一覧表示します。
例えば、public/product-demo/slides.mdのようにディレクトリを分けても扱えます。
  • 見た目ではなく「伝わる構造」を診断

  • Markdown / Asciidocを自動判定

  • LLM endpointが必要

  • 修正はせず、診断だけを出す

詳細説明
`slidict lint`は、スライドの美しさではなく、プレゼンの構造を診断します。
たとえば、聞き手が明確か、全体の主張が一文で言えるか、話の流れが自然か、専門用語が説明なしで出ていないかなどを見ます。
あくまで診断であり、ファイルの自動修正は行いません。
  • Audience

  • One-sentence point

  • Background → Problem → Solution → Result

  • Information load

  • Jargon

  • Concrete takeaway

詳細説明
リンターは6つの観点を見ます。
聞き手が明確か、全体の要点が一文で言えるか、背景から問題、解決策、結果または学びへ流れているか。
さらに、1枚に情報を詰め込みすぎていないか、専門用語の説明があるか、最後に具体的な持ち帰りがあるかを確認します。
  • OpenAI Compatible APIを利用

  • 環境変数またはCLI flagsで指定

  • 未設定なら組み込みテンプレートで生成

  • --no-llm でテンプレート強制

export SLIDICT_LLM_BASE_URL=https://api.openai.com/v1
export SLIDICT_LLM_API_KEY=sk-...
export SLIDICT_LLM_MODEL=gpt-4o-mini
詳細説明
LLMの接続先はOpenAI互換APIとして設定します。
`SLIDICT_LLM_BASE_URL`、`SLIDICT_LLM_API_KEY`、`SLIDICT_LLM_MODEL`を環境変数で指定できます。
CLIフラグも使え、フラグが優先されます。
base URLが未設定の場合はLLMを呼ばず、組み込みテンプレートで生成します。
  • Ollama

  • LM Studio

  • vLLM

  • その他 /chat/completions 互換サーバー

bin/slidict \
  --llm-base-url http://localhost:1234/v1 \
  --llm-api-key lm-studio \
  --llm-model local-model
詳細説明
OpenAI互換APIであれば、クラウドだけでなくローカルLLMにも接続できます。
READMEではOllamaとLM Studioの例が示されています。
これにより、コストや機密性の事情に応じて、クラウドLLMとローカルLLMを使い分けられます。
  • --method scqa

  • --method prep

  • --method pyramid

  • list-methods

  • show-method scqa

詳細説明
Slidict CLIは、SCQA、PREP、Pyramid Principleのようなプレゼン技法を指定できます。
技法を指定すると、その技法に沿ったスライド役割やAI指示が生成プロンプトに反映されます。
単なるテンプレートではなく、話の型をデータとして差し替える仕組みです。
  • YAMLで定義

  • Ruby codeを増やさず追加可能

  • slide rolesを持つ

  • AI instructionsを持つ

  • review checklistを持つ

詳細説明
Presentation methodsはデータ駆動です。
YAMLファイルに、技法の説明、向いている用途、スライドの役割、AIへの指示、レビュー観点を書きます。
Ruby側は読み込み、検証、適用に集中します。
この設計により、新しい技法の追加レビューは小さくなり、多くの場合YAMLファイル1つで完結します。
  • data/slidict/methods/ に内蔵定義

  • plugin gemから追加可能

  • lib/slidict/methods/*.yml を自動発見

  • 100+ methodsにも拡張しやすい

詳細説明
内蔵methodは`data/slidict/methods/`に置かれます。
外部gemは`lib/slidict/methods/*.yml`にYAMLを置くだけで、Slidictから自動発見されます。
これにより、本体に取り込まなくても、用途別のプレゼン技法パックを配布できます。
  • v0.5.0

  • SCQA / PREP / Pyramid Principle templates追加

  • --method 追加

  • list-methods 追加

  • show-method 追加

詳細説明
CHANGELOGでは、2026年7月1日のv0.5.0でデータ駆動のプレゼン技法が追加されています。
これにより、Slidict CLIは単なるスライド生成CLIから、プレゼン構造を扱うCLIへ一段進んでいます。
コマンドとしては`--method`、`list-methods`、`show-method`が追加されています。
  • Design toolではない

  • Slide source generator

  • Communication-first CLI

  • OSS presentation workflowの入口

詳細説明
Slidict CLIは、FigmaやCanvaのようなビジュアルデザインツールではありません。
役割は、話す内容と流れを整え、OSSプレゼンフレームワークで扱えるソースファイルに変換することです。
つまり、デザイン作業の前段にある、話の骨格を作るための道具です。
  • 会話で考えを整理する

  • 構造化してスライドにする

  • OSS形式に出力する

  • local / cloud LLMを選べる

  • プレゼン技法をYAMLで拡張する

詳細説明
Slidict CLIの核は、スライドを作る前に伝える内容を整えることです。
対話でアイデアを整理し、ストーリーにし、Slidev、Marp、Asciidoctor Reveal.jsなどに出力します。
さらに、LLM接続先やプレゼン技法を差し替えられるため、個人利用からOSS拡張まで広げられます。
About Slidict CLIのサムネイル(1ページ目)
1 / 9