female-portrait-director: 인물 프롬프트를 재사용 가능한 Skill로 만들기
"female-portrait-director GitHub README는 프로젝트 포지셔닝, 버전 V1.4.1, 작성자, MIT 라이선스, 14가지 스타일, 설치 명령, 출력 형식, 안전 경계를 확인하는 데 씁니다."
"프로젝트 SKILL.md는 온디맨드 로딩 순서, 레지스트리 분류, 파라미터 잠금 규칙, 다섯 단락 융합 프롬프트, 복사 가능한 별도 코드 블록을 확인하는 데 씁니다."
"프로젝트 parameter_schema.md는 22개 파라미터 필드, 기본값, 5가지 출력 모드를 확인하는 데 씁니다."
"OpenAI Codex Agent Skills 문서는 SKILL.md 필수 필드, 점진적 공개(컨텍스트의 약 2% 또는 8,000자), 명시적/암묵적 호출, 배포 방식을 확인하는 데 씁니다."
인물 이미지를 만지는 사람은 같은 일을 해 봤습니다. 지난번에 겨우 쓸 만한 프롬프트를 맞췄는데, 이번엔 새 장면이라 처음부터 다시 씁니다. 카페로 바꾸면 조명 지시를 더하고, 고풍 룩으로 바꾸면 의상 단어를 바꾸고, ‘청순’과 ‘홍콩 레트로’ 키워드를 실수로 섞으면 얼굴이 스타일 사이에서 흐려지기 시작합니다. 더 골치 아픈 건 통제가 안 되는 부분입니다. 9:16이라고 썼는데 정사각형이 나오고, 패션 화보만 원했는데 모델이 알아서 필터를 더합니다.
female-portrait-director는 바로 이 ‘프롬프트가 재사용되지 않는’ 문제를 풉니다. 오픈소스 AI 인물 프롬프트 연출 Skill로, 구조화된 파라미터 몇 개를 주면 당신이 명시적으로 정한 방향을 잠그고, 스타일 라우트 하나만 온디맨드로 로드하고, 파라미터를 사진처럼 찍힌 듯한 일관된 프롬프트로 확장하며 네거티브 제약을 붙입니다. 가치는 또 하나의 만능 프롬프트를 주는 데 있지 않습니다. 매번 다시 쓰는 일회성 텍스트였던 프롬프트를, 경계가 있는 재사용·유지보수 가능한 인터페이스로 바꾸는 데 있습니다. 뜯어볼 가치가 있는 건 그 뒤의 네 가지 엔지니어링 축이고, 그것은 어떤 프롬프트든 그대로 가져다 쓸 수 있는 부분이기도 합니다.
먼저, 손으로 쓴 프롬프트와 무엇이 다른지
긴 인물 프롬프트를 손으로 쓰는 문제는 잘 못 써서가 아니라 일회성이라는 데 있습니다. 장면을 바꾸면 단어 절반을 손으로 고치고, 스타일을 바꾸면 어떤 키워드가 공존하면 안 되는지 기억해야 하고, 2주 뒤 다시 보면 왜 그렇게 썼는지 자신도 모릅니다.
세 가지 방식을 나란히 두면 차이가 분명합니다:
| 차원 | 손으로 쓴 프롬프트 | 프롬프트 템플릿 | 프롬프트 Skill |
|---|---|---|---|
| 재사용성 | 낮음, 매번 다시 씀 | 중간, 복사 후 수정 | 높음, 필드만 채움 |
| 일관성 | 손감각에 의존 | 얼마나 꼼꼼히 고치느냐 | 규칙이 보장 |
| 유지보수 | 어려움, 여기저기 흩어짐 | 그저 그럼, 템플릿이 낡음 | 좋음, 한 곳만 수정 |
| 스타일 격리 | 쉽게 섞임 | 자기 절제에 의존 | 라우트 하나만 온디맨드 로드 |
| 안전 경계 | 매번 기억에 의존 | 주석에 적음 | 규칙에 강제로 박음 |
| 진입 비용 | 낮음 | 낮음 | 중간, 먼저 구조를 짬 |
템플릿은 이미 맨 프롬프트보다 큰 진전이고, 이에 관한 재사용 가능한 프롬프트 설계 패턴 12가지를 다룬 자료도 있습니다. 하지만 템플릿의 천장은 ‘복사 후 수정’입니다. 스타일 격리를 강제하지 못하고 안전 경계도 못 잡습니다. Skill은 한 걸음 더 나아가, 입력을 필드로 접고, 규칙을 파일로 가라앉히고, AI가 그 규칙대로 돌게 합니다.
30초로 보는 female-portrait-director
이 프로젝트는 Li Yue가 만들었고, MIT 라이선스이며, 2026년 6월 기준 버전은 V1.4.1입니다. Codex Skill 형태로 배포되고 일반 agent skill 표준(name과 description이 있는 SKILL.md)을 따릅니다. 설치한 뒤 채팅에 $female-portrait-director를 입력하면 호출됩니다.
동작은 최소 흐름으로 요약할 수 있습니다. 템플릿에서 몇 개 필드를 채우면, 네 개의 구조화된 섹션을 돌려줍니다.
입력(최소 템플릿):
스타일: 청순 라이프스타일 화보
장면: 카페 창가 자리
의상: 흰색 니트 가디건 + 밝은 톤 이너
분위기: 깨끗하고 부드럽게
화면 비율: 9:16
출력(네 섹션):
1. 잠긴 파라미터: 입력을 필드별로 그대로 표시
2. 모듈 분석: 이목구비 / 체형 / 의상 / 장면 / 카메라 / 조명 / 필터를 어떻게 다루는지
3. 최종 프롬프트: 바로 복사할 수 있는 한 덩이
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
수동 git clone
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를 입력해 트리거하세요. 알아 둘 메커니즘이 하나 있습니다. Codex는 점진적 공개(progressive disclosure)를 씁니다. 평소에는 각 skill의 이름, 설명, 경로만 컨텍스트에 넣고, 초기 목록은 컨텍스트 창의 약 2%, 창 크기를 모를 때는 8,000자로 상한을 둡니다. 그 skill을 쓰겠다고 판단할 때만 전체 SKILL.md를 읽습니다. 덕분에 skill을 잔뜩 깔아도 컨텍스트를 계속 차지하지 않으며, 이는 뒤따르는 설계를 이해하는 데 매우 중요합니다. 정확한 버전과 명령은 저장소 README를 기준으로 하세요.
분해 1: 파라미터 잠금, 당신이 말한 것이 다시 쓰이지 않게
인물 프롬프트가 무너지는 가장 흔한 방식은 모델이 당신이 명시적으로 요구한 것을 몰래 바꾸는 것입니다. 9:16이라고 썼는데 정사각형을 주고, 패션 화보만 원했는데 알아서 필터를 더합니다.
female-portrait-director 설계의 첫 층이 파라미터 잠금입니다. 화보 스타일, 장면, 의상, 배색부터 카메라, 조명, 화면 비율, 플랫폼 용도까지 22개 파라미터 필드를 정의하고, 각 필드에 기본값이 있습니다. 규칙은 단단합니다. 사용자가 명시적으로 채운 필드를 잠그고, 빠진 필드만 합리적으로 보완하고, 방향을 바꾸지 않습니다. 프로젝트 FAQ의 설명대로 잠그는 것은 당신이 고른 방향이지 화면 디테일이 아니어서 창작을 제한하지 않습니다. 시스템은 여전히 자연스러운 순간, 동작 사슬, 시선 낙점을 보완합니다.
화면 비율 같은 강한 통제에는 한 겹을 더 둡니다. 프로젝트는 화면 비율과 픽셀 크기를 당신이 채운 정확한 값으로 최종 프롬프트의 첫 문장에 넣으라고 요구합니다. 이유는 위의 그 오랜 문제입니다. 중간이나 끝에 두면 모델이 무시하기 쉽고, 첫 문장에 강한 제약으로 두면 출력 비율이 안정됩니다.
당신의 상황으로 옮기면, 이 층은 프롬프트에 기본값이 있는 입력 schema를 정의하는 것과 같습니다. 어떤 필드를 사용자가 정해야 하고 어떤 필드가 자동으로 대체될 수 있는지 먼저 정해야 프롬프트가 비로소 재사용 가능해집니다.
분해 2: 온디맨드 라우팅, 한 번에 스타일 하나만 로드
14가지 스타일을 지원합니다. 청순 라이프스타일, 도시 패션, 이커머스 모델부터 고풍 선협, 홍콩 레트로, 신중식까지요. 자연스러운 의문 하나. 왜 이 14가지를 초장문 프롬프트에 다 넣고 모델이 고르게 하지 않을까요?
함께 넣으면 섞이기 때문입니다. 고풍 키워드와 홍콩 레트로 키워드가 동시에 있으면 모델이 양쪽 특징을 한 얼굴에 섞기 쉽습니다. 프로젝트의 방식은 가벼운 스타일 레지스트리(style-registry)를 유일한 분류 진입점으로 삼아, 요청마다 한 개의 스타일 라우트 파일만 매칭해 읽고 나머지 13개는 아예 컨텍스트에 들어오지 않게 하는 것입니다. FAQ는 분명히 말합니다. 온디맨드 로딩은 무관한 규칙이 컨텍스트에 들어오는 것을 줄여 스타일 섞임과 틀에 박힌 출력을 낮추고 처리 효율도 높입니다.
이 발상은 앞서 말한 Codex의 점진적 공개와 같은 엔지니어링 사고이고, 층위만 다릅니다. Codex는 프레임워크 층에서 skill의 설명만 먼저 로드하고 매칭되면 전체를 읽습니다. female-portrait-director는 skill 내부에서 한 번 더, 레지스트리를 먼저 보고 매칭되면 그 한 스타일만 읽습니다. 둘 다 같은 질문에 답합니다. 컨텍스트는 희소 자원이니 한꺼번에 다 붓지 말 것.
옮길 점도 분명합니다. 프롬프트가 많은 스타일, 장면, 작업 유형을 다뤄야 할 때 거대 프롬프트를 쌓지 말고, ‘레지스트리 + 온디맨드 로딩’ 구조로 매번 관련된 한 조각만 로드하게 하세요.
분해 3: 모듈식 연출 확장, 파라미터를 장면으로
표준 출력이 당신이 채운 필드를 다시 배열하기만 한다면 템플릿과 다를 게 없습니다. female-portrait-director는 표준 출력이 요약이어서는 안 된다고 강조합니다. 요약으로는 생성을 안정적으로 통제하기에 부족하기 때문입니다.
화면을 7개 시각 모듈로 나눕니다. 이목구비, 체형, 의상, 장면, 카메라와 자세, 조명, 필터입니다. 표준 상세판의 최종 프롬프트는 정확히 다섯 단락이어야 하며, 순서대로 인물의 기질, 시간 절편과 동작, 체형과 의상, 장면과 카메라, 조명과 필터를 다룹니다. 연출식 확장이란, 시간 절편 하나에 작은 사건 하나, 동작 사슬 하나, 시선 낙점 하나, 선택적 환경 디테일 두세 개를 써서 이 필드들을 하나의 일관된 순간으로 녹이는 것이지, 필드를 목록으로 쌓는 게 아닙니다.
구체적인 차이를 보죠. 요약식은 ‘흰 가디건, 카페, 부드러운 빛’이라고 씁니다. 연출식은 찍힌 한 순간을 씁니다. 창가 자리, 그녀는 막 잔을 내려놓았고, 시선은 창밖에 있고, 오후의 빛이 왼쪽에서 비스듬히 들어옵니다. 후자는 생성을 안정적으로 통제하고, 전자는 운에 맡길 뿐입니다.
이 층은 재사용이 템플릿 빈칸 채우기가 아님을 일깨웁니다. 구조화는 안정성을 위한 것이지만 확장과 추론의 여지를 남겨야 합니다. 그렇지 않으면 재사용으로 나오는 건 죄다 천편일률입니다.
분해 4: 안전 경계와 출력 형식, 재사용일수록 통제가 필요
한 벌의 인물 프롬프트를 누구나 호출하는 Skill로 만들면 컴플라이언스 위험이 커지므로, 경계는 매번 사람이 기억하는 게 아니라 규칙에 적어야 합니다.
female-portrait-director의 안전 경계는 매우 명확합니다. 기본적으로 가상의, 명백히 성인인 여성을 생성하고, 신원 보존은 본인 또는 허가된 성인의 참조 이미지로만 허용하며, 미성년자 성적 대상화·노골적 노출·비동의 이미지·기만적 신원 등의 용도를 금지합니다. 곡선을 강조하는 스타일이라도 노출 부위와 나이가 모호한 화면을 피하도록 요구합니다. 이는 프로젝트가 자체적으로 둔 책임 사용 제약이며, 실제 생성 시에는 당신이 속한 플랫폼 규칙과 현지 법규도 따라야 합니다.
출력 형식도 일종의 통제입니다. 최종 프롬프트와 네거티브 제약을 각각 text 태그가 붙은 별도 코드 블록에 두고, 제목은 블록 밖에 남겨 복사하기 쉽게 하며, 분석을 복사 대상 내용에 섞지 않도록 요구합니다. 작아 보이지만 재사용에는 중요합니다. 호출자는 언제나 같은, 예측 가능한 구조를 받습니다.
따라 하기: 당신의 프롬프트를 Skill로 수렴하는 5단계
이 방식은 인물에만 쓰이지 않습니다. 반복해서 다시 쓰는 어떤 프롬프트든 아래 다섯 단계로 Skill로 수렴할 수 있습니다.
- 파라미터 schema 뽑기. 매번 바꾸는 것을 필드로 나열하고 각 필드에 기본값을 주세요. 무엇을 사용자가 정해야 하고 무엇이 대체될 수 있는지 정합니다.
- 온디맨드 로딩 레지스트리 만들기. 스타일이나 작업 유형이 많으면 가벼운 진입 표를 만들고, 매번 매칭되는 규칙 파일 하나만 로드하고 전부 쌓지 마세요.
- 연출식 확장 규칙 쓰기. 필드를 다시 나열하는 게 아니라 일관된 결과로 확장하는 방법을 규정합니다.
- 안전 경계와 출력 계약 정하기. 금지 항목과 출력 구조를 고정해 모든 호출이 예측 가능한 형식을 돌려주게 합니다.
- SKILL.md로 패키징. 명확한
name과description을 쓰고, 설명에 트리거 시나리오와 경계를 분명히 적어 에이전트가 암묵적으로 매칭하게 합니다.
최소 SKILL.md 골격
당신의 도메인에 맞게 내용만 바꾸세요. 이것은 직접 쓴 예시이지 프로젝트 원문이 아닙니다:
---
name: my-prompt-skill
description: 사용자가 X 유형 프롬프트가 필요할 때 트리거; 몇 개 필드를 받아 네거티브 제약이 있는 구조화된 결과를 반환.
---
# 흐름
1. 필드를 읽고, 사용자가 명시적으로 정한 항목을 잠그고, 빠진 항목은 기본값으로 채운다.
2. 레지스트리에서 매칭되는 스타일/작업 라우트 하나를 골라 그것만 로드한다.
3. 연출식 규칙으로 일관된 결과로 확장하고, 필드를 나열하지 않는다.
4. 최종 결과와 네거티브 제약을 각각 별도 코드 블록으로 출력한다.
만들 때 흔한 함정과 수정법:
| 증상 | 원인 | 수정 |
|---|---|---|
| 사용자가 채운 필드가 바뀜 | 파라미터 잠금 없음 | 잠금 결과를 명시적으로 표시하고, 강한 통제는 첫 문장에 |
| 스타일 섞임 | 여러 규칙이 한꺼번에 컨텍스트에 | 레지스트리로 분류, 한 번에 하나만 로드 |
| 출력이 필드 목록이 됨 | 연출식 확장 규칙 부재 | 일관된 장면이나 결과로 확장하도록 규정 |
| 설치했는데 트리거 안 됨 | description이 너무 막연 | 트리거 시나리오와 키워드를 description에 |
누구에게 맞고 누구에게 안 맞나
모든 필요가 Skill로 만들 가치가 있는 건 아닙니다. 빠른 판단:
| 당신의 상황 | 권장 |
|---|---|
| 비슷한 인물 이미지를 자주 내고 안정적 재사용을 원함 | 기성 Skill 바로 설치 |
| 자기 도메인 프롬프트를 반복해서 다시 씀 | 이 방식대로 직접 구축 |
| 지금은 한두 장만 필요 | Skill 없이 손으로 쓰는 게 빠름 |
| 실제 인물이나 참조 이미지가 관련됨 | 허가와 컴플라이언스를 먼저 확인한 뒤 자동화 고려 |
female-portrait-director에서 정말 빌릴 만한 건 14가지 스타일이 아니라, 프롬프트를 엔지니어링 대상으로 다루는 방식입니다. 입력에 schema가 있고, 규칙은 온디맨드로 로드되고, 확장에 방법이 있고, 경계가 파일에 살아 있습니다. Skill 메커니즘 자체를 이해하려면 먼저 왜 SKILL.md가 프롬프트를 복사하는 것보다 안정적인지부터 파악하면 좋고, 반복 창작을 라인으로 만든 또 다른 사례로는 guizang-social-card-skill을, 인물 프롬프트 자체의 작성법을 보강하려면 Stable Diffusion 프롬프트 템플릿 가이드를 참고하세요.
결론
female-portrait-director는 인물 프롬프트로 대부분이 하지 않는 일을 했습니다. 매번 다시 쓰는 텍스트를, 입력 schema·온디맨드 라우팅·연출식 확장·명확한 경계를 갖춘 인터페이스로 바꿨습니다. 그 인물 기능을 꼭 쓸 필요는 없지만, 네 가지 엔지니어링 축은 당신이 계속 손보는 어떤 프롬프트에도 바로 옮겨집니다. 다음 단계는 간단합니다. 한 주에 두세 번 다시 쓰는 프롬프트를 하나 골라, 그 5단계로 SKILL.md에 수렴하고, 두 번 돌려 손으로 쓰는 것보다 안정적인지 보세요.
당신의 프롬프트를 재사용 가능한 Skill로 만들기
female-portrait-director의 설계를 따라, 자꾸 다시 쓰게 되는 프롬프트를 Skill로 엔지니어링합니다.
⏱️ Estimated time: 1 day
- 1
Step1: 파라미터 schema 뽑기
매번 바꾸는 것들을 필드로 나열하고, 각 필드에 기본값을 주고, 어떤 필드를 사용자가 정해야 하고 어떤 필드가 기본값으로 대체될 수 있는지 정합니다. - 2
Step2: 온디맨드 로딩 레지스트리 만들기
스타일이나 작업 유형이 많으면 가벼운 진입 표를 만들고, 매번 매칭되는 규칙 파일 하나만 로드해 모든 규칙을 한꺼번에 컨텍스트에 넣지 않습니다. - 3
Step3: 연출식 확장 규칙 쓰기
필드를 다시 나열하는 게 아니라 일관된 결과로 확장하는 방법을 규정하고, 확장과 추론의 여지를 남깁니다. - 4
Step4: 안전 경계와 출력 계약 정하기
금지 항목과 출력 구조를 고정해, 모든 호출이 예측 가능하고 복사 가능한 형식을 돌려주게 합니다. - 5
Step5: SKILL.md로 패키징
트리거 시나리오와 경계를 설명하는 명확한 name과 description을 써서, 에이전트가 명시적·암묵적으로 매칭하게 합니다.
FAQ
female-portrait-director는 무엇인가요?
female-portrait-director를 Codex에 어떻게 설치하나요?
Skill로 인물 프롬프트를 쓰는 것과 긴 한 덩이를 손으로 쓰는 것은 무엇이 다른가요?
파라미터 잠금이 창작의 자유를 제한하나요?
이 방식을 따라 내 재사용 프롬프트 Skill을 어떻게 만드나요?
이걸로 인물 이미지를 생성할 때 안전과 컴플라이언스에서 무엇을 주의해야 하나요?
1분 읽기 · 게시일: 2026년 6월 10일 · 수정일: 2026년 6월 15일
AI Agent 도구함
이 시리즈의 첫 글을 읽고 있습니다. 다음 글로 이어가거나 시리즈 허브에서 전체 경로를 확인하세요.
이전
이 시리즈의 시작입니다.
다음
현재 이 시리즈의 최신 글입니다.
댓글
GitHub로 로그인하여 댓글을 남기세요