Skip to main content Skills Marketplace Découvrez et explorez les compétences IA créées par la communauté.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Copier le promptAfficher les détails du prompt Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
npx skills add https://github.com/runceel/super-dotnet-new-01 --skill pptx-slideLa commande reste sur une seule ligne. Faites défiler horizontalement pour la vérifier avant de la copier.
Vous préférez une copie locale ? Téléchargez les fichiers actuellement disponibles dans SkillsMP.
Télécharger Zip Téléchargement... Métiers associés SOC
Basé sur la classification professionnelle SOC
Explorateur de fichiers
10 fichiers name pptx-slide description Microsoft 公式テーマを使った本格的な PowerPoint (.pptx) スライドを作成する。72 種のレイアウトを持つ seed.pptx をベースに、C# スクリプトで unpack → スライド追加 → XML 編集 → pack を行い、Visual QA まで実施。「PowerPoint スライドを作成」「pptx で作って」「テーマ付きスライド」「顧客向けプレゼン資料」「Microsoft テーマ」などの依頼で使用。 argument-hint スライドの内容(タイトル、構成、保存先)を指定してください
PPTX テーマ付きスライド作成
概要
Microsoft 公式テーマ(2024-07-29-theme.thmx)が適用済みの seed.pptx をベースに、C# スクリプト(unpack / add-slide / pack / export-images)を使って本格的な PowerPoint スライドを作成します。
72 種のスライドレイアウトから適切なものを選び、XML を直接編集してプロフェッショナルなスライドを構築します。Visual QA(サブエージェントによる目視チェック)まで含む完全なワークフローです。
前提条件
Windows + PowerPoint がインストールされていること(COM 連携で使用)
.NET 10 SDK 以降 (C# file-based apps)
ファイル構成
スキル assets:
.github/skills/pptx-slide/
├── assets/
│ ├── seed.pptx # Microsoft テーマ適用済みベース (11.5MB)
│ ├── layouts.md # 72 種レイアウトカタログ
│ └── scripts/
│ ├── unpack.cs # PPTX 展開 + XML pretty-print
│ ├── pack.cs # 展開ディレクトリ → PPTX
│ ├── add-slide.cs # レイアウト指定スライド追加
│ ├── list-layouts.cs # レイアウト一覧取得
│ ├── export-images.cs # JPG エクスポート(QA 用)
│ └── add-bullet-fade-animation.cs # 箇条書きフェードアニメーション追加(オプション)
└── references/
└── bullet-fade-animation.md # 箇条書きフェードアニメーションの詳細
ワークフロー
1. 保存先決定
ユーザーに 最終 PPTX の保存先 (ディレクトリとファイル名)を確認する
作業中の中間ファイル(unpacked ディレクトリ、JPG など)は 配下(gitignore 対象)に置く
.tmp/
2. seed.pptx を作業ディレクトリにコピー Copy-Item ".github/skills/pptx-slide/assets/seed.pptx" -Destination "<作業ディレクトリ>/<出力ファイル名>.pptx"
ここでは、unpack 後に編集するため、.tmp/<作業名>.pptx にコピーするのが便利です。
3. unpack(展開) dotnet run .github/skills/pptx-slide/assets/scripts/unpack.cs <入力.pptx> <展開先ディレクトリ>
dotnet run .github/skills/pptx-slide/assets/scripts/unpack.cs .tmp/work.pptx .tmp/work-unpacked
展開先には ppt/, _rels/, [Content_Types].xml などが含まれます。
4. レイアウト選定 スライド構成を計画し、各スライドに使うレイアウト番号を決めます。assets/layouts.md の主要レイアウト一覧から選びます。
3 : タイトル スライド(表紙)
13 : タイトルとコンテンツ(標準)
15 : Two Column Bullet text(2 列箇条書き)
22 : タイトルのみ
45 : Developer Code Layout(コード)
51 : Section Title(セクション区切り)
66 : Thank you slide(クロージング)
⚠️ レイアウトは積極的に変えること 。毎スライド「タイトル + 箇条書き」だけは退屈なスライドの典型。2 列、写真系、コード、引用、セクション区切り等を組み合わせる。
5. スライド追加 各スライドを add-slide.cs で追加します:
dotnet run .github/skills/pptx-slide/assets/scripts/add-slide.cs <展開先ディレクトリ> layout:N
dotnet run .github/skills/pptx-slide/assets/scripts/add-slide.cs .tmp/work-unpacked layout:3 # 表紙
dotnet run .github/skills/pptx-slide/assets/scripts/add-slide.cs .tmp/work-unpacked layout:15 # 2列
dotnet run .github/skills/pptx-slide/assets/scripts/add-slide.cs .tmp/work-unpacked layout:13 # 標準
実行すると ppt/slides/slide1.xml、slide2.xml、slide3.xml が生成されます。
6. XML 編集(プレースホルダー置換) 各 ppt/slides/slideN.xml の placeholder にコンテンツを書き込みます。
<p:ph type="title"/> — タイトル
<p:ph type="body" idx="N"/> — 本文
<p:ph sz="quarter" idx="N"/> — 多列レイアウトの各列(idx の値で識別)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<p:sld xmlns:a ="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r ="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:p ="http://schemas.openxmlformats.org/presentationml/2006/main" >
<p:cSld >
<p:spTree >
<p:nvGrpSpPr >
<p:cNvPr id ="1" name ="" />
<p:cNvGrpSpPr />
<p:nvPr />
</p:nvGrpSpPr >
<p:grpSpPr >
<a:xfrm > <a:off x ="0" y ="0" /> <a:ext cx ="0" cy ="0" />
<a:chOff x ="0" y ="0" /> <a:chExt cx ="0" cy ="0" /> </a:xfrm >
</p:grpSpPr >
<p:sp >
<p:nvSpPr >
<p:cNvPr id ="2" name ="Title 1" />
<p:cNvSpPr > <a:spLocks noGrp ="1" /> </p:cNvSpPr >
<p:nvPr > <p:ph type ="title" /> </p:nvPr >
</p:nvSpPr >
<p:spPr />
<p:txBody >
<a:bodyPr />
<a:lstStyle />
<a:p >
<a:r > <a:rPr lang ="ja-JP" dirty ="0" /> <a:t > タイトル文字列</a:t > </a:r >
</a:p >
</p:txBody >
</p:sp >
</p:spTree >
</p:cSld >
<p:clrMapOvr > <a:masterClrMapping /> </p:clrMapOvr >
</p:sld >
レイアウト本体(.tmp/work-unpacked/ppt/slideLayouts/slideLayoutN.xml)を参照すれば、placeholder の type / idx / 位置サイズが分かります。
7. pack(再パック) dotnet run .github/skills/pptx-slide/assets/scripts/pack.cs <展開先ディレクトリ> <出力.pptx>
dotnet run .github/skills/pptx-slide/assets/scripts/pack.cs .tmp/work-unpacked <保存先>/slides.pptx
8. Visual QA 用に JPG エクスポート dotnet run .github/skills/pptx-slide/assets/scripts/export-images.cs <出力.pptx> <JPG出力先>
dotnet run .github/skills/pptx-slide/assets/scripts/export-images.cs <保存先>/slides.pptx .tmp/qa
slide-01.jpg, slide-02.jpg, ... が生成されます。
9. サブエージェントによる Visual QA サブエージェント(general-purpose / explore)に以下のプロンプトで Visual QA を依頼:
以下のスライド画像を視覚的に検査してください。問題があることを前提に、バグ探しとして確認してください。
確認ポイント:
- テキストの重なり・はみ出し・切れ
- テキストとボックス境界のオーバーフロー
- 低コントラスト(背景と文字が似た色)
- 要素間の間隔が狭すぎる・広すぎる
- スライドの内容が期待通りか(空欄やプレースホルダーテキストの残留がないか)
- 全体的なレイアウトの問題
画像を読み込んで分析してください:
1. <パス>/slide-01.jpg (期待: ...)
2. <パス>/slide-02.jpg (期待: ...)
3. ...
各スライドの問題点を全て報告してください。
10. 修正ループ QA で指摘された問題があれば、XML を編集 → pack → export-images → 再 QA を繰り返します。最低 1 回は修正→再検証サイクルを回してから完成とすること 。
オプション: 箇条書きアニメーション ユーザーから「箇条書きを 1 つずつ表示したい」「アニメーションを付けて」と明示的に依頼された場合のみ、トップレベル箇条書きごとに 1 クリックでフェード表示するアニメーションを追加できます(ぶら下がりの子要素は親と同時表示)。
専用スクリプト assets/scripts/add-bullet-fade-animation.cs を使用します。デフォルトのスライド作成ワークフローには含めません (必要なときだけ追加します)。
XML 編集のコツ
見出しに bullet を付けないようにする リスト系レイアウト(13, 15 など)では bullet がデフォルト ON です。見出し行(「経歴」「専門分野」など)から bullet を消すには:
<a:p >
<a:pPr lvl ="0" > <a:buNone /> </a:pPr >
<a:r > <a:rPr lang ="ja-JP" b ="1" dirty ="0" /> <a:t > 経歴</a:t > </a:r >
</a:p >
多項目は <a:p> を分ける <a:p >
<a:r > <a:t > 1. 項目A 2. 項目B 3. 項目C</a:t > </a:r >
</a:p >
<a:p > <a:pPr lvl ="0" /> <a:r > <a:rPr lang ="ja-JP" /> <a:t > 項目A</a:t > </a:r > </a:p >
<a:p > <a:pPr lvl ="0" /> <a:r > <a:rPr lang ="ja-JP" /> <a:t > 項目B</a:t > </a:r > </a:p >
<a:p > <a:pPr lvl ="0" /> <a:r > <a:rPr lang ="ja-JP" /> <a:t > 項目C</a:t > </a:r > </a:p >
日本語テキストの折り返し 日本語は文節区切り判定が弱く、長い文章は不自然に折り返します。対策:
文章を短くする(25 文字程度を目安)
体言止めにする
並列項目は箇条書きに分ける
HTML 実体参照 & は & に、< は < に、> は > にエスケープしてください。
bold / italic
bold: <a:rPr ... b="1"/>
italic: <a:rPr ... i="1"/>
カラー: <a:rPr ...><a:solidFill><a:srgbClr val="FF0000"/></a:solidFill></a:rPr>
注意事項
スライドのテキストは 日本語 で作成する
絵文字は使用しない 。プロフェッショナルなビジネス資料として、テキストのみで表現する
著者名は「Kazuki Ota」、所属は「日本マイクロソフト」(または「Microsoft Japan」)をデフォルトとする
中間ファイル(unpacked ディレクトリ、JPG)は .tmp/ 配下に置き、最終 PPTX のみ作業フォルダーに保存
完成前に必ず Visual QA を実施し、最低 1 回は修正サイクルを回す
トラブルシューティング
Presentations.Open : 無効な要求です エラーexport-images.cs で COM 引数の型変換が失敗している。-1 (msoTrue) などを dynamic 経由で渡せない。リフレクション(InvokeMember)経由に切り替え済み。最新版を使うこと。
Built-in COM has been disabled エラー.NET 10 以降は COM がデフォルトで無効。export-images.cs の先頭で #:property BuiltInComInteropSupport=true を設定済み。
PowerPoint で開けない 通常は unpack → pack だけでファイルが壊れないはずだが、XML 編集ミスが原因のことが多い。
<a:t> の中身にエスケープ漏れの &, <, > がないか
閉じタグの抜け
placeholder の type / idx の重複
pack 後に PowerShell でファイルを開いてエラーを確認すると判明しやすい:
$ppt = New-Object -ComObject PowerPoint.Application
$ppt.Visible = $true
$pres = $ppt.Presentations.Open((Resolve-Path "<出力.pptx>").Path)