بنقرة واحدة
cover-image
Generates agentchan template/project COVER image — single key-visual illustration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generates agentchan template/project COVER image — single key-visual illustration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Compact the current conversation into a handoff document for another agent to pick up.
Audit and refine ADRs in docs/adr/ using the deep-module framing — a good ADR is a deep module of decision, not a dump of discussion. Use when reviewing ADRs produced by grill-with-docs, when an ADR feels meeting-notes-shaped or bloated, or when the user wants to tighten a decision record before merging.
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.
Set up and use portless for named local dev server URLs (e.g. https://myapp.localhost instead of http://localhost:3000). Use when integrating portless into a project, configuring dev server names, setting up the local proxy, working with .localhost domains, or troubleshooting port/proxy issues.
Monorepo 의존성을 최신 버전으로 업데이트. Changelog 분석, 리스크 평가, 검증까지 포함.
| name | cover-image |
| description | Generates agentchan template/project COVER image — single key-visual illustration |
| disable-model-invocation | true |
Single-shot illustration — 템플릿/프로젝트의 COVER 이미지. character-images의 gen-image.ts를 그대로 재사용한다.
[README + SYSTEM이 가리키는 파일들] → COVER.{png|jpg}
.env auto-load)GEMINI_API_KEY 또는 GOOGLE_API_KEY| 대상 | 위치 |
|---|---|
| 템플릿 cover | example_data/library/templates/{name}/COVER.{png|jpg} |
| 프로젝트 cover | apps/webui/data/projects/{slug}/COVER.{png|jpg} |
probeCover()는 webp/png/jpg/jpeg/gif/svg/avif 순으로 탐색. gen-image.ts는 .png를 요청해도 모델이 jpeg를 반환하면 .jpg로 자동 저장하므로 둘 다 허용.
README.md frontmatter의 name/description — 템플릿의 한 줄 정체성SYSTEM.md body — 장르·톤·핵심 장면files/… 경로를 따라 자연스럽게 읽어 무대·캐스트·분위기의 실제 묘사를 흡수요약해둘 것:
대상 개수와 개수 × $0.02–0.04 비용을 공지하고 승인 받는다.
템플릿 장르·톤을 한 줄 style anchor로:
| 장르 | style anchor 예시 |
|---|---|
| 판타지 RPG | 고전 JRPG 키비주얼 스타일의 판타지 일러스트 |
| 서스펜스/미스터리 | 네오 누아르 웹코믹 풍의 심야 서스펜스 일러스트 |
| 소설/드라마 | 영화 포스터 스타일의 시네마틱 드라마 일러스트 |
| 게임북/인터랙티브 | 비주얼 노벨 타이틀 화면 스타일 |
| 일상/캐릭터 챗 | Studio Ghibli 톤의 부드러운 장면 일러스트 |
새 cover를 쓰기 전에 같은 디렉토리의 모든 확장자 cover를 삭제:
rm -f example_data/library/templates/{name}/COVER.{png,jpg,jpeg,webp,svg,gif,avif}
프롬프트 템플릿:
{style}로 그린 {장르} 키비주얼.
장면: {무대 한 줄 묘사}
구성: {중심 소재}, {조명·색감}, {카메라 거리/앵글}
무드: {톤 키워드}
좌우로 넓은 와이드 구도, 중앙에 주 피사체. 화면 전체에 분위기.
어떤 글자·텍스트·로고·배지·상표·자막·간판 문구도 없이.
각 대상마다 아래 블록을 병렬 발행 (전부 &), 마지막에 wait:
bun run .claude/skills/character-images/scripts/gen-image.ts \
"example_data/library/templates/{name}/COVER.png" --aspect 16:9 <<'PROMPT' &
{prompt}
PROMPT
# ... 대상마다 위 블록 1회씩
wait
for T in <targets>; do
DIR="example_data/library/templates/$T"
F="$(ls "$DIR"/COVER.png "$DIR"/COVER.jpg 2>/dev/null | head -1)"
[ -z "$F" ] && { echo "MISSING: $T"; continue; }
file "$F" | grep -Eq "PNG image|JPEG image" || echo "BAD: $T ($F)"
ls -l "$F" | awk '{ print $5, $NF }'
done
기준: 시그니처가 PNG/JPEG image, 크기 100KB 이상.
bun run example-data:copy -- --force
| 증상 | 원인 | 복구 |
|---|---|---|
file이 data만 표시 | stderr가 stdout 오염 | 완전 재생성 |
| 모델이 텍스트·로고를 넣음 | 네거티브 미흡 | 텍스트 금지 구문을 프롬프트 끝에 더 강하게 |
| 인물 얼굴이 너무 전면 | 구도 지시 부족 | "중앙 피사체는 실루엣/미디엄 샷, 분위기 중심" 추가 |
gemini-3.1-flash-image-preview (변경은 character-images/scripts/gen-image.ts의 MODEL 상수)1:1, 3:4, 4:3, 9:16, 16:9 중 선택. 카드 배너는 16:9