| name | auto-card-news |
| description | Create source-backed, channel-aware Korean carousel/card-news packages with real media research, concise copy, fixed HTML/CSS rendering, PNG output, optional motion/MP4 planning, deterministic QA, and explicit publish approval. Use when a user gives a URL, GitHub repo, article, report, screenshot, or topic and asks for Instagram cards, a carousel, card news, captions, or a mixed static/motion package. |
Auto Card News
AI๋ ํธ์ง์ฅ ์ญํ ๋ง ํ๋ค. ๋ฐ๋ณต ์ ์์ ์ ์ฅ์์ ์ฝ๋๊ฐ ๋งก๋๋ค.
- AI: ์์ค ํด์, ๊ฐ๋ ์ ํ, ํ๊ตญ์ด ์นดํผ, ๋ฏธ๋์ด ํ๋ณด ์ ํ
- ์ฝ๋: HTML/CSS, ํฐํธ, ์ค๋ฐ๊ฟ ์ ํ, ๋ ๋๋ง, ์ ์ด ์ํธ, QA, ๊ฒ์ ํ
- ์ฌ์ฉ์: ์ต์ข
๊ฒฐ๊ณผ ๊ฒ์์ ์
๋ก๋ ์น์ธ
๋ช
๋ น์ ์ ์ฅ์ checkout ๋๋ runtime-path.txt์ ๊ธฐ๋ก๋ auto-card-news-runtime ๋ฃจํธ์์ ์คํํ๋ค. ์ค์น๋ณธ์ ๋ณดํต $CODEX_HOME/auto-card-news-runtime ๋๋ $CLAUDE_HOME/auto-card-news-runtime์ ์๋ค.
๊ธฐ๋ณธ ์ฐ์ถ๋ฌผ
- 1080x1350 ์นด๋ 7์ฅ
- ์นด๋๋ณ ๋
๋ฆฝ HTML๊ณผ PNG
contact-sheet.png, thumbnail-sheet.png
- ์ธ์คํ๊ทธ๋จ ์บก์
- ํ์ํ ๋๋ง ๋ฆด์ค ๊ธฐํ ๋๋ MP4
READY_FOR_REVIEW.json
ํ์ ์คํ ์์
1. ์์ค๋ฅผ ๊ฒ์ฆํ๋ค
ํ์ฌ ์ ๋ณด๋ ๊ณต์ ๋ฌธ์, ์๋ฌธ, ์ ์ฅ์, ๋ฆด๋ฆฌ์ค์ ๊ต์ฐจ ํ์ธํ๋ค. ์ฌ์ฉ์๊ฐ ์์ค๋ฅผ ์ฃผ์ง ์์๋ค๋ฉด last30days๋ก fresh source discovery๋ฅผ ์ํํ๊ณ source-pack.md์ ๊ทผ๊ฑฐ๋ฅผ ๋จ๊ธด๋ค.
URL ๊ธฐ๋ฐ ํ๋ก์ ํธ๋ ๋จผ์ ์ค์ ๋ฏธ๋์ด๋ฅผ ์์งํ๋ค.
node tools/automation/collect-source-media.mjs <project-dir> --limit 12
assets/web/source-media-ledger.json์์ ๋ค์ ์์๋ก ๊ณ ๋ฅธ๋ค.
- ์ค์ ์ ํ/์ฌ์ฉ ๋ฐ๋ชจ ์ด๋ฏธ์ง ๋๋ ์์
- ๊ณต์ ๋ฌธ์์ ์ค๋ช
๋ ฅ์ด ๋์ ํ๋ฉด
- ์์ค ํ์ด์ง ์บก์ฒ
- ์ค์ ํ๋ฆ์ ์ฌํํ HTML ์๊ฐํ
reference-only ๋ฏธ๋์ด๋ ์ต์ข
์ฐ์ถ๋ฌผ์ ๋ณต์ฌํ์ง ์๋๋ค. GPT Image๋ ๊ธฐ๋ณธ ๊ฒฝ๋ก๊ฐ ์๋๋ค.
2. ๋น์ทํ ์ฑ๊ณต ์ฌ๋ก๋ง ์ฐพ๋๋ค
์ ์ฒด ๊ธฐ๋ก์ ๋ฌธ๋งฅ์ ๋ฃ์ง ์๋๋ค. ๋จผ์ ์นดํ๋ก๊ทธ๋ฅผ ๊ฒ์ํ๋ค.
rg -n "<topic-or-pattern>" skills/auto-card-news/references/library/manifest.json
๊ด๋ จ ํ๋ก์ ํธ 1-3๊ฐ์ files/์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ง ์ฝ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ 127๊ฐ AI JJUN ํ๋ก์ ํธ์ ์ถ์ฒ ๋งํฌ๋ฅผ ์์ถ ๋ณด๊ดํ๋ค.
๋ ์ด์์ ๊ฐ๊ฐ์ด ํ์ํ ๋๋ง references/visual-reference-atlas/manifest.json์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์
์ ์ฐพ๊ณ ์ํ๋ผ์ค 1์ฅ๋ง ๋ณธ๋ค. 182๊ฐ ์๋ณธ ๋ ํผ๋ฐ์ค๋ 146๊ฐ ๊ณ ์ ์ ํด์๋ ์ธ๋ค์ผ๋ก ์์ถ๋ผ ์์ผ๋ฉฐ ๋ชจ๋ reference-only๋ค. ์ํ๋ผ์ค ํ๋ ์์ ์ต์ข
์ฝํ
์ธ ์ ๋ณต์ฌํ์ง ์๋๋ค.
3. ์นดํผ์ ์นด๋ ๊ณ์ฝ๋ง ์์ฑํ๋ค
AI๊ฐ ์ง์ HTML/CSS๋ฅผ ๋ง๋ค์ง ์๋๋ค. content.draft.json๋ง ์์ฑํ๋ค.
- ์ ํํ 7์ฅ
- ์ญํ ์์: ์ํฉ/ํ
โ ๋ฌธ์ โ ์ฌ์ด ์ค๋ช
โ ์ค์ ๊ทผ๊ฑฐ โ ์ฌ์ฉ๋ฒ โ ์ฃผ์์ โ ํ๋ ์ ๋
- ํ ์นด๋์ ํ ๋ฉ์์ง
- ์ ๋ชฉ์ ์๋ฏธ ๋จ์ 1-3์ค
- ๋ณธ๋ฌธ์ ์ต๋ 3์ค
AI์ญ์, ์ฒด๊ฐ ์ด๋, ๋ง๋ง ๊ฐ์ ๋ด๋ถ ํํ ๊ธ์ง
- ๊ธฐ์ ๋ช
๋ณด๋ค ์์ฒญ์๊ฐ ์ป๋ ๊ฒฐ๊ณผ๋ฅผ ๋จผ์ ์ด๋ค
- AI JJUN์ ์น๊ทผํ Korean ํํฐ ํค์ ์ฐ๋ ์ฌ๊ฐํ ๋ณด์/๋น์ฉ ์ฃผ์ ๋ ์ฅ๋์ ์ค์ธ๋ค
์์ธ ๊ณ์ฝ๊ณผ ์นดํผ ๊ธฐ์ค:
references/content-contract.md
references/copy-harness.md
assets/prompts/copy-director.md
์นดํผ๋ฅผ ๋จผ์ ๊ฒ์ฌํ๋ค.
node tools/carousel/validate-copy.mjs <project-dir>/content.draft.json
์คํจํ ๋ฌธ์ฅ๋ง ๊ณ ์น๋ค. ์ ์ฒด๋ฅผ ๋ค์ ์์ฑํ์ง ์๋๋ค.
4. ๋ฏธ๋์ด๋ฅผ ํ์ ํ๊ณ ๋ ๋ํ๋ค
node tools/carousel/prepare-carousel.mjs <project-dir> --render
์ด ๋จ๊ณ๊ฐ ํ๋ณด ID๋ฅผ ๋ก์ปฌ ๋ฏธ๋์ด ํ์ผ๋ก ํ์ ํ๊ณ content.json์ ๋ง๋ ๋ค. ๋ ๋๋ฌ๋ GmarketSans์ fixed CSS Grid(๊ณ ์ CSS Grid)๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ฉ ๋ ์ด์์:
cover-media
media-top
media-full
compare
checklist
steps
cta
๋ ์ด์์ ์์น๋ฅผ ์นด๋๋ง๋ค ์์ ์ขํ๋ก ๋ค์ ๋ง๋ค์ง ์๋๋ค. HTML/CSS preview๋ ์ฝ๋๊ฐ ์์ฑํ๋ค.
5. ์ค์ ํ๋ฉด์ ๊ฒ์ฌํ๋ค
contact-sheet.png๋ฅผ ์ด์ด ์๋๋ฅผ ํ์ธํ๋ค.
- ๊ธ์, ๋ฒํธ, ์นฉ, ๋ฏธ๋์ด, ์ถ์ฒ๊ฐ ๊ฒน์น์ง ์์
- ํ ๋จ์ด๊ฐ ์ธํจ์ด ์ค๋ก ๋จ์ง ์์
- ๋ชจ๋ฐ์ผ์์ ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ด ์ถฉ๋ถํ ํผ
- ์ฒซ ์ฅ์ ์ค์ ์ฌ์ฉ ์ฅ๋ฉด ๋๋ ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ก ๋ณด์
- ๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์ด์ ์์ด ๋ฐ๋ณต๋์ง ์์
- ์ต์ 3๊ฐ์ ์๋ก ๋ค๋ฅธ ์๊ฐ ๊ทผ๊ฑฐ๊ฐ ์์
๋ ๋๋ฌ๊ฐ overflow, collision, missing font, missing media๋ฅผ ๋ฐ๊ฒฌํ๋ฉด READY_FOR_REVIEW.json์ ๋ง๋ค์ง ์๋๋ค.
6. ๋ชจ์
์ ํ์ํ ๋๋ง ๋ถ์ธ๋ค
์ค์ ๋ฐ๋ชจ, ํ์ดํ, ์ ํ ๋ณํ๊ฐ ์ดํด๋ฅผ ํฌ๊ฒ ๋์ผ ๋ auto-motion-news๋ฅผ ์ฌ์ฉํ๋ค. ๋จ์ ์ฌ๋ผ์ด๋์ผ MP4๋ ๋ง๋ค์ง ์๋๋ค. HyperFrames ๋๋ Remotion์ ์ฐ๋๋ผ๋ ์ ์ ์นด๋์ ๊ฐ์ GmarketSans, ์นดํผ, ์, ์์ ์์ญ์ ์ ์งํ๋ค.
7. ๊ฒ์์ ๊ฒ์๋ฅผ ๋ถ๋ฆฌํ๋ค
READY_FOR_REVIEW.json: ์ฝ๋ QA๋ฅผ ํต๊ณผํด ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์์
APPROVED_FOR_PUBLISH.json: ์ฌ์ฉ์๊ฐ ์ด ๊ฒฐ๊ณผ๋ฌผ ์
๋ก๋๋ฅผ ๋ช
์์ ์ผ๋ก ์น์ธํจ
๋ ๋ฒ์งธ ํ์ผ ์์ด ์ค์ Instagram/Threads API๋ฅผ ์คํํ์ง ์๋๋ค. "๋ง๋ค์ด์ค"๋ ์
๋ก๋ ์น์ธ์ด ์๋๋ค.
node tools/publish/build-publish-queue.mjs --project <project-dir>
node tools/publish/validate-publish-queue.mjs
์ธ์คํ๊ทธ๋จ ์บ๋ฌ์
์ API๋ก ์๋ ๊ฒ์ํ ์ ์๋ค. ์ฌ์ง ์บ๋ฌ์
์ ๋ผ์ด์ ์ค ์์
์ ํ์ ๊ณต์ ๊ฒ์ API์ ๋ฌธ์ํ๋ ํ๋๊ฐ ์์ผ๋ฏ๋ก ์ฑ์์ ์๋ ๋ง๋ฌด๋ฆฌํ๋ค.
node tools/publish/build-instagram-music-handoff.mjs --item <project-slug>
์บ๋ฌ์
์ ๋ฆด์ค ํญ ์ถ์ฒ ๋
ธ์ถ์ ์ธ์คํ๊ทธ๋จ์ด ๊ฒฐ์ ํ๋ฉฐ ๋ณด์ฅํ ์ ์๋ค.
ํ์ํ ๋ ์ฝ๋ ์ฐธ์กฐ
- ์ฑ๋/AI JJUN ๋ฐฉํฅ:
references/ai-jjuun-production-playbook.md
- ์์ค์ ํ๋ก์ ํธ ํ๋ฆ:
references/project-workflow.md
- ์ค์ ๋ฏธ๋์ด ์์ง:
references/scrapling-source-collection.md
- ๋์์ธ๊ณผ ๋ชจ๋ฐ์ผ ๊ฐ๋
์ฑ:
references/design-and-references.md
- ์ ์ /๋ชจ์
๋ด๋ณด๋ด๊ธฐ:
references/rendering-and-motion.md
- ๊ฒ์ ์๋ํ:
references/publishing-automation.md
- ์ ์ฒด ๊ณผ๊ฑฐ ์ฌ๋ก:
references/library/index.md
์๋ฃ ์กฐ๊ฑด
์๋ฃ๋ผ๊ณ ๋ณด๊ณ ํ๊ธฐ ์ ์ ์๋๊ฐ ๋ชจ๋ ์์ด์ผ ํ๋ค.
content.json
output/card-01.png๋ถํฐ card-07.png
output/contact-sheet.png
output/thumbnail-sheet.png
READY_FOR_REVIEW.json
- ์ถ์ฒ๊ฐ ์๋ ์บก์
- ์ค์ ๋ก ์ด์ด๋ณธ ์๊ฐ QA ๊ฒฐ๊ณผ
๊ฒ์ฆํ์ง ๋ชปํ ํญ๋ชฉ์ ์๋ฃ๋ผ๊ณ ๋งํ์ง ์๋๋ค.