ワンクリックで
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