| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Linux
- Android
- Freesound
- Coroutine
- 오늘의역사
- Codex
- 소울칼리버6
- 명언
- 장자명언
- 코틀린
- Flutter
- gemini-cli
- Firebase
- 좋은글필사하기
- 명언모음
- Skills
- AI
- ASMR
- kotlin
- javascript
- MCP
- 파이썬
- 이모지메모
- DART
- Gemini
- 생성AI
- FSM
- 오픈소스
- 명심보감
Archives
- Today
- Total
Vintage appMaker의 Tech Blog
[codex] 오래된 신문 효과 Skill 만들기 본문
old-newspaper-image 스킬
old-newspaper-image 스킬을 프롬프트 기반으로 만드는 방법을 설명한다. 목표는 사용자가 제공한 이미지, 스크린샷, 메모, 노트를 1980년대 한국 신문 1면처럼 보이는 세로형 복고 신문 이미지로 변환하는 스킬을 구성하는 것이다. 가장 주목해야 할 것은 codex에 imagen skill을 반드시 활용한다는 것이다.
1. 스킬 목적
old-newspaper-image 스킬은 원본 자료의 핵심 사실만 뽑아 다음 형태의 최종 이미지 생성 프롬프트를 만든다.
- 2:3 세로형 한국 복고 신문 1면
- 1980년대 한국 신문 분위기
- 누렇게 바랜 종이, 거친 종이 질감, 세피아/흑백 잉크
- 가로쓰기와 세로쓰기가 섞인 한국어 레이아웃
- 손글씨 느낌의 신문 활자
- 원본 자료를 바탕으로 한 흑백 펜 삽화
- 4개 번호 섹션, 전문가 한마디 박스, 하단 검은 배너
중요한 원칙은 원본에 없는 사건, 인물, 장소, 수치, 날짜, 주장을 추가하지 않는 것이다.
2. 디렉터리 구조
old-newspaper-image/
SKILL.md
references/
prompt.json
SKILL.md는 Codex가 언제 이 스킬을 사용해야 하는지와 작업 절차를 정의한다.references/prompt.json은 이미지 생성 프롬프트에 들어갈 고정 디자인 규칙과 동적 필드 구조를 담는다.
3. SKILL.md
---
name: old-newspaper-image
description: Create a Korean retro newspaper-style summary image from an uploaded image, screenshot, memo, or notes using the bundled prompt JSON format. Use when the user asks for "옛날신문이미지", old newspaper image, 1980년대 신문풍 요약 이미지, 복고 신문형 이미지, or wants content turned into a handwritten Korean newspaper front page image. Must use imagegen/image_gen for the final bitmap image and preserve only facts visible in or provided with the source.
---
# Old Newspaper Image
## Workflow
1. Read `references/prompt.json` before composing the image prompt.
2. Extract only the core facts from the uploaded image, screenshot, memo, or user text.
3. Fill the dynamic fields from the prompt JSON:
- `newspaper_name`: use a fictional name such as `OO신문`; do not use real newspaper names.
- `issue_number`: default to `제1986호` unless the user provides another value.
- `date`: use the user-provided date, source date, or today's date if needed.
- `category_label`, `main_headline`, `vertical_headline`, 4 numbered sections, `expert_comment`, and `footer_text`.
4. Compose a single imagegen prompt that explicitly requests:
- 2:3 vertical Korean newspaper front page.
- 1980s Korean newspaper look, yellowed paper, rough paper grain, sepia/black ink, ink bleed.
- Mixed horizontal and vertical Korean text.
- Handwritten-feeling Korean lettering and newspaper type, not modern digital card-news typography.
- Black-and-white pen illustrations based on the source image or memo.
- All required layout elements from `references/prompt.json`.
5. Use the built-in image generation tool for the final raster image.
## Content Rules
- Do not invent events, people, places, numbers, dates, or claims absent from the source.
- Compress the content into 4 numbered newspaper sections.
- Keep Korean text short and visually legible; use headline-style phrasing rather than long paragraphs.
- Use a slightly dramatic 1980s newspaper tone, but keep factual meaning faithful.
- Avoid modern card-news layouts, colorful infographics, real newspaper names, glossy UI, and overly clean typography.
4. prompt.json
아래 파일을 references/prompt.json으로 저장한다.
{
"template_name": "1980년대 세로쓰기 혼용 신문 요약 이미지",
"image_type": "업로드 이미지 또는 메모 기반 복고 신문형 요약 이미지",
"aspect_ratio": "2:3 vertical",
"language": "ko",
"core_concept": {
"description": "원본 이미지, 스크린샷, 메모, 노트 내용을 1980년대 한국 신문 1면처럼 요약한다.",
"rule": "원본 내용의 핵심만 사용하고, 없는 사건, 인물, 장소, 수치, 날짜, 주장을 임의로 추가하지 않는다."
},
"visual_style": {
"era": "1980s Korean newspaper",
"paper": "yellowed old newsprint, rough paper grain, ink bleed",
"color_palette": ["black and white", "sepia", "dark ink"],
"typography": {
"main_title": "large bold brush-like Korean headline",
"body": "mix of newspaper type and handwritten-feeling Korean lettering",
"vertical_text": "active use of vertical Korean writing",
"horizontal_text": "supporting horizontal Korean text"
},
"illustration": {
"style": "black-and-white pen drawing, newspaper sketch, rough hand-drawn illustration",
"rule": "simplify the main scene or subject from the source into newspaper-style illustrations"
}
},
"layout": {
"page_header": {
"left": "issue number",
"center": "date",
"right": "price"
},
"main_headline_area": {
"top_label": "category label",
"headline": "large horizontal main headline",
"style": "bold horizontal headline"
},
"right_vertical_banner": {
"text": "fictional newspaper name",
"style": "large vertical text inside bordered box"
},
"center_vertical_headline": {
"text": "core message as vertical headline",
"style": "bold vertical Korean type"
},
"main_content_sections": [
{
"number": 1,
"title": "first key summary",
"body": "short explanation, 1 to 2 lines",
"keywords": ["keyword1", "keyword2"],
"illustration_prompt": "black-and-white pen illustration based on the source"
},
{
"number": 2,
"title": "second key point",
"body": "short explanation, 1 to 2 lines",
"keywords": ["keyword1", "keyword2"],
"illustration_prompt": "simple newspaper icon or symbolic sketch"
},
{
"number": 3,
"title": "third key point",
"body": "short explanation, 1 to 2 lines",
"keywords": ["keyword1", "keyword2"],
"illustration_prompt": "black-and-white pen illustration based on the source"
},
{
"number": 4,
"title": "final conclusion",
"body": "one-line conclusion",
"keywords": ["keyword1"],
"illustration_prompt": "small closing symbol or simple newspaper sketch"
}
],
"side_columns": {
"left_vertical_note": "short supporting vertical note",
"right_info_box": "date, weather, or small information box only if supported by source",
"expert_comment_box": "short expert-style comment box without unsupported claims"
},
"footer": {
"text": "special report or summary sentence",
"style": "white letters on black bottom banner"
}
},
"dynamic_fields": {
"newspaper_name": "OO신문",
"issue_number": "제1986호",
"date": "YYYY년 M월 D일 요일",
"price": "값 50원",
"category_label": "",
"main_headline": "",
"vertical_headline": "",
"sections": [
{
"section_no": 1,
"title": "",
"description": "",
"keywords": [],
"illustration_prompt": ""
},
{
"section_no": 2,
"title": "",
"description": "",
"keywords": [],
"illustration_prompt": ""
},
{
"section_no": 3,
"title": "",
"description": "",
"keywords": [],
"illustration_prompt": ""
},
{
"section_no": 4,
"title": "",
"description": "",
"keywords": [],
"illustration_prompt": ""
}
],
"expert_comment": "",
"footer_text": ""
},
"avoid": [
"modern card-news layout",
"colorful infographic",
"real newspaper names",
"glossy digital UI",
"overly clean modern typography",
"unsupported facts"
]
}
5. skill의 flow
스킬 실행 시 Codex는 사용자 입력에서 (1) 사실을 먼저 정리한 뒤 prompt.json의 (2) dynamic_fields를 채운다. 그 다음 아래 형식으로 (3) imagegen 프롬프트를 만든다.
Create a 2:3 vertical Korean retro newspaper summary image using the exact design intent in references/prompt.json.
Source facts:
- [원본에서 확인된 사실 1]
- [원본에서 확인된 사실 2]
- [원본에서 확인된 사실 3]
Dynamic fields:
- newspaper_name: OO신문
- issue_number: 제1986호
- date: YYYY년 M월 D일 요일
- price: 값 50원
- category_label: [짧은 분류명]
- main_headline: [큰 가로 제목]
- vertical_headline: [세로쓰기 핵심 문장]
- section 1: [제목] / [짧은 설명] / keywords: [키워드] / illustration: [삽화 지시]
- section 2: [제목] / [짧은 설명] / keywords: [키워드] / illustration: [삽화 지시]
- section 3: [제목] / [짧은 설명] / keywords: [키워드] / illustration: [삽화 지시]
- section 4: [제목] / [짧은 설명] / keywords: [키워드] / illustration: [삽화 지시]
- expert_comment: [짧은 해설]
- footer_text: [하단 배너 문구]
Style requirements:
1980s Korean newspaper front page, yellowed rough paper, black and sepia ink, ink bleed, mixed vertical and horizontal Korean text, bold brush-like main headline, handwritten-feeling Korean body text, black-and-white pen illustrations, right vertical newspaper-name banner, side vertical note, expert comment box, bottom black banner with white letters.
Rules:
Do not add unsupported facts. Do not use real newspaper names. Do not create a modern card-news layout. Keep Korean text short and visually legible.
6. 필드 작성 기준
newspaper_name은 반드시 가상 신문명으로 쓴다. 예:복고신문,OO신문,오늘신문.issue_number는 사용자가 지정하지 않으면제1986호를 기본값으로 둔다.date는 사용자가 준 날짜, 원본에 보이는 날짜, 실행일 순서로 선택한다. 날짜가 확실하지 않으면 임의의 과거 날짜를 만들지 않는다.main_headline은 원본의 핵심 주제를 크게 압축한 문장으로 작성한다.vertical_headline은 세로쓰기용으로 짧고 강한 문구를 사용한다.sections는 항상 4개로 압축한다. 각 섹션은 제목, 1~2줄 설명, 키워드, 삽화 지시를 가진다.expert_comment는 해설처럼 보이되, 원본에 없는 전문적 판단이나 수치를 추가하지 않는다.footer_text는 하단 검은 배너에 들어갈 짧은 요약 문장으로 작성한다.
7. 예제
스킬을 등록 후,
https://www.youtube.com/watch?v=S0Wcjibnsdk를 요약하여 옛날신문이미지로 만들어줘.




'Source code or Tip > 생성AI' 카테고리의 다른 글
| [codex] 해외뉴스(CNN, BBC) 가져와서 정리하기 (0) | 2026.07.01 |
|---|---|
| [codex] 채팅 스타일(종이느낌) skill로 정리하기 (0) | 2026.05.29 |
| [codex] image gen을 활용한 분필칠판 효과 (0) | 2026.05.12 |
| [codex] chrome 확장 플러그인을 이용한 자동화 (0) | 2026.05.10 |
| [codex] codex app에서 pet 기능 (0) | 2026.05.07 |
Comments
