female-portrait-director:ポートレートのプロンプトを再利用できる Skill にする
"female-portrait-director の GitHub README で、プロジェクトの位置づけ、バージョン V1.4.1、作者、MIT ライセンス、14 スタイル、導入コマンド、出力フォーマット、安全境界を確認しました。"
"プロジェクトの SKILL.md で、オンデマンド読み込みの順序、レジストリによる振り分け、パラメータロックのルール、5 段落の融合プロンプト、独立したコピー用コードブロックを確認しました。"
"プロジェクトの parameter_schema.md で、22 個のパラメータ、デフォルト値、5 つの出力モードを確認しました。"
"OpenAI Codex の Agent Skills ドキュメントで、SKILL.md の必須フィールド、プログレッシブディスクロージャー(コンテキストの約 2% または 8000 文字)、明示的・暗黙的な呼び出し、配布方法を確認しました。"
ポートレートを生成する人なら、誰もが同じことをやっています。前回せっかく使えるプロンプトを組み上げたのに、今回はシーンが変わってまた一から書き直す。カフェに変えれば光の指定を足し、古風に変えれば衣装の語を入れ替え、うっかり「清純」と「香港レトロ」のキーワードを混ぜると、出てくる顔がスタイル間で混ざり始めます。さらに厄介なのは制御できない部分です。9:16 と書いたのに正方形になり、ファッション写真だけが欲しいのにモデルが勝手にフィルターを足す。
female-portrait-director が解こうとしているのは、まさにこの「プロンプトが再利用できない」問題です。これはオープンソースの AI ポートレートプロンプトのディレクター Skill で、少数の構造化パラメータを渡すと、明示的に指定した方向をロックし、スタイルルートを 1 つだけオンデマンドで読み込み、パラメータを「撮られた一枚」のような連続したプロンプトに拡張し、ネガティブ制約を添えます。その価値は、また万能プロンプトを 1 セット配ることではありません。プロンプトを毎回書き直す使い捨てテキストから、境界を持つ再利用可能で保守しやすいインターフェースに変える点にあります。分解する価値があるのは背後にある 4 つの設計で、どんなプロンプトにも応用できる部分です。
まず手書きのプロンプトと何が違うのか
長い手書きのポートレートプロンプトの問題は、出来が悪いことではありません。使い捨てだということです。シーンが変われば語を半分手で直し、スタイルが変われば共存できないキーワードを覚えておく必要があり、2 週間後に見返すと、なぜそう書いたのか自分でもわかりません。
3 つのやり方を並べると、違いははっきりします。
| 観点 | 手書きプロンプト | プロンプトテンプレート | プロンプト Skill |
|---|---|---|---|
| 再利用性 | 低い、毎回書き直し | 中、コピーして手直し | 高い、フィールドを埋めるだけ |
| 一貫性 | 手の感覚次第 | 直しの丁寧さ次第 | ルールで保証 |
| 保守性 | 難しい、あちこちに散在 | まあまあ、テンプレは古びる | 良い、一か所で直す |
| スタイル分離 | 混ざりやすい | 自制頼み | 一度に 1 つだけ読み込む |
| 安全境界 | 毎回記憶頼み | コメントに記載 | ルールに固定 |
| 習得コスト | 低い | 低い | 中、まず構造を組む |
テンプレートは素のプロンプトよりずっと良く、これについては再利用できる 12 種類のプロンプト設計パターンがあります。ただテンプレートの天井は「コピーして手直し」で、スタイル分離は強制できず、安全境界も拾えません。Skill はもう一歩先で、入力をフィールドに収束させ、ルールをファイルに沈め、AI にそのルールで動かせます。
30 秒で知る female-portrait-director
このプロジェクトは李岳 氏が開発し、MIT ライセンスで、2026 年 6 月時点のバージョンは V1.4.1 です。Codex Skill の形で配布され、汎用の agent skill 標準(name と description を持つ SKILL.md)に従います。導入後はチャットで $female-portrait-director と入力すれば呼び出せます。
動き方は最小のフローで言い表せます。テンプレートに沿っていくつかのフィールドを埋めると、4 つの構造化された結果が返ります。
入力(最小テンプレート):
スタイル: 清純なライフスタイルポートレート
シーン: カフェの窓際の席
衣装: 白いニットカーディガン + 明るい色のインナー
雰囲気: 清潔で柔らかい
アスペクト比: 9:16
出力(4 セクション):
1. ロックされたパラメータ: 入力をフィールドごとに反映
2. モジュール分析: 顔 / 体型 / 衣装 / シーン / カメラ / ライティング / フィルターの扱い方
3. 最終プロンプト: そのままコピーできる 1 つのまとまり
4. ネガティブ制約: 避けるべきもの
出力に要約式の羅列がない点に注目してください。渡したいくつかのフィールドを具体的な画面に拡張する。これがテンプレートとの根本的な違いです。プロジェクト自身の言葉では、例は完成度を示すもので固定テンプレートではなく、毎回イベント、動作、環境の細部を選び直すべきだとしています。
導入と最初の呼び出し
npx でワンライナー導入
最も速いのは npx でグローバルの Codex skills に入れる方法です。
npx skills@latest add liyue-aigc/female-portrait-director -g -a codex -y
後で更新するには次を使います。
npx skills@latest update female-portrait-director -g -y
Codex の skills ディレクトリに手動で clone することもできます。Windows PowerShell の場合:
git clone https://github.com/liyue-aigc/female-portrait-director.git "$env:USERPROFILE\.codex\skills\female-portrait-director"
macOS または Linux の場合:
git clone https://github.com/liyue-aigc/female-portrait-director.git "${CODEX_HOME:-$HOME/.codex}/skills/female-portrait-director"
導入後は Codex を再起動するか新しい会話を開き、$female-portrait-director と入力して起動します。知っておく価値のある仕組みが 1 つあります。Codex はプログレッシブディスクロージャーを使い、普段は各 skill の名前、説明、パスだけをコンテキストに入れ、初期リストはコンテキストウィンドウの約 2%、ウィンドウが不明なときは 8000 文字を上限とします。その skill を使うと判断したときに初めて SKILL.md の全文を読みます。つまり skill を大量に入れてもコンテキストを占有し続けないわけで、この後の内部設計を理解する上で重要です。具体的なバージョンとコマンドはリポジトリの README を基準にしてください。
分解 1:パラメータロックで、指定が書き換えられないようにする
ポートレートプロンプトが最もよく崩れる原因は、明示的に指定したものをモデルがこっそり変えてしまうことです。9:16 と書いたのに正方形になり、ファッション写真だけが欲しいのに勝手にフィルターを足す。
female-portrait-director の第 1 層の設計が、このパラメータロックです。22 個のパラメータを定義し、スタイル、シーン、衣装、配色から、カメラ、ライティング、アスペクト比、用途まで、各フィールドにデフォルト値があります。ルールは厳格で、ユーザーが明示的に書いたフィールドをロックし、欠けたものだけを補い、方向は置き換えません。プロジェクトの FAQ によれば、ロックするのは選んだ方向であって画面の細部ではないので、創作を制限せず、システムは自然に起きる瞬間、動作の連鎖、視線の落とし先を補います。
アスペクト比のような強い制御には、もう一段の手当てがあります。プロジェクトはアスペクト比とピクセルサイズを、指定どおりの値で最終プロンプトの 1 文目に置くよう求めます。理由は上の古い問題です。中間や末尾に置くとモデルは無視しがちで、1 文目に強い制約として置くと出力比率が安定します。
自分の場面に置き換えると、この層はプロンプトにデフォルト付きの入力 schema を定義するのと同じです。どのフィールドをユーザーに委ねるか、どれを自動で補えるか。先に整理して初めて、プロンプトは再利用の話ができます。
分解 2:オンデマンドルーティングで、一度に 1 つのスタイルだけ読む
このツールは 14 種類のスタイルに対応し、清純なライフスタイル、都会的ファッション、EC モデル写真から、古風ファンタジー、香港レトロ、新中華風まであります。自然な疑問は、なぜ 14 種類すべてを 1 つの長大なプロンプトに詰め込んでモデルに選ばせないのか、です。
詰め込むと混ざるからです。古風のキーワードと香港レトロのキーワードが同時に存在すると、モデルは両者の特徴を 1 つの顔に混ぜやすくなります。プロジェクトのやり方は、軽量なスタイルレジストリ(style-registry)を唯一の振り分け入口にし、各リクエストでスタイルルートのファイルを 1 つだけ一致させて読み込み、残りの 13 個はコンテキストに入れません。FAQ ははっきり書いています。オンデマンド読み込みは無関係なルールがコンテキストに入るのを減らし、スタイルの混ざりやテンプレ化を抑え、処理効率も上げます。
この考え方は、先に触れた Codex のプログレッシブディスクロージャーと同じ設計思想で、層が違うだけです。Codex はフレームワーク層で skill の説明だけを先に読み込み、一致すると全文を読む。female-portrait-director は skill の内部でもう一度それをやり、まずレジストリを見て、一致したそのスタイルだけを読む。どちらも同じ問いに答えています。コンテキストは希少資源だから、一度に全部入れない。
応用点も明確です。プロンプトが多くのスタイル、シーン、タスク種別をカバーするなら、巨大な 1 本にせず、レジストリとオンデマンド読み込みの構造で、毎回は関係する一部だけを読み込ませます。
分解 3:モジュール化したディレクター式拡張で、パラメータを画面に変える
標準出力が埋めたフィールドを並べ替えるだけなら、テンプレートと変わりません。female-portrait-director は、標準出力を要約にしてはいけないと強調します。要約では生成を安定して制御できないからです。
画面を 7 つの視覚モジュールに分けます。顔、体型、衣装、シーン、カメラとポーズ、ライティング、フィルターです。標準詳細版の最終プロンプトは必ず 5 段落で、人物と雰囲気、時間の切り取りと動作、体型と衣装、シーンとカメラ、ライティングとフィルターの順に扱います。ディレクター式拡張とは、時間の切り取りに小さな出来事、動作の連鎖、視線の落とし先、2〜3 個の選択的な環境の細部を加えて、これらのフィールドを 1 つの連続した瞬間に融合することで、フィールドをリストに積み上げることではありません。
具体的な違いを挙げます。要約式は「白いカーディガン、カフェ、柔らかい光」と書きます。ディレクター式は撮られた一枚として書きます。窓際の席で、彼女はカップを置いたばかり、視線は窓の外に向き、午後の光が左から斜めに差し込む。後者は生成を安定して制御でき、前者は運任せです。
この層が教えてくれるのは、再利用はテンプレートの穴埋めではないということです。構造化は安定のためですが、拡張と推論の余地を残さないと、再利用して出てくるのは似たり寄ったりの画ばかりになります。
分解 4:安全境界と出力フォーマット、再利用できるほど制御も要る
ポートレートプロンプト一式を誰でも呼べる Skill にすると、コンプライアンスのリスクは拡大します。だから境界は毎回記憶に頼るのではなく、ルールに書き込む必要があります。
female-portrait-director の安全境界は明確です。デフォルトでは架空の、明確に成人の女性を生成します。同一性の保持は本人または許可を得た成人の参照画像でのみ許可されます。未成年の性的表現、露骨な裸体、非同意の画像、なりすましは禁止です。曲線を強調するスタイルでも、プライベートな部位の露出や年齢が曖昧な構図は避けるよう求めます。これらはプロジェクトが備える責任ある利用の制約で、実際の生成では利用するプラットフォームの規約と現地の法律にも従う必要があります。
出力フォーマットも制御の一形態です。最終プロンプトとネガティブ制約を、それぞれ text タグ付きの独立したコードブロックに置き、見出しはブロックの外に残してコピーしやすくし、分析をコピー用の内容に混ぜないよう求めます。細部は小さく見えますが、再利用には重要です。呼び出す側は常に同じ予測可能な構造を受け取れます。
やってみる:プロンプトを Skill に収束させる 5 ステップ
この考え方はポートレートに限りません。何度も書き直すプロンプトなら、次の 5 ステップで Skill に収束させられます。
- パラメータ schema を抽出する。毎回変える内容をフィールドにし、各フィールドにデフォルト値を与える。どれをユーザーが決め、どれを補えるかを整理します。
- レジストリでオンデマンド読み込みを作る。スタイルやタスク種別が多いなら軽量な入口テーブルを作り、毎回は一致した 1 つのルールファイルだけを読み込みます。
- ディレクター式の拡張ルールを書く。フィールドを並べ直すのではなく、連続した結果に拡張する方法を定めます。
- 安全境界と出力契約を決める。禁止事項と出力構造を固定し、どの呼び出しでも予測可能なフォーマットが返るようにします。
- SKILL.md にまとめる。
nameとdescriptionを明確に書き、トリガーの場面と境界を説明して、エージェントが暗黙的に一致できるようにします。
最小の SKILL.md 骨格
自分の領域に合わせて中身を差し替えてください。これは自作の例で、プロジェクトの原文ではありません。
---
name: my-prompt-skill
description: ユーザーが X 系のプロンプトを必要とするときに起動。少数のフィールドを入力し、構造化された結果とネガティブ制約を出力する。
---
# フロー
1. フィールドを読み、ユーザーが明示的に書いた項目をロックし、欠けた項目はデフォルト値で補う。
2. レジストリから一致するスタイル/タスクルートを 1 つ選び、それだけを読み込む。
3. ディレクター式ルールで連続した結果に拡張する。フィールドを羅列しない。
4. 最終結果とネガティブ制約を、それぞれ独立したコードブロックで出力する。
実装でよくある落とし穴と対処は次のとおりです。
| 症状 | 原因 | 対処 |
|---|---|---|
| ユーザーが書いたフィールドが変わる | パラメータロックがない | ロック結果を明示的に反映し、強い制御を 1 文目へ |
| スタイルが混ざる | 複数ルールが同時にコンテキストへ | レジストリで振り分け、一度に 1 つだけ読む |
| 出力がフィールドのリストになる | ディレクター式拡張ルールがない | 連続した画面や結果に拡張させる |
| 入れたが起動しない | description が漠然としすぎ | トリガーの場面とキーワードを description に書く |
誰に向くか、向かないか
すべてのニーズが Skill 化に値するわけではありません。判断の目安です。
| あなたの状況 | おすすめ |
|---|---|
| 同系統のポートレートをよく作り、安定して再利用したい | 既製の Skill をそのまま導入 |
| 自分の領域のプロンプトを何度も書き直している | この考え方で自作 |
| 一時的に 1〜2 枚出すだけ | Skill 不要、手書きが速い |
| 実在の人物や参照画像が絡む | 許可とコンプライアンスを先に確認してから自動化を検討 |
female-portrait-director から本当に学ぶべきは 14 種類のスタイルではなく、プロンプトを工学的な対象として扱う姿勢です。入力には schema があり、ルールはオンデマンドで読み込み、拡張には方法があり、境界はファイルに書かれている。Skill の仕組み自体を知りたいなら、まず Claude Code の Skill 機能を読み、繰り返しの制作をパイプライン化したもう 1 つの事例は guizang-social-card-skill を、ポートレートプロンプト自体の書き方を補うなら Stable Diffusion プロンプトテンプレートガイド を参考にしてください。
まとめ
female-portrait-director は、ポートレートプロンプトに対して多くの人がやっていないことをやりました。毎回書き直すテキストから、入力 schema、オンデマンドルーティング、ディレクター式拡張、明確な境界を持つインターフェースに変えたのです。そのポートレート機能を使う必要はなくても、4 つの設計は、何度も調整するどんなプロンプトにもそのまま移せます。次の一歩はシンプルです。毎週 2〜3 回書き直しているプロンプトを 1 つ選び、あの 5 ステップで SKILL.md に収束させ、2 回走らせて、手書きより安定するか見てみてください。
自分のプロンプトを再利用可能な Skill にする
female-portrait-director の設計を参考に、何度も書き直しているプロンプトを Skill に作り変えます。
⏱️ 目安時間: 1 day
- 1
ステップ1: パラメータ schema を抽出する
毎回変える内容をフィールドにし、各フィールドにデフォルト値を与え、ユーザーが必ず決めるべきものと、自動で補えるものを切り分けます。 - 2
ステップ2: レジストリでオンデマンド読み込みを作る
スタイルやタスクの種類が多いときは軽量な入口テーブルを作り、毎回は一致した 1 つのルールファイルだけを読み込みます。全部を一度にコンテキストへ入れません。 - 3
ステップ3: ディレクター式の拡張ルールを書く
フィールドを並べ直すのではなく、連続した結果に拡張する方法を定め、拡張と推論の余地を残します。 - 4
ステップ4: 安全境界と出力契約を決める
禁止事項と出力構造を固定し、どの呼び出しでも予測可能でコピーしやすいフォーマットが返るようにします。 - 5
ステップ5: SKILL.md にまとめる
name と description を明確に書き、トリガーの場面と境界を説明して、エージェントが暗黙的にも一致できるようにします。
FAQ
female-portrait-director とは何ですか?
female-portrait-director を Codex に導入するには?
Skill でプロンプトを書くのと、手で長文を書くのは何が違いますか?
パラメータロックは創作の自由を制限しませんか?
この考え方で自分の再利用可能なプロンプト Skill を作るには?
これでポートレートを生成するとき、安全とコンプライアンスで気をつける点は?
6分で読めます · 公開日: 2026年6月10日 · 更新日: 2026年6月15日
AI Agent ツールボックス
検索からこのページに来た場合は、前後の記事もあわせて読むと同じテーマの理解がかなり早く深まります。
前の記事
guizang-social-card-skill:小紅書カードと WeChat カバーを再利用できる制作フローにする
guizang-social-card-skill の用途、Claude Code / Codex への導入、レイアウト、テーマ、レンダリング、ライセンス、公開前 QA を整理します。
第 2 / 4 記事
次の記事
ADHD:並列発散推論でコーディングエージェントの「早すぎる収束」を直す
ADHD は Claude と Codex の Agent SDK 上に作られたオープンソースの skill で、隔離した並列発散と独立した critic による剪定でコーディングエージェントの早すぎる収束に対処します。Chain-of-Thought や Tree-of-Thought との構造的な違い、使うべき判断点、インストールと起動方法、1 回あたりのコスト感を整理します。
第 4 / 4 記事
関連記事
Continuum とエージェントランタイム選び:notebook から本番へ、見るべき 7 つの能力
Continuum とエージェントランタイム選び:notebook から本番へ、見るべき 7 つの能力
Mnemo ローカル記憶レイヤー:Ollama と自作 LLM に引き継げる記憶を残す
Mnemo ローカル記憶レイヤー:Ollama と自作 LLM に引き継げる記憶を残す
vibecode-pro-max-kit:AI コーディングに仕様、記憶、マルチ Agent 協作を足す
コメント
GitHubアカウントでログインしてコメントできます