baoyu-cover-image について
baoyu-cover-imageは、記事のカバー画像を生成するスキルです。タイプ、配色、描画方法、文字量、ムード、フォントを設定でき、参考画像も利用できます。
主な機能
- 01複数の要素でカバーを設定
- 02画像タイプと配色の選択
- 03文字量、ムード、フォントの指定
- 04参考画像による構図やスタイルの指定
- 05生成プロンプトをファイルに保存
活用シーン
- 01記事のテーマに合うカバーを作成
- 02カバーの配色と描画方法を選択
- 03参考画像でビジュアルの方向性を指定
- 04プロンプトファイルで生成設定を記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jimliu/ baoyu-skills --skill baoyu-cover-imageインストール後、Claude Code で/baoyu-cover-imageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/auto-selection.mdbase-prompt.mdcodex-imagegen.mdcompatibility.mdstyle-presets.mdtypes.mdreferences/config/first-time-setup.mdpreferences-schema.mdwatermark-guide.mdreferences/dimensions/font.mdmood.mdtext.mdreferences/palettes/cool.mddark.mdduotone.mdearth.mdelegant.mdmacaron.mdmono.mdpastel.mdretro.mdvivid.mdwarm.mdreferences/renderings/chalk.mddigital.mdflat-vector.mdhand-drawn.mdpainterly.mdpixel.mdscreen-print.md詳細
カバー画像ジェネレーター
5つの側面からカスタマイズできる、洗練された記事用カバー画像を生成します。
ユーザー入力ツール
このスキルがユーザーに質問する場合は、次の優先順位に従ってツールを選択してください。
- 組み込みのユーザー入力ツールを優先する — 現在のエージェントランタイムが提供するもの(例:
AskUserQuestion、request_user_input、clarify、ask_user、または同等のツール)。 - 代替手段:そのようなツールがない場合は、番号付きのプレーンテキストメッセージを出力し、各質問について選んだ番号または回答をユーザーに返信してもらいます。
- まとめて質問する:ツールが1回の呼び出しで複数の質問に対応している場合は、該当する質問をすべてまとめて呼び出します。1回に1つの質問しかできない場合は、優先順位に従って1つずつ質問します。
以下の具体的な AskUserQuestion の例は参考です。他のランタイムでは、ローカル環境に相当するツールに置き換えてください。
画像生成ツール
このスキルで画像をレンダリングする必要がある場合は、次の順序でバックエンドを選択してください。
- 現在のリクエストによる指定 — ユーザーが現在のメッセージで特定のバックエンドを指定している場合は、それを使用します。
- 保存済みの設定 —
EXTEND.mdでpreferred_image_backendに、現在利用可能なバックエンドが設定されている場合は、それを使用します。 - 自動選択(設定が
auto、未設定、または指定されたバックエンドが利用できない場合):- Codex(
imagegen) — まず、利用可能なスキル/ツールの一覧を確認します。imagegenというスキルが一覧にある場合は、Codex 内で実行しています。Skillツールを使ってskill: "imagegen"を呼び出し、保存済みのプロンプトファイルの内容(出力パスとアスペクト比を含む。Codeximagegen独自の引数に従う)を渡す必要があります。このランタイムにおける公式のラスター画像生成バックエンドであり、ユーザーがpreferred_image_backendを別のものに明示的に固定していない限り、ネイティブではないスキル(例:baoyu-image-gen)より優先されます。 codex exec経由の Codex(codex-imagegen) — 現在のランタイムにネイティブのimagegenスキルがなく、codexCLI がPATH上にあり、codex loginが有効な場合は、baoyu-image-gen --provider codex-cli経由で実行します(こちらを優先)。baoyu-image-genが利用できない場合は、同梱のラッパーを直接呼び出します。詳細、パラメーター、およびランタイムの検出手順は references/codex-imagegen.md に記載されています。この分岐を選択した場合にのみ、このファイルを読み込んでください。- Cursor(
GenerateImage) — ランタイムにネイティブのGenerateImageツールがある場合は、Cursor 内で実行しています。このツールは、Codeximagegenと同様に、ネイティブではないスキルより優先されます。注意事項が2つあります。(a)アスペクト比のパラメーターがないため、descriptionとして渡すプロンプト文に、目標のアスペクト比または寸法を明記してください。(b)出力ディレクトリを指定できません。ファイルはツール管理の場所に保存されるため、生成後、スキルで指定された出力パス(例:outputs/.../NN-xxx.png)にファイルをコピーまたは移動してください。参照画像はreference_image_pathsに指定してください。 - その他のランタイムネイティブツール — ランタイムに別のネイティブ画像ツール(例:Hermes
image_generate)がある場合も、同じように使用してください。 - それ以外の場合、ネイティブではないバックエンドが1つだけインストールされている場合(例:
baoyu-image-gen)は、それを使用します。 - それ以外の場合(ネイティブではないバックエンドが複数あり、ランタイムネイティブのツールがない場合)は、他の初回質問とまとめて、ユーザーに一度だけ質問します。
- Codex(
- 利用可能なバックエンドがない場合は、その旨をユーザーに伝え、どのように進めるか尋ねます。
⛔ ラスター画像の生成を、SVG、HTML、canvas、その他のコードベースのレンダリングで代用してはいけません。 Codex imagegen の説明では、「リポジトリ内のネイティブコードやベクターではなく、ビットマップアセットを出力すべき場合」に使用するとされています。手順3でラスター画像生成バックエンドを選択できない場合は、手順4に進んでユーザーに尋ねてください。SVG を黙って出力したり、インラインの <svg> マークアップを書いたり、代わりに HTML/CSS アートを作成したりしてはいけません。記事やセクションが「図解のよう」に見える場合も同様です。このルールを呼び出すスキル側で、ラスター画像が必要だとすでに判断しています。
⛔ 生成済みのビットマップに上描きして、レンダリングされたテキストを修正してはいけません。 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR スクリプトなど、すでに生成されたカバー画像内のタイトルやサブタイトルのテキストを覆う、書き換える、消す、なぞる、置き換えるためのプログラムによるオーバーレイは使用しないでください。テキストに誤りがある場合や不明瞭な場合は、修正したプロンプトで再生成する、テキスト量の少ないバリエーションまたはタイトルなしのバリエーションに切り替える、あるいは不完全な候補のどれを残すかユーザーに確認してください。
preferred_image_backend: ask を設定すると、利用可能なバックエンドにかかわらず、実行のたびにステップ 3 のプロンプトが表示されます。固定するバックエンドは、以下の ## Changing Preferences セクションから変更できます。
プロンプトファイルの要件(必須):バックエンドを呼び出す前に、各画像の完全な最終プロンプトを prompts/ 以下に独立したファイルとして書き込んでください(命名規則:NN-{type}-[slug].md)。バックエンドにはプロンプトファイル(またはその内容)を渡します。このファイルは再現性を確保する記録であり、プロンプトを再生成せずにバックエンドを切り替えられます。
上記の具体的なツール名(imagegen、GenerateImage、image_generate、baoyu-image-gen)は例です。同じルールに従い、ローカル環境で対応するものに置き換えてください。
確認ポリシー
デフォルトの動作:生成前に確認します。
- スキルの明示的な呼び出し、ファイルパス、一致するキーワードやプリセット、
EXTEND.mdのデフォルト、およびドキュメントに記載された自動選択は、推奨の入力情報としてのみ扱ってください。いずれも確認を省略する許可にはなりません。 - ユーザーが寸法/アスペクト比/言語/バックエンドの選択を確認するまで、ステップ 3 またはステップ 4 を開始しないでください。
- 確認を省略できるのは、現在のリクエストで明示的に指示されている場合のみです。例:
--quick、「直接生成」、「確認不要」、「確認をスキップ」、「デフォルトで画像を生成」、または同等の表現。 EXTEND.mdのquick_mode: trueは、常時有効な明示的オプトアウトとして扱います。ステップ 2 を毎回省略したい場合にのみ設定してください。- 確認を明示的に省略する場合は、生成を開始する前に、寸法/アスペクト比/言語/バックエンドについて想定した設定を、次にユーザーへ提示する更新内容で伝えてください。
オプション
| オプション | 説明 |
|---|---|
--type <name> | hero、conceptual、typography、metaphor、scene、minimal |
--palette <name> | warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron |
--rendering <name> | flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print |
--style <name> | プリセットの省略表記(スタイルプリセットを参照) |
--text <level> | none、title-only、title-subtitle、text-rich |
--mood <level> | subtle、balanced、bold |
--font <name> | clean、handwritten、serif、display |
--aspect <ratio> | 16:9(デフォルト)、2.35:1、4:3、3:2、1:1、3:4 |
--lang <code> | タイトルの言語(en、zh、ja など) |
--no-title | --text none のエイリアス |
--quick | 確認を省略し、自動選択を使用 |
--ref <files...> | スタイルや構図の参考にする画像 |
5 つのディメンション
| ディメンション | 値 | デフォルト |
|---|---|---|
| タイプ | hero、conceptual、typography、metaphor、scene、minimal | auto |
| パレット | warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron | auto |
| レンダリング | flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print | auto |
| テキスト | none、title-only、title-subtitle、text-rich | title-only |
| ムード | subtle、balanced、bold | balanced |
| フォント | clean、handwritten、serif、display | clean |
自動選択のルール:references/auto-selection.md
ギャラリー
タイプ: hero、conceptual、typography、metaphor、scene、minimal → 詳細:references/types.md
パレット: warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron → 詳細:references/palettes/
レンダリング: flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print → 詳細:references/renderings/
テキストレベル: none(ビジュアルのみ) | title-only(デフォルト) | title-subtitle | text-rich(タグ付き) → 詳細:references/dimensions/text.md
ムードレベル: subtle(低コントラスト) | balanced(デフォルト) | bold(高コントラスト) → 詳細:references/dimensions/mood.md
フォント: clean(サンセリフ) | handwritten | serif | display(太字の装飾体) → 詳細:references/dimensions/font.md
ファイル構成
default_output_dir の設定に応じた出力ディレクトリ:
same-dir:{article-dir}/imgs-subdir:{article-dir}/imgs/independent(デフォルト):cover-image/{topic-slug}/
<output-dir>/
├── source-{slug}.{ext} # Source files
├── refs/ # Reference images (if provided)
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md # Description file
├── prompts/cover.md # Generation prompt
└── cover.png # Output image
スラッグ:2〜4語、ケバブケース。競合する場合:-YYYYMMDD-HHMMSS を追加
ワークフロー
進捗チェックリスト
Cover Image Progress:
- [ ] Step 0: Check preferences (EXTEND.md) ⛔ BLOCKING
- [ ] Step 1: Analyze content + save refs + determine output dir
- [ ] Step 2: Confirm options (6 dimensions) ⚠️ unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Completion report
フロー
Input → [Step 0: Preferences] ─┬─ Found → Continue
└─ Not found → First-Time Setup ⛔ BLOCKING → Save EXTEND.md → Continue
↓
Analyze + Save Refs → [Output Dir] → [Confirm: 6 Dimensions] → Prompt → Generate → Complete
↓
(skip if --quick or all specified)
ステップ 0:設定の読み込み ⛔ BLOCKING
優先順位に従って EXTEND.md を確認します。最初に見つかったファイルが使用されます。
| 優先順位 | パス | 範囲 |
|---|---|---|
| 1 | .baoyu-skills/baoyu-cover-image/EXTEND.md | プロジェクト |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md | ユーザーホーム |
| 結果 | アクション |
|---|---|
| 見つかった | 読み込んで概要を表示 → 続行 |
| 見つからない | ⛔ 初回セットアップを実行(references/config/first-time-setup.md)→ 保存 → 続行 |
重要:見つからない場合は、ほかのステップや質問に進む前に、必ずセットアップを完了してください。
ステップ 1:コンテンツの分析
- 参考画像を保存する(提供されている場合)→ references/workflow/reference-images.md
- ソースコンテンツを保存する(貼り付けられている場合は、
source.mdに保存) - コンテンツを分析する:トピック、トーン、キーワード、視覚的なメタファー
- 参考画像を詳しく分析する ⚠️:具体的で明確な要素を抽出する(reference-images.md を参照)
- 言語を判定する:ソース、ユーザー入力、EXTEND.md の設定を比較
- 出力ディレクトリを決定する:ファイル構成のルールに従う
⚠️ 参考画像に人物が含まれる場合:
カバーに登場させる人物が参考画像に含まれている場合:
- モデルが
--refをサポートしている(デフォルト):画像をrefs/にコピーし、生成時に--refで渡します。説明ファイルは不要です。モデルが顔を直接認識します。 - モデルが
--refをサポートしていない(Jimeng、Seedream 3.0):人物ごとの説明(髪、眼鏡、肌の色、服装)を記載したrefs/ref-NN-{slug}.mdを作成します。プロンプトのテキストに必須の指示として埋め込みます。
判断表の全体は reference-images.md を参照してください。
ステップ 2:オプションの確認 ⚠️
必須のゲート:このステップは確認ポリシーに基づき必須です。ユーザーがここで確認するか、現在のリクエストで --quick / quick_mode: true / 同等の表現を使って明示的にスキップを指定するまで、ステップ 3〜4 は開始できません。
選択肢は必ず AskUserQuestion ツールを使用して、対話式の選択肢として提示してください。プレーンテキストの表を使ってはいけません。1 回の AskUserQuestion 呼び出しで、最大 4 つの質問(タイプ、パレット、レンダリング、フォント + 設定)を提示します。各質問では、推奨オプションを理由とともに最初に示し、その後に代替案を示します。
確認フローと質問形式の詳細:references/workflow/confirm-options.md
| 条件 | スキップされる項目 | 引き続き質問される項目 |
|---|---|---|
--quick または quick_mode: true | 6 つのディメンション | アスペクト比(--aspect が指定されていない場合) |
6 つすべて + --aspect が指定済み | すべて | なし |
ステップ 3:プロンプトを作成する
prompts/cover.md に保存します。テンプレート:references/workflow/prompt-template.md
重要 — フロントマターの参照情報:
refs/に保存したファイル → フロントマターのreferencesリストに追加します- スタイルを口頭で抽出した場合(ファイルなし)→
referencesは省略し、本文に記載します - 書き込む前に確認します:
test -f refs/ref-NN-{slug}.{ext}
本文中の参照要素は、詳細に記述し、「MUST」/「REQUIRED」を前置したうえで、統合方法も含める必要があります。
ステップ 4:画像を生成する
- 既存の
cover.pngを再生成する場合は、バックアップします - 上部の
## Image Generation Toolsのルールに従ってバックエンドを選択します:利用可能なものを使い、複数ある場合はユーザーに一度だけ確認します。生成を始める前に、セッションごとに一度だけ実施します。 - バックエンドを呼び出す前に、最終版のプロンプト全体を
prompts/01-cover-[slug].mdに書き込みます(必須)。 - プロンプトのフロントマターにある参照情報を処理します:
directの用途 →--refで渡します(参照対応バックエンドを使用します)style/palette→ 特徴を抽出し、プロンプトに追加します
- 生成します:プロンプトファイル、出力先のパス、アスペクト比を指定して、選択したバックエンドを呼び出します。
codex-imagegen:呼び出しの仕様については references/codex-imagegen.md を参照してください(baoyu-image-gen --provider codex-cliを優先する方法、実行時のラッパーの検出、パラメーターの注意事項、標準出力のスキーマ、バッチ処理の動作)。- Codex の
imagegen(ネイティブ)やその他の実行環境ネイティブのツール/baoyu-image-genスキル:上記の## Image Generation Toolsのルールに従います。
- 失敗した場合:自動で一度再試行します
ステップ 5:完了レポート
Cover Generated!
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang] | Watermark: [enabled/disabled]
References: [N images or "extracted style" or "none"]
Location: [directory path]
Files:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png
画像の変更
| 操作 | 手順 |
|---|---|
| 再生成 | バックアップ → プロンプトファイルを先に更新 → 再生成 |
| 寸法の変更 | バックアップ → 新しい値を確認 → プロンプトを更新 → 再生成 |
テキスト修正の方針:
- タイトル/サブタイトルに誤字や文字化けがある、読みづらい、または視覚的に弱い場合、コードでビットマップを修正しないでください。
- テキストを修正して再生成する場合は、新しいプロンプトファイルと新しい出力先パスを使用し、問題のある候補を比較用に残します。
- 後処理は、テキストや主要な構図を変更しないトリミング、サイズ変更、圧縮、形式変換に限ります。
構図の原則
- 余白:40~60%のゆとりを確保します
- 視覚的な軸:主要な要素を中央または左寄りに配置します
- 人物:簡略化したシルエットを使用します。写実的な人物は使用しません
- タイトル:ユーザー/ソースにあるタイトルをそのまま使用します。独自に考案しないでください
設定の変更
EXTEND.md は ステップ 0 に記載されているパスにあります。変更方法は 3 つあります。
- 直接編集する — EXTEND.md を開いて項目を変更します。スキーマ全体:references/config/preferences-schema.md。
- 対話形式で再設定する — EXTEND.md を削除するか、「reconfigure baoyu-cover-image preferences」/「重新配置」と依頼します。次回の実行時に初回セットアップが再度行われます。
- よくある一行の変更:
preferred_image_backend: auto— デフォルトです。実行環境ネイティブのツールを優先し、インストール済みのバックエンドが 1 つだけならそれを使用します。ネイティブ以外のバックエンドが複数ある場合にのみ確認します。preferred_image_backend: codex-imagegen— Codex 組み込みのものを固定します。preferred_image_backend: baoyu-image-gen— baoyu-image-gen スキルを固定します。preferred_image_backend: ask— 実行のたびにバックエンドを確認します。watermark.enabled: true、preferred_type、preferred_palette、preferred_rendering、default_aspect、quick_mode: true、language— 自動選択のデフォルトと確認フローを調整します。
References
Dimensions: text.md | mood.md | font.md Palettes: references/palettes/ Renderings: references/renderings/ Types: references/types.md Auto-Selection: references/auto-selection.md Style Presets: references/style-presets.md Compatibility: references/compatibility.md Visual Elements: references/visual-elements.md Workflow: confirm-options.md | prompt-template.md | reference-images.md Config: preferences-schema.md | first-time-setup.md | watermark-guide.md