mcpField
B
baoyu-cover-image

baoyu-cover-image

github.com/jimliuクリエイティブ・メディア27.0k32.2k 回インストール7 週間前に更新
リポジトリ

baoyu-cover-image について

baoyu-cover-imageは、記事のカバー画像を生成するスキルです。タイプ、配色、描画方法、文字量、ムード、フォントを設定でき、参考画像も利用できます。

主な機能

  1. 01複数の要素でカバーを設定
  2. 02画像タイプと配色の選択
  3. 03文字量、ムード、フォントの指定
  4. 04参考画像による構図やスタイルの指定
  5. 05生成プロンプトをファイルに保存

活用シーン

  1. 01記事のテーマに合うカバーを作成
  2. 02カバーの配色と描画方法を選択
  3. 03参考画像でビジュアルの方向性を指定
  4. 04プロンプトファイルで生成設定を記録

インストール

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

$npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-cover-image

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
auto-selection.md
base-prompt.md
codex-imagegen.md
compatibility.md
style-presets.md
types.md
references/config/
first-time-setup.md
preferences-schema.md
watermark-guide.md
references/dimensions/
font.md
mood.md
text.md
references/palettes/
cool.md
dark.md
duotone.md
earth.md
elegant.md
macaron.md
mono.md
pastel.md
retro.md
vivid.md
warm.md
references/renderings/
chalk.md
digital.md
flat-vector.md
hand-drawn.md
painterly.md
pixel.md
screen-print.md

詳細

カバー画像ジェネレーター

5つの側面からカスタマイズできる、洗練された記事用カバー画像を生成します。

ユーザー入力ツール

このスキルがユーザーに質問する場合は、次の優先順位に従ってツールを選択してください。

  1. 組み込みのユーザー入力ツールを優先する — 現在のエージェントランタイムが提供するもの(例:AskUserQuestion、request_user_input、clarify、ask_user、または同等のツール)。
  2. 代替手段:そのようなツールがない場合は、番号付きのプレーンテキストメッセージを出力し、各質問について選んだ番号または回答をユーザーに返信してもらいます。
  3. まとめて質問する:ツールが1回の呼び出しで複数の質問に対応している場合は、該当する質問をすべてまとめて呼び出します。1回に1つの質問しかできない場合は、優先順位に従って1つずつ質問します。

以下の具体的な AskUserQuestion の例は参考です。他のランタイムでは、ローカル環境に相当するツールに置き換えてください。

画像生成ツール

このスキルで画像をレンダリングする必要がある場合は、次の順序でバックエンドを選択してください。

  1. 現在のリクエストによる指定 — ユーザーが現在のメッセージで特定のバックエンドを指定している場合は、それを使用します。
  2. 保存済みの設定 — EXTEND.md で preferred_image_backend に、現在利用可能なバックエンドが設定されている場合は、それを使用します。
  3. 自動選択(設定が auto、未設定、または指定されたバックエンドが利用できない場合):
    • Codex(imagegen) — まず、利用可能なスキル/ツールの一覧を確認します。imagegen というスキルが一覧にある場合は、Codex 内で実行しています。Skill ツールを使って skill: "imagegen" を呼び出し、保存済みのプロンプトファイルの内容(出力パスとアスペクト比を含む。Codex imagegen 独自の引数に従う)を渡す必要があります。このランタイムにおける公式のラスター画像生成バックエンドであり、ユーザーが preferred_image_backend を別のものに明示的に固定していない限り、ネイティブではないスキル(例:baoyu-image-gen)より優先されます。
    • codex exec 経由の Codex(codex-imagegen) — 現在のランタイムにネイティブの imagegen スキルがなく、codex CLI が PATH 上にあり、codex login が有効な場合は、baoyu-image-gen --provider codex-cli 経由で実行します(こちらを優先)。baoyu-image-gen が利用できない場合は、同梱のラッパーを直接呼び出します。詳細、パラメーター、およびランタイムの検出手順は references/codex-imagegen.md に記載されています。この分岐を選択した場合にのみ、このファイルを読み込んでください。
    • Cursor(GenerateImage) — ランタイムにネイティブの GenerateImage ツールがある場合は、Cursor 内で実行しています。このツールは、Codex imagegen と同様に、ネイティブではないスキルより優先されます。注意事項が2つあります。(a)アスペクト比のパラメーターがないため、description として渡すプロンプト文に、目標のアスペクト比または寸法を明記してください。(b)出力ディレクトリを指定できません。ファイルはツール管理の場所に保存されるため、生成後、スキルで指定された出力パス(例:outputs/.../NN-xxx.png)にファイルをコピーまたは移動してください。参照画像は reference_image_paths に指定してください。
    • その他のランタイムネイティブツール — ランタイムに別のネイティブ画像ツール(例:Hermes image_generate)がある場合も、同じように使用してください。
    • それ以外の場合、ネイティブではないバックエンドが1つだけインストールされている場合(例:baoyu-image-gen)は、それを使用します。
    • それ以外の場合(ネイティブではないバックエンドが複数あり、ランタイムネイティブのツールがない場合)は、他の初回質問とまとめて、ユーザーに一度だけ質問します。
  4. 利用可能なバックエンドがない場合は、その旨をユーザーに伝え、どのように進めるか尋ねます。

⛔ ラスター画像の生成を、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、minimalauto
パレットwarm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaronauto
レンダリングflat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-printauto
テキストnone、title-only、title-subtitle、text-richtitle-only
ムードsubtle、balanced、boldbalanced
フォントclean、handwritten、serif、displayclean

自動選択のルール: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.mdXDG
3$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.mdユーザーホーム
結果アクション
見つかった読み込んで概要を表示 → 続行
見つからない⛔ 初回セットアップを実行(references/config/first-time-setup.md)→ 保存 → 続行

重要:見つからない場合は、ほかのステップや質問に進む前に、必ずセットアップを完了してください。

ステップ 1:コンテンツの分析
  1. 参考画像を保存する(提供されている場合)→ references/workflow/reference-images.md
  2. ソースコンテンツを保存する(貼り付けられている場合は、source.md に保存)
  3. コンテンツを分析する:トピック、トーン、キーワード、視覚的なメタファー
  4. 参考画像を詳しく分析する ⚠️:具体的で明確な要素を抽出する(reference-images.md を参照)
  5. 言語を判定する:ソース、ユーザー入力、EXTEND.md の設定を比較
  6. 出力ディレクトリを決定する:ファイル構成のルールに従う

⚠️ 参考画像に人物が含まれる場合:

カバーに登場させる人物が参考画像に含まれている場合:

  • モデルが --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: true6 つのディメンションアスペクト比(--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:画像を生成する
  1. 既存の cover.png を再生成する場合は、バックアップします
  2. 上部の ## Image Generation Tools のルールに従ってバックエンドを選択します:利用可能なものを使い、複数ある場合はユーザーに一度だけ確認します。生成を始める前に、セッションごとに一度だけ実施します。
  3. バックエンドを呼び出す前に、最終版のプロンプト全体を prompts/01-cover-[slug].md に書き込みます(必須)。
  4. プロンプトのフロントマターにある参照情報を処理します:
    • direct の用途 → --ref で渡します(参照対応バックエンドを使用します)
    • style/palette → 特徴を抽出し、プロンプトに追加します
  5. 生成します:プロンプトファイル、出力先のパス、アスペクト比を指定して、選択したバックエンドを呼び出します。
    • codex-imagegen:呼び出しの仕様については references/codex-imagegen.md を参照してください(baoyu-image-gen --provider codex-cli を優先する方法、実行時のラッパーの検出、パラメーターの注意事項、標準出力のスキーマ、バッチ処理の動作)。
    • Codex の imagegen(ネイティブ)やその他の実行環境ネイティブのツール/baoyu-image-gen スキル:上記の ## Image Generation Tools のルールに従います。
  6. 失敗した場合:自動で一度再試行します
ステップ 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

コメント