本文へ移動
cccskills
無料GitHub で公開

consulting-pptx-skill

スライド設計規約 slide-rules.md を核に、経営会議品質のスライドを作るスキル。作成前に規約を読み、HTMLパーツ集(基本27+追加35の62型)から該当パーツをコピーして組み、規約の範囲で型に囚われず調整し、check_deck.py の機械チェック FAIL 0 で仕上げる。

型カタログはレイアウトの発想帳であり、合わせる対象ではない。既存の PowerPoint 資料を渡され、そこへ差し込むページを PPTX で求められたときだけ、その資料のマスターの上に直接組む(slide-rules §8.7)。

トリガー例:「コンサル品質のスライドを作って」「規約に沿ったデッキで」「型カタログから選んで」「この pptx に足すページを同じ書式で」。

インストール方法を見る

含まれるファイル(31)

  • SKILL.md15.9 KB
  • .github/pull_request_template.md1.2 KB
  • .gitignore418 B
  • assets/SlideCatalog_16x9.pdf2.0 MB
  • assets/SuperTemplate_62type.pptx280.1 KB
  • CONTRIBUTING.md7.0 KB
  • examples/house_deck_example.py4.4 KB
  • LICENSE1.0 KB
  • local/README.md1.6 KB
  • package.json388 B
  • README.md16.7 KB
  • references/ai-smell-lexicon.md6.3 KB
  • references/archetype-catalog.md9.6 KB
  • references/content-review-prompt.md8.6 KB
  • references/slide-rules.md143.1 KB
  • scripts/check_deck_layout.py7.0 KB
  • scripts/check_deck.py47.0 KB
  • scripts/check_layout.mjs13.6 KB
  • scripts/deck_pptx.py22.2 KB
  • scripts/html_dump.mjs22.2 KB
  • scripts/html_to_pptx.py13.9 KB
  • scripts/lib_cdp.mjs3.8 KB
  • scripts/measure_deck.py19.2 KB
  • scripts/new_deck.py10.8 KB
  • scripts/pptx_open.py1.5 KB
  • templates/freeform_parts_16x9.html60.6 KB
  • templates/freeform_parts_more_16x9.html110.4 KB
  • tests/fixtures/good_deck.html75.8 KB
  • tests/test_checks.py17.3 KB
  • tests/test_house_pptx.py12.3 KB
  • TRADEMARK.md7.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

コンサル型スライド作成スキル

主軸は references/slide-rules.md。作成前に全文を読み(冒頭の「資料の種類ごとに、特に効く項目」で、作る資料に当たる行の § を確かめる)、HTMLパーツ集でたたき台を組み、規約の範囲で調整し、機械チェック FAIL 0 と目視で仕上げる。パーツ集と型カタログは規約を効率よく満たす道具であり、スライドを型に合わせるのではなく、型をストーリーに合わせて選び、合わなければ捨てて自由に組む。

成果物は HTML(16:9・1 section = 1スライド)と、Chrome で印刷した PDF。

ファイルと読むタイミング

ファイル中身読む・使うタイミング
references/slide-rules.md規約の正典必読。作成前に全文
references/archetype-catalog.md62型の一覧(型ID・型名・使いどころ・どのパーツ集の何番か)ストーリーラインの各行に見せ方を書くとき、見せ方に迷う行があれば引く(必読ではない。手順2)
references/content-review-prompt.mdフレッシュアイ・レビューの指示文機械チェック通過後、納品前
references/ai-smell-lexicon.mdAI臭ワード・言い回しのリスト文章の仕上げ時
templates/freeform_parts_16x9.html基本パーツ集 27(表紙・全体マップ・矢羽・前提→帰結・軸のある表・主張パネル・評価表・分布図など)。まずここから手順3
templates/freeform_parts_more_16x9.html追加パーツ集 35(エグゼクティブサマリー・積み上げ棒・ブリッジ・散布図・比較表・マトリクス・ロードマップ・ガントなど)。基本で足りないとき手順3
assets/SlideCatalog_16x9.pdf両パーツ集を印刷した62ページ(P.1〜27 基本、P.28〜62 追加)型を目で探すとき
scripts/new_deck.pyパーツ番号を並べて1本のHTMLを生成手順3
scripts/check_deck.py規約の機械チェック(HTML は標準ライブラリのみ)手順6
scripts/check_layout.mjs重なり・はみ出し・空きの多いページの実レンダリング検査(npm run setup で playwright を入れる)手順7
tests/test_checks.py機械チェックの自己テスト(直していない版で発火し、直した版で通ることを確認)機械チェックを足した・直したとき
scripts/html_to_pptx.py仕上げた HTML を編集できる PPTX に変換(html_dump.mjs・lib_cdp.mjs を使う)ユーザーが PPTX を明示したときだけ
assets/SuperTemplate_62type.pptx62型のPPTX見本帳(全スライド編集可能)PPTX を手で組むとき
scripts/measure_deck.py既存の PowerPoint 資料(.pptx/テンプレートの .potx)の書式を測って skin.json に書き出す既存の資料へ差し込むページを作るとき(最初に)
scripts/deck_pptx.pyその資料のマスターの上に、同じ書式のページを組む部品(作例は examples/house_deck_example.py)同上
local/(git 管理外)利用者の組織の規約 slide-rules.local.md・禁止語 forbid.txt・自前テンプレ(local/README.md)あれば本体の規約の後に必ず読む。無ければ飛ばす

規約の要点(入口。全文は必ず読む)

  • タイトル: 結論を書く。1行が基本、長ければ意味の切れ目で2行(縮小して詰めない)。です/ます禁止。タイトルだけ通し読みして1本のストーリーになること
  • レイアウト: 1スライド=1メッセージ。左=事実・図、右=意味合い。下部の「POINT」帯禁止
  • 表: 行=項目・列=観点の「軸のある表」。ヘッダーは本文より大きく太字・塗りなし。最終行の下に罫線なし
  • 装飾: 角丸禁止。塗りボックスに枠線なし。色分けするなら同一スライドに凡例
  • 図: 推移・構成比・分布はグラフで描く。表に流し込んで済ませない(§5.11)
  • 数: タイトルに書いた数と本文の連番を一致させる(§2.9)。ページの中身の個数はタイトルに書かない(§2.4)
  • 文章: 1資料1用語。略語は初出でフル表記。ブレット語尾は階層内で統一

手順

  1. 作る前に定義する: 目的・成果物の定義・スコープ IN/OUT を3〜5行で先に合意する。
  2. ストーリーライン(1枚1行のタイトル列)を書き、各行に見せ方を併記する(図/表/矢羽/2カラム/数値カード)。推移・構成比・分布・相関は必ず図。見せ方に迷う行は references/archetype-catalog.md を見る。
    • 章扉は b27(アジェンダ再掲型)。section は s chap でページ番号に数えない(§4.45)。10枚前後なら章扉は要らない。
    • 表の列幅: 列の内容が同種(時点・案・部門)なら <table class="eq"> で等幅にし、最後の列だけに余白を吸わせない。説明・ブレットの列があるときだけ、その列に余白を渡す。
    • 枚数に上限があるときの削る順: 章扉・目次 → 全体マップと重複する本文 → 補足・付録。表紙・全体マップ・結論ページ・裏表紙は残す。リスクの列挙は対応策と同じ1枚にする(§4.29)。
  3. たたき台を生成する:
    python3 scripts/new_deck.py --list                                   # 番号と型名(b01〜b27 基本/m01〜m35 追加)
    python3 scripts/new_deck.py --parts b01,b02,m05,b06,b09,b10 --title "資料名" -o mydeck.html
    
    両パーツ集のCSS結合・見出し様式の統一・ページ番号の振り直しはスクリプトが行う。手でコピーして組まない。生成後、プレースホルダー(Text N / ラベル N / YYYY)を実物に差し替える。 出典行(.src・.source)は既定で入っているので、出典を置く資料(§4.47)でなければ消す(営業提案・定例は原則置かない)。
  4. グラフが要るページは、表パーツに流し込まず自分で描く。
  5. 調整: 表を2枚に割る、右カラムを帰結形に書き直す、粒度の揃わない並列を書き直す。1枚ごとに「この型のままでよいか」を疑う。受けた指摘は slide-rules.md に1行追記し、測れる指摘は機械チェックにもする(slide-rules §8「指摘は規約1行と機械チェックの両方にする」)。
  6. python3 scripts/check_deck.py mydeck.html → FAIL 0(表紙・裏表紙・章扉の「タイトル空」WARN は許容)。出力されるタイトル一覧を通し読みする。本文に残ったプレースホルダー、型名のままのタイトル、2文以上詰めた文章塊も FAIL になる。
    • 社外に出すデッキは、顧客名・社内語・案件コードを1行1語で書いたリスト(リポジトリの外に置く)を当てる: python3 scripts/check_deck.py mydeck.html --forbid ~/.config/deck-forbidden-terms.txt。HTMLコメントや属性に残った語も拾い、語そのものは出力に出さない。
  7. node scripts/check_layout.mjs mydeck.html → OK(playwright が別の場所にあるなら PLAYWRIGHT_MODULE_DIR で指す)。版面の40%超が空いたページも FAIL になる。 中身の無い列が残ったグリッド、ページ間でずれたタイトルの大きさも FAIL、下部の結論帯らしき要素は WARN で出る。
  8. フレッシュアイ・レビュー: references/content-review-prompt.md の指示文を、作り方を伏せた別のエージェントに渡してデッキのファイルを読ませる。指摘を採否表(採用/不採用/保留+理由)にし、採用分だけ直して手順6・7を再実行する。
  9. PDF 化して全ページ目視する。 機械チェックは重なり・はみ出し・規約違反しか見ない。棒が潰れる、図が空になる、下半分が空く、泣き別れ、左右の下端不揃いは目視でしか分からない。パーツのCSSは自分のデッキ側で直してよい(直したら templates/ にも反映する)。 全ページを画像にしてから見る(一部のページだけ画像にして「全ページ確認済み」と報告しない)。報告には実際に見たページの番号を書く。
    "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless --disable-gpu \
      --no-pdf-header-footer --print-to-pdf=mydeck.pdf mydeck.html
    

PowerPoint(.pptx)が要るとき

資料は HTML で仕上げる。PPTX にするのは、ユーザーが「PPTX で」「パワポにして」と明示したときだけ。 修正・レビューの往復はすべて HTML 上で回し、変換は最後に1回だけにする。HTML のほうが直すのも機械チェックも速く、PPTX で直すと HTML と中身がずれる。PPTX を渡した後に修正が来たら、HTML を直して変換し直す。明示が無ければ PDF で渡す。

  1. HTML で手順6〜9(機械チェック FAIL 0・フレッシュアイ・レビュー・PDF 目視)まで済ませる
  2. 変換: python3 scripts/html_to_pptx.py mydeck.html → 同じフォルダに mydeck.pptx(Node 22+・Chrome・pip3 install python-pptx が必要)
  3. python3 scripts/check_deck.py mydeck.pptx を FAIL 0 に。PowerPoint で開いて(または PDF に書き出して)文字の折り返しと重なりを目視する
  4. 社外に送るなら、ファイルのプロパティ(作成者・会社名など)を消す

変換の中身と限界(詳細は slide-rules.md §8.6):

  • 編集できる形で再現: 文字(書体・大きさ・色・行間・折り返し幅・箇条書き書式)、塗りと枠(角丸・clip-path の多角形・CSS の三角形)、罫線、表(結合セル・セルの塗り・罫線・余白・縦書き)
  • 画像になる(中の文字や数値は編集できない): SVG のチャート・図、img、背景画像
  • 書体は和文ゴシック=Yu Gothic、明朝=Yu Mincho に置き換える。字幅の差で行末が1字ずれることがあるので目視は省かない
  • 再現しない: 回転・変形(CSS の transform)、::before/::after で描いた装飾(背景付きの丸数字など。行頭記号の文字は箇条書き書式として再現する)。これらはパーツ側で使わないか、変換後に PowerPoint で直す

PPTX を一から手で組むときの見本として assets/SuperTemplate_62type.pptx(62型・全スライド編集可能)も置いてある。

既存の資料へ差し込むページ

入れる先の PowerPoint 資料(社内の標準デッキ・作りかけの提案書)を渡されたときは、変換せずに その資料のマスターの上で直接組む。変換した PPTX は書体と版面が自前なので、差し込むと浮く(slide-rules §8.7)。文章・表の軸・1枚1メッセージの規約はそのまま。

  1. 測る: python3 scripts/measure_deck.py house.pptx → house.skin.json(書式が .potx で配られたときもそのまま渡せる)。要約を読み、資料を目で見て値を直す
  2. 組む: examples/house_deck_example.py を手本に scripts/deck_pptx.py で組む。書体・地色・ページ番号をスライドに書かない/タイトルはプレースホルダー/表はテキストボックス+罫線(table())/色は資料のテーマ色
  3. python3 scripts/check_deck.py pages.pptx --house house.skin.json → FAIL 0。PowerPoint で開く前に必ず通す(不正なファイルを開かせると、ユーザーの PowerPoint に修復のダイアログが残る)
  4. 全ページを目視する(手段は slide-rules §8 の目視QAと同じ)
  5. 渡すのは差し込むページだけのファイル。資料へ入れるのはユーザー(「貼り付け先のテーマを使用」)

本スキル使用の注釈

「本資料は consulting-pptx-skill(github.com/carnot-tech/consulting-pptx-skill)で作成」の一文は裏表紙(b10)の左下の出典行に既定で入っている。置けるのは最終ページの出典行だけ。他のページにツール名が出ていると check_deck.py が FAIL にする(クライアントに出せる体裁)。裏表紙を使わないデッキでは最終ページの出典行に足す。

スキルを育てる(更新・自分の規約・PR)

このスキルは規約と機械チェックを使った人の指摘で良くなる。次の 3 つを作業の一部として行う。

  1. 最新を取り込む。 セッションの最初に、スキルのフォルダが git clone なら git fetch して origin/main より遅れていれば「スキルの最新版を取り込みますか」と一度だけ聞く(目安は週 1 回)。git pull で取り込む。利用者の変更は local/ に置くので衝突しない。本体のファイルを直接直している場合は、その差分を先に local/ か PR に逃がす
  2. 自分の規約は local/ に置く。 利用者から「当社ではこうする」という指摘を受けたら、本体の references/slide-rules.md を書き換えず local/slide-rules.local.md に 1 行足す。顧客名・案件コードは local/forbid.txt に入れて --forbid で検査する。自前のパーツ集・差し込み先の資料・skin.json は local/templates/
  3. 汎用化できる指摘は PR にする。 作業中に、本体の規約の誤検知・見逃し・どの組織でも効く新しい指摘に当たったら、納品後に「この修正を本体に PR で出しませんか」と一度だけ提案する。出し方は CONTRIBUTING.md(規約 1 行+check_deck の判定+修正前に FAIL・修正後に通るテスト)。PR を作る前に CONTRIBUTING.md の「PR に入れないもの」を読む: 顧客名・案件コード・金額・担当者名・実案件のファイル・skin.json は差分にもコミットメッセージにも PR 説明にも入れない(会話に出た案件の文脈が混ざりやすいので push 前に差分と説明を見直す)。1 社の好みや理由の書けない規則は本体でなく local/ へ。既定を変える規則は条件付きで書く。利用者が承諾したら gh pr create まで行う。断られたら次のセッションまで再提案しない

色と書体

両パーツ集の既定は同じ暖色系(生成りの地・濃茶の文字・茶のアクセント。本文ゴシック・見出し明朝)。トークンは各ファイルの <style> 冒頭 :root。片方を変えたらもう片方も揃える。ネイビー系の値はコメントで同梱。意味を持つ色(✕の赤など)は変えない。2系列の区別はメインカラー×グレーの2色に抑える。製品UIのスクリーンショットは無加工。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する