name: card-pipeline description: 'input/ 配下のインタビュー記録テキスト 1 件を起点に、パラメータ抽出 → 画像生成 → カード HTML レンダリングまでを一気通貫で実行する入口スキル。card-params-extract → gpt-image-2 → card-render の 3 ステップで、output/YYMMDDHHMMSS_<氏名漢字>/ に params.json / extraction-log.md / image-prompt.md / source/インタビュー_*.txt / creature.png / card.html / card_standalone.html(画像 base64 埋め込み)を揃える。WHEN: インタビューからカードを一気に作る、いきもの図鑑カードをエンドツーエンド生成、抽出から HTML までまとめて実行、いきもの図鑑のフル生成、ワンショットでカード化、人物ごとに一発でカードを作る。' argument-hint: 'input フォルダ内のインタビューファイル名(例: インタビュー_鈴木つばさ.txt)'
card-pipeline: インタビュー → カード完成 一気通貫スキル
card-params-extract → gpt-image-2 → card-render の 3 ステップをオーケストレーションし、インタビュー記録 1 件から完成カードまでを一回の指示で生成する入口スキル。
本スキル自体はロジックを持たず、既存スキルを順番に呼び出すだけ。各ステップの詳細仕様は各スキルの SKILL.md を必ず参照すること。
利用ケース
- ワークショップ後、
input/インタビュー_<名前>.txt1 件を投入して当日中にカードを揃える - 既存メンバー分のカードをスクリプトで一気に作り直したい(オプション scripts/build_card.py で 1 名分を自動化)
- 仕様変更後、複数人分のカードを順次再生成(フォルダ単位で
--force-image/--skip-imageを切替)
前提
- 入力:
input/インタビュー_*.txtが存在(テンプレート原本: reference/interview-template.txt / パラメータ生成ルール: param-generation-rules.md §1) - card-params-extract / gpt-image-2 / card-render の前提を満たしている
- Python 3.11 系(標準ライブラリのみ)
手順(エージェントの動き)
引数を確認
- 引数 =
input/配下のファイル名(例:インタビュー_鈴木つばさ.txt)。 - ファイルが無い場合はエラー停止。
- 引数 =
ステップ A: パラメータ抽出
- card-params-extract の手順に従い、
output/YYMMDDHHMMSS_<氏名漢字>/に以下を生成:params.jsonextraction-log.mdimage-prompt.mdsource/<元インタビューファイル名>
- 必須項目欠落 / §5 画像材料 3 項目以上空欄 / わざ決定不能 などに該当する場合は、card-params-extract §「追加質問の判定基準」に従いユーザーへ質問してから先に進む(推測で埋めない)。
- card-params-extract の手順に従い、
- 生成した
folder_name(例:260528143015_鈴木つばさ)を控える。
ステップ B: 画像生成
- gpt-image-2 の
generate.pyを呼ぶ:python .github/skills/gpt-image-2/scripts/generate.py ` --prompt-file output/<folder>/image-prompt.md ` --out output/<folder>/creature.png ` --size 1024x1024 ` --quality low image-prompt.mdの中身は card-params-extract がカード用途向けに構成したものをそのまま使う。- モデル選択・認証・API モード・失敗時の解釈は gpt-image-2 の責務とし、本スキルでは扱わない。
- 既に
creature.pngがある場合は スキップ(ユーザーが明示的に再生成を求めた場合のみ上書き)。 - API エラー時は stderr のメッセージを抜粋提示し、ステップ C は続行(壊れた
<img>の状態でcard.htmlを出す)。
- gpt-image-2 の
ステップ C: HTML レンダリング
- card-render の
render_card.pyを呼ぶ:python .github/skills/card-render/scripts/render_card.py ` --params output/<folder>/params.json ` --out output/<folder>/card.html - 既存
card.htmlは常に上書き。 card.htmlとcreature.pngが揃っていれば、render_card.pyが画像を base64 埋め込みした自己完結型card_standalone.htmlも自動生成する(画像未生成時はスキップ)。
- card-render の
完了報告
- 生成物パス(6 ファイル:params.json / extraction-log.md / image-prompt.md / source/ / creature.png / card.html、および card_standalone.html)と主要パラメータ(生物名 / タイプ / レアリティ / とくいわざ)を要約。
- VS Code 上で
card.htmlをプレビューする 1 行手順を添える。
一括実行ショートカット
3 ステップを 1 コマンドで叩きたい場合は scripts/build_card.py を使う。ただしステップ A(パラメータ抽出)はエージェント側の AI 推論が必要なため自動化できない。本スクリプトは既に params.json と image-prompt.md が揃っているフォルダに対し、ステップ B → C をまとめて実行する。
# params.json 抽出後(=card-params-extract 実行後)に:
python .github/skills/card-pipeline/scripts/build_card.py `
--folder output/260528143015_鈴木つばさ
主要オプション:
| 引数 | 既定値 | 説明 |
|---|---|---|
--folder |
必須 | 対象フォルダ(output/YYMMDDHHMMSS_<氏名漢字>/) |
--size |
1024x1024 |
画像サイズ |
--quality |
low |
画像品質 |
--force-image |
off | 既存 creature.png を上書き再生成 |
--skip-image |
off | 画像生成をスキップして HTML のみ作る |
エラーハンドリング
| 状況 | 対処 |
|---|---|
input/<ファイル> が無い |
エラー停止し、input/ 一覧を提示 |
| 必須項目欠落・情報不足 | card-params-extract の追加質問フェーズへ。推測補完は不可 |
| 画像 API がエラー | stderr 抜粋を提示。HTML 生成は続行 |
creature.png 既存 |
既定スキップ。再生成は --force-image 明示時のみ |
card.html 既存 |
常に上書き |
card_standalone.html |
card.html と creature.png が揃ったとき render_card.py が自動生成(画像 base64 埋め込み、常に上書き) |
参照
- scripts/build_card.py — ステップ B+C を 1 コマンドで実行
- card-params-extract — ステップ A 仕様
- gpt-image-2 — ステップ B 仕様
- card-render — ステップ C 仕様
- パラメータ生成ルール — 全体方針
注意
- 配布用 HTML インデックスへの組み込みは別タスク。本スキルは 1 枚分のカード生成までを対象とする。
- 本スキルは 1 名分ずつ実行することを想定。複数人を回す場合は、エージェントが対象ファイルを 1 件ずつループする。
input/とoutput/は個人情報や生成物を含み得るため、既定の.gitignoreでは中身をコミットしない。