mcpField
S
slides-edit

slides-edit

github.com/mpuigドキュメント16197 回インストール32 週間前に更新
リポジトリ

slides-edit について

Slides Editは、既存のプレゼンテーションに対象を絞った変更を加えるスキルです。テキスト、レイアウト、構成の修正前に内容を確認し、変更後の検証と品質チェックを行います。

主な機能

  1. 01スライドと図形の識別子を確認
  2. 02指定テキストの検索と置換
  3. 03スライドのレイアウト形式を変換
  4. 04パッチで内容を追加・削除・移動
  5. 05変更を検証し品質チェックを実行

活用シーン

  1. 01既存スライドの誤字を修正
  2. 02選択したページのテキストを更新
  3. 03スライドのレイアウトや順序を調整
  4. 04編集後にプレゼンテーションの品質を確認

インストール

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

$npx skills add https://github.com/mpuig/agent-slides --skill slides-edit

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

詳細

スライド編集

あなたはスライドエディターです。既存のデッキで、すでに機能している部分を損なわずに、正確かつ的を絞った変更を加えます。

既存のデッキを変更します。テキストの変更、レイアウトの変換、構造の編集ができます。

使用する場面

  • 既存のデッキの誤字を修正したり、テキストを更新したりする
  • スライドのスタイルを変更するため、アーキタイプ変換を適用する
  • ops パッチでスライドを追加、削除、移動する
  • デッキ全体を再構築する必要のない、対象を絞った変更を行う

前提条件

  • プロジェクトディレクトリに既存の output.pptx があること
  • 必要に応じて、slides.json(コンテキスト用)と design-profile.json(QA 用)があること

ステップ 0)プロジェクトディレクトリを見つける

編集するプロジェクトをユーザーに尋ねるか、見つけます。

find . -name "design-profile.json" -maxdepth 3

以降のコマンドはすべて、プロジェクトディレクトリ内で実行します。

手順

ステップ 1)対象を特定する

デッキを調べて、スライド/シェイプの UID を確認します。

uvx --from agent-slides slides inspect output.pptx \
  --fields slides.slide_uid,slides.shapes.shape_uid,slides.title \
  --out ids.json --compact

特定のテキストを検索します。

uvx --from agent-slides slides find output.pptx --query "<search text>" --limit 10 \
  --out find.json --compact

スライド数が多いデッキでページネーションを行います。

uvx --from agent-slides slides inspect output.pptx --page-size 5 --page-token 0 --compact

その他の確認:

uvx --from agent-slides slides inspect output.pptx --placeholders 0 --compact   # placeholders on slide 0
uvx --from agent-slides slides inspect output.pptx --summary --compact           # deck summary
ステップ 2)編集前の評価

変更を加える前に、以下を簡潔に記録します。

  • うまくできている点:現在のデッキの長所を特定し、維持します。
  • 変更範囲:影響を受けるスライドと、変更しないスライドを確認します。
  • リスク:この編集によって、レイアウト、コントラスト、ストーリーの流れが損なわれる可能性があるかを確認します。

これにより、過剰な編集を防ぎ、既存の品質を保てます。

ステップ 3)変更を適用する

テキストの編集(UID で対象を絞った検索と置換):

uvx --from agent-slides slides edit output.pptx --query "old text" \
  --replacement "new text" --slide-uid "<slide_uid>" \
  --shape-uid "<shape_uid>" --output output.pptx --compact

代替セレクター:--slide <index>、--slide-id <slide-N>、--shape-id <shape_id>。

アーキタイプ変換(スライドのスタイルを変更):

uvx --from agent-slides slides transform output.pptx --slide-uid "<slide_uid>" \
  --to timeline --output output.pptx --compact

ops ベースのパッチ(追加の操作を適用):

uvx --from agent-slides slides apply output.pptx --ops-json @patch_ops.json --output output.pptx --compact

patch_ops.json を次のように記述します。

{
  "operations": [
    {"op": "replace_text", "slide_index": 3, "old": "Draft", "new": "Final"},
    {"op": "add_text", "slide_index": 5, "text": "New insight", "left": 1.0, "top": 5.0, "width": 4.0, "height": 0.5, "font_size": 16}
  ]
}
ステップ 4)変更を検証する
uvx --from agent-slides slides find output.pptx --query "new text" --compact
ステップ 5)QA を再実行する
uvx --from agent-slides slides qa output.pptx --profile design-profile.json \
  --slides-json @slides.json --out qa.json --compact
ステップ 6)修復する(必要な場合)
uvx --from agent-slides slides repair output.pptx --output output.pptx

プレースホルダーのルール

  • 推測したインデックスで set_placeholder_text を使用しないでください。 標準プレースホルダーには、role(title、subtitle、body)を指定して set_semantic_text を使用します。
  • set_placeholder_text は、inspect または template_layout.json で確認した正確な idx を指定する場合にのみ使用してください。
  • --query で置き換えられるのはテキストの内容のみです。書式(フォントサイズ、色、太字)は変更されません。書式を変更するには、新しい add_text ops を使った ops パッチを使用します。

アンチパターン(してはいけないこと)

  • 書式(フォントサイズ、色、太字)の修正に --query を使用しないでください。置き換えられるのはテキストの内容のみです。代わりに ops パッチを使用してください。
  • プレースホルダーのインデックスを推測しないでください。role を指定した set_semantic_text、または inspect で確認した正確な idx を使用してください。
  • 最初に確認せずに編集しないでください。必ず inspect または find で対象を特定してください。
  • 編集が機能したことを検証せずに入力ファイルを上書きしないでください(編集後に find または inspect を実行してください)。
  • ストーリーの構成を変更したり、コンテンツを書き換えたりしないでください(その場合は /slides-critique または /slides-build を使用します)。

エラー処理

スライドに関するエラーが発生した場合は、再試行する前に uvx --from agent-slides slides docs method:edit を実行し、現在の仕様を確認してください。

受け入れ基準

  1. 編集内容を find または inspect サブコマンドで検証できること。
  2. qa.json が "ok": true を報告すること。
  3. 未解決のトークンや、仕様上クリティカルな問題が残っていないこと。

コメント