proofread-presentation について
Proofread Presentation は、テーマを適用した完成済みの PRESENTASJON.md を検証し、限定的な機械的問題を安全に修正するスキルです。テーマ、マークアップ、アクセシビリティ、可読性、メディア、参照、書き出しの整合性を確認し、内容上の懸念や阻害要因を報告します。
主な機能
- 01プロジェクトとテーマの準備状況確認
- 02機械的な問題の安全な修正
- 03アクセシビリティとレイアウトの検証
- 04スライド画像の確認
- 05参照と PDF の整合性確認
活用シーン
- 01完成したテーマ付きスライドの確認
- 02アクセシビリティとレイアウトの阻害要因の発見
- 03スライドの参照と PDF の整合性確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ken-guru/ skills --skill proofread-presentationインストール後、Claude Code で/proofread-presentationを入力して読み込まれたか確認します。
同梱ファイルevals/proofread-presentation.json
詳細
プレゼンテーションの校正
既存のテーマ適用済み PRESENTASJON.md を検証し、機械的な問題を安全に修正して、コンテンツに関する懸念を報告します。ブロッキングチェックに合格した場合にのみ、Proofread の状態を更新します。
出力のトーン
校正レポート、警告、ユーザー向けの修正案には、軽い人間らしさの調整を加えてください。確認された問題と次の対応を具体的に示してください。引用、明確さのために修正が必要な場合を除くアクセシビリティテキスト、プロジェクトの状態、コマンド、セマンティックマークアップの契約は維持してください。すべての校正レポートではスタンドアロンの unslop Skill を使用してください。また、プレゼンテーションのコピー編集を依頼された場合は、DISCOVERY.json.editorialPreferences に基づく必須の完全な編集工程として使用してください。
起動時
DISCOVERY.json、PROJECT.json、PRESENTASJON.md、Node.js、Marp CLI が必要です。プロジェクトローカルの themes/theme-lock.json、選択された Theme Manifest、宣言された CSS、アセットを読み取ってください。変更を加える前に、ロックに記録された SHA-256 フィンガープリントを再計算し、以下で説明するマニフェストの契約を検証してください。Theme Package が存在しない、変更されている、または互換性がない場合は致命的なエラーです。他のフェーズの Skill がインストールされていることを前提にしてはいけません。
Proofread は完成済みのデッキをレビューします。ほかの作業に着手する前に、PROJECT.json から準備状況を確認してください。
phases.generation.statusが"done"でない場合:変更を加えずに停止し、スライドの生成中であることをユーザーに伝えてください。先にgenerate-slidesを完了する必要があります。IMAGE_SPEC.mdまたはDIAGRAM_SPEC.mdが存在し、そのメディアフェーズ(imagesまたはdiagrams)が"done"でも"skipped"でもない場合:保留中のメディアフェーズを明示し、先にレンダリングする(generate-imagesまたはgenerate-diagrams)か、今すぐ校正するかを尋ねてください。今すぐ校正する場合は、未レンダリングのメディアを警告内で想定される保留中のメディアとして報告し、ブロッキングエラーとして扱わないでください。
ロックされた Theme Manifest を読み取り、Editorial、Signal、Field Notes の動作をハードコードせず、そのインターフェースに照らして検証してください。
Presentation Skill Suite がすべてインストールされている場合は、完了前に読み取り専用の presentation-validation ディスパッチャーを proofread プロファイルで実行してください。利用できない場合は、Suite のインストール契約のもとでは完全な検証を実行できないことを報告してください。自動でインストールしてはいけません。
安全な機械的修正
- Agenda と Media Specs から意図が明確な場合は、意味のあるメディアに不足している用途に基づく
altテキストを追加します。 - 明示的に装飾目的の画像には、空の
altテキストを使用します。 - 発表者ノートの末尾の空白を削除します。
- スライドの既存のアーキタイプとコンテンツから意図するスロットが明確な場合は、不足しているセマンティック Content Slot クラスを修正します。
メディアを img-right に変更したり、class: invert を追加したり、テーマのインライン CSS を挿入したり、アーキタイプを変更したり、別のバリエーションを選んだり、Media Intent を書き換えたり、コンテンツを自動的に削除したりしてはいけません。
別のフェーズが必要な修正
ブロッキング問題の解決に別の Phase Skill が必要な場合(Effective Text Size に準拠しない図、古くなったエクスポートなど)、実行する Skill、その順序、各再レンダリングの対象スライド、上書きするファイル、保持するファイルを記載した Decision Prompt を 1 つ提示してください。回答を得る前に Proofread は何も変更しません。図のレイアウト変更が必要な場合は generate-diagrams を明記し、レイアウトの選択は generate-diagrams に委ねてください。ユーザーが修正を選んだ場合は、指定された各 Skill を順番に実行してください。それぞれの Skill は、自身の書き込み、状態変更、チェックを引き継ぎます。
ブロッキング検証
テーマとマークアップ
- フロントマターに
marp: true、解決済みのテーマ ID、size: 16:9、paginate: true、プレゼンテーションの言語が含まれていること。 - フロントマターにコピーされたテーマ CSS が含まれていないこと。生成された External Font Override スタイルのみ許可されます。
- すべてのスライドで、サポート対象の Slide Archetype が正確に 1 つ、サポート対象の Archetype Variation が正確に 1 つ、Theme Manifest の tonal state が宣言されていること。
- 入力済みのすべてのノードが、共有 Semantic Slide Markup と Content Slots を使用していること。テーマ固有のセマンティックラッパーが存在しないこと。
- 分類が Agenda および Media Spec のビジュアルタイプと一致していること。
アクセシビリティと読みやすさ
- 意味のある画像、チャート、図には目的に沿った代替テキストがあり、装飾的なメディアは読み上げ順序に含まれません。
- DOM の順序は、見出し、本文または要点、メディア、キャプションの順です。
- 重要な文言はラスター画像ではなく、実際のテキストで記述されています。
- コントラスト比は、本文・補足テキストで 4.5:1 以上、大きな見出しで 3:1 以上、意味のある非テキストのグラフィックで 3:1 以上です。
- 1280×720 の基準スライドでは、タイトルは 54 px 以上、見出しは 36 px、本文と指標ラベルは 28 px、キャプションとクレジット表記は 20 px、ページ番号とコンテキストラベルは 18 px 以上です。
- 本文の行高は 1.25~1.5、ディスプレイテキストの行高は 1.0 以上です。すべて大文字の表記は、短いラベルと簡潔な Signal 見出しに限ります。
容量、衝突、メディア
- コンテンツは、選択した構成で宣言されている Content Capacity を超えません。
- テキストや意味のあるメディアがスライドからはみ出したり、ほかの保護対象の Content Slot と重なったり、切り取られたり、スクロールや省略表示されたり、端から 32 px 以内に配置されたりすることはありません。
- 重要なテキストをラスター画像に重ねることはありません。
- 画像の寸法は Intended Media Orientation と一致しています。
- ラスターメディアを元のサイズより拡大することはありません。代替ラスター出力は表示寸法の 2 倍以上です。
- トリミングしても Media Intent が保たれ、図のラベルとチャートの値は 100% 表示で判読できます。
- テーマの色調整後も、意味を持つ色と必要なコントラストが保たれます。
上記のいずれかに不備がある場合、作業の完了は認められません。不備はスライド番号と該当する archetype/slot を添えて報告します。
スライド画像のレビュー
HTML はアクセシブルな基準出力であるため、上記の視覚的なチェックは、HTML のスライド画像を対象に行います。Marp は PDF のエクスポートで既に必要とされていたものと同じローカルブラウザーでレンダリングします。ダウンロードや新たなインストールは不要です。
- Project Folder の外に
mktemp -dを使って一時ディレクトリを作成します。 - Project Folder から
marp <presentation> --images png --allow-local-files -o <temp>/slide.pngを実行します。<presentation>はDISCOVERY.jsonのpaths.presentation(デフォルトはPRESENTASJON.md)です。Marp はプロジェクトの.marprc.ymlテーマを使い、スライドごとにslide.001.png、slide.002.pngのようなファイルを書き出します。 - Marp がブラウザーを起動できない場合は中止し、次のメッセージを添えてブロックします:
❌ Marp found no local browser. Install Chrome, Edge, or Firefox, then rerun. If one is installed, rerun Generate Slides' export to select a working browser.Marp は Project Folder の.marprc.ymlに保存されているブラウザーのexportを読み込むため、スライド画像には PDF と同じブラウザーが使われます。 - 確認対象セットを作成し、そのセット内のすべての画像を開いて確認します。
- 存在する各 Slide Archetype の最初のスライド。
- Picture または Diagram があるすべてのスライド。
presentation-validationの警告に記載されたすべてのスライド。
- レビューの合否にかかわらず、一時ディレクトリを削除します。
確認対象セット内のすべてのスライドを表示し、一時ディレクトリを削除した時点でレビューは完了です。
完了を妨げないコンテンツ上の警告
スライド番号を添えて報告します。
- コードフェンスまたは段階的表示の構文。
- archetype で許可される数を超える箇条書き。
- 発表者ノートがない、またはノートが箇条書き形式ではない。
- ほかのコンテンツと同じスライドにある動画。
- 意味上の見出しがないスライド。
- 言語の混在、用語集の用語の不統一、説明のない略語、文法上の懸念、エンコーディングの問題。
- まだレンダリングされていない、メディアのプレースホルダー。
参照情報の整合性
- Agenda の Picture のファイル名はそれぞれ
IMAGE_SPEC.mdのエントリーと一致し、スライドで使用されるすべての Picture がその仕様に存在します。 - Agenda の Diagram のファイル名はそれぞれ
DIAGRAM_SPEC.mdのエントリーと一致し、スライドで使用されるすべての Diagram がその仕様に存在します。 - 対応するスライドがない Media Spec のエントリーはありません。
- スライドで使用されているすべてのソースリンクには、取得に成功したソースの要約があるか、報告された取得失敗に記載されています。
- スライド数は、ユーザーが異なる数を承認していない限り、確認済みの見積もりの範囲内です。
エクスポートの同等性
presentation-validation の proofread プロファイルでは、PDF を HTML および Markdown と決定論的に照合します。PDF のすべてのページが 16:9 であること、ページ数が HTML のスライド数と一致すること、各スライドのテキストとメディアが Markdown と HTML で一致すること、そして paginate: true の場合にすべての HTML スライドにページ番号が付いていることを確認します。exports.* のブロッキング対象の指摘が 1 つでもあれば、完了できません。該当するスライド番号またはページ番号を添えて報告してください。
PDF は視覚的にレビューされません。どちらのエクスポートも同じ Markdown から Marp と同じブラウザーを使って生成され、スライド画像のレビューでは HTML を対象とします。
完了
修正した問題、ブロッキング対象の失敗、警告、参照結果を報告してください。レポートには次の情報も含めます。
- 確認したスライド: 各スライド番号と Slide Archetype(例:
Slide 4 — text-plus-image)。 - PDF: PDF は視覚的にレビューされておらず、
presentation-validationによって HTML との同等性を確認した旨の記述。
ブロッキング対象の問題が残っていない場合に限り、タイムスタンプを付けて phases.proofread.status = "done" に設定してください。それ以外の場合は保留のままにしてください。
PROJECT.json の projectType: "presentation" を必須とし、Proofread の更新時には無関係なフェーズの記録をすべて保持してください。
Proofread を完了としてマークする前に、検証ディスパッチャーが 0 を返す必要があります。検証結果が 0 であることは必要条件ですが、この Skill の機械的な修正、スライド画像のレビュー、ユーザーレビュー、および状態保持の要件に代わるものではありません。