bear2u

card-news-generator

710
189
# Install this skill:
npx skills add bear2u/my-skills --skill "card-news-generator"

Install specific skill from multi-skill repository

# Description

Create 600x600 Instagram-style card news series automatically with optional background images. User provides topic, colors, and optional images - Claude generates content and creates multiple cards with proper text wrapping.

# SKILL.md


name: card-news-generator
description: Create 600x600 Instagram-style card news series automatically with optional background images. User provides topic, colors, and optional images - Claude generates content and creates multiple cards with proper text wrapping.


Card News Generator - Auto Mode (V2)

Creates beautiful 600x600 card news series for social media with background image support. User can provide topic, colors, and optional background images - Claude handles content generation and multi-card creation automatically.

When to Use

Use this skill when user requests:
- "μΉ΄λ“œ λ‰΄μŠ€ λ§Œλ“€μ–΄μ€˜"
- "주제둜 μΉ΄λ“œ μ‹œλ¦¬μ¦ˆ λ§Œλ“€μ–΄μ€˜"
- "μΈμŠ€νƒ€μš© μΉ΄λ“œ μƒμ„±ν•΄μ€˜"
- Any request for visual card content

Core Workflow - AUTO MODE

This is the PRIMARY workflow when users request card news:

Step 1: Get Topic, Colors, and Optional Background Images from User

Ask user for:
- Topic (주제): What the card series is about
- Background RGB (배경색): e.g., 245,243,238 (optional, default: beige)
- Background Images (λ°°κ²½ 이미지, 선택사항): Path to folder containing images

Example conversation (Solid Color):

Claude: μ–΄λ–€ 주제둜 μΉ΄λ“œ λ‰΄μŠ€λ₯Ό λ§Œλ“€κΉŒμš”?
User: Zμ„ΈλŒ€μ˜ νŠΉμ§•μ— λŒ€ν•΄μ„œ

Claude: 배경색을 μ„ νƒν•΄μ£Όμ„Έμš” (RGB ν˜•μ‹, 예: 245,243,238)
μΆ”μ²œ 색상:
β€’ 베이지: 245,243,238
β€’ 핑크: 255,229,229
β€’ 민트: 224,244,241
User: 245,243,238

Example conversation (With Background Images):

Claude: μ–΄λ–€ 주제둜 μΉ΄λ“œ λ‰΄μŠ€λ₯Ό λ§Œλ“€κΉŒμš”?
User: μ—¬ν–‰ 팁 5κ°€μ§€

Claude: λ°°κ²½ 이미지λ₯Ό μ‚¬μš©ν•˜μ‹œκ² μ–΄μš”? (μ‚¬μš©ν•˜λ €λ©΄ 이미지 폴더 경둜 μž…λ ₯)
User: /path/to/travel-images

Claude: μ˜€λ²„λ ˆμ΄ 뢈투λͺ…도λ₯Ό μ„ νƒν•˜μ„Έμš” (0.0-1.0, κΈ°λ³Έκ°’ 0.5)
λ†’μ„μˆ˜λ‘ μ–΄λ‘‘κ²Œ μ²˜λ¦¬λ˜μ–΄ ν…μŠ€νŠΈκ°€ 더 잘 λ³΄μž…λ‹ˆλ‹€.
User: 0.6

Step 2: Generate Card Content

Create 5-7 cards about the topic. Format output as:

1. [제λͺ©]
[μ„€λͺ… 2-3쀄]

2. [제λͺ©]
[μ„€λͺ… 2-3쀄]

3. [제λͺ©]
[μ„€λͺ… 2-3쀄]

CRITICAL Content Guidelines:
- Title: Maximum 20 characters (including spaces)
- Content: Maximum 60 characters (including spaces)
- Keep it concise to fit 600x600 canvas
- Use simple, impactful language
- Each card should convey ONE key point

Step 3: Auto-Generate Cards

Option A: Solid Color Background

Use this command to create all cards with solid color background:

python auto_generator.py \
  --topic "Zμ„ΈλŒ€μ˜ νŠΉμ§•" \
  --bg-color "#f5f3ee" \
  --text-color "#1a1a1a" \
  --output-dir /mnt/user-data/outputs \
  --base-filename "zgen" << 'EOF'
1. λ””μ§€ν„Έ λ„€μ΄ν‹°λΈŒ
νƒœμ–΄λ‚  λ•ŒλΆ€ν„°
λ””μ§€ν„Έ ν™˜κ²½μ— μ΅μˆ™

2. κ°œμΈν™” μ€‘μ‹œ
λ‚˜λ§Œμ˜ κ°œμ„±κ³Ό
μ·¨ν–₯을 μ€‘μš”μ‹œ

3. μ†Œν†΅ 방식
ν…μŠ€νŠΈλ³΄λ‹€ μ˜μƒ
이λͺ¨ν‹°μ½˜μœΌλ‘œ 감정 ν‘œν˜„
EOF

Option B: Background Images (V2 Feature)

Use this command to create cards with background images:

python auto_generator.py \
  --topic "μ—¬ν–‰ 팁" \
  --output-dir /mnt/user-data/outputs \
  --base-filename "travel" \
  --image-folder /path/to/travel-images \
  --overlay-opacity 0.6 << 'EOF'
1. 짐 μ‹ΈκΈ° 팁
μ΅œμ†Œν•œμ˜ 짐으둜
κ°€λ³κ²Œ μ—¬ν–‰ν•˜κΈ°

2. ν˜„μ§€ μŒμ‹
λ§›μ§‘ μ°ΎλŠ”
λ‚˜λ§Œμ˜ 방법

3. ꡐ톡 μˆ˜λ‹¨
λŒ€μ€‘κ΅ν†΅ ν™œμš©
팁과 λ…Έν•˜μš°
EOF

Important Notes:
- Images in the folder must be sorted alphabetically/numerically (e.g., 01.jpg, 02.jpg, 03.jpg)
- Image count should match card count
- If fewer images than cards, remaining cards will use solid color background
- Supported formats: .jpg, .jpeg, .png, .webp, .bmp
- Text automatically changes to white when using background images

The script will automatically:
- Parse the numbered content
- Load background images from the folder (in sorted order)
- Apply dark overlay for better text visibility
- Create individual cards with proper text wrapping
- Save as travel_01.png, travel_02.png, etc.

After generation, show user:

βœ… μΉ΄λ“œ λ‰΄μŠ€ 5μž₯이 μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€!

[View card 1](computer:///mnt/user-data/outputs/zgen_01.png)
[View card 2](computer:///mnt/user-data/outputs/zgen_02.png)
...

RGB to Hex Conversion

Always convert RGB to hex for scripts:

# RGB 245,243,238 β†’ Hex #f5f3ee
hex_color = '#{:02x}{:02x}{:02x}'.format(245, 243, 238)

Show users these options:
- Warm beige: 245,243,238 β†’ #f5f3ee
- Soft pink: 255,229,229 β†’ #ffe5e5
- Mint green: 224,244,241 β†’ #e0f4f1
- Lavender: 232,224,245 β†’ #e8e0f5
- Peach: 255,232,214 β†’ #ffe8d6
- Sky blue: 227,242,253 β†’ #e3f2fd

Content Generation Best Practices

Good Card Content Example

1. λ””μ§€ν„Έ λ„€μ΄ν‹°λΈŒ
νƒœμ–΄λ‚  λ•ŒλΆ€ν„°
λ””μ§€ν„Έ ν™˜κ²½μ— μ΅μˆ™

βœ“ Title: 8 characters
βœ“ Content: 18 characters
βœ“ Clear and concise

Bad Card Content Example

1. Zμ„ΈλŒ€λŠ” λ””μ§€ν„Έ λ„€μ΄ν‹°λΈŒ μ„ΈλŒ€μž…λ‹ˆλ‹€
그듀은 νƒœμ–΄λ‚  λ•ŒλΆ€ν„° 슀마트폰과 인터넷을 μ‚¬μš©ν•˜λ©° 자랐기 λ•Œλ¬Έμ— λ””μ§€ν„Έ κΈ°μˆ μ— 맀우 λŠ₯μˆ™ν•©λ‹ˆλ‹€

βœ— Title too long (21 characters)
βœ— Content too long (60+ characters)
βœ— Will overflow the 600x600 canvas

Single Card Mode (Manual)

Solid Color Background

For creating just one card with solid color:

python generate_card.py \
  --title "제λͺ©" \
  --content "λ‚΄μš©" \
  --bg-color "#f5f3ee" \
  --text-color "#1a1a1a" \
  --number 1 \
  --output /mnt/user-data/outputs/single.png

With Background Image (V2 Feature)

For creating a card with background image:

python generate_card.py \
  --title "μ—¬ν–‰ 팁" \
  --content "μ΅œμ†Œν•œμ˜ 짐으둜\nκ°€λ³κ²Œ μ—¬ν–‰ν•˜κΈ°" \
  --bg-image /path/to/image.jpg \
  --overlay-opacity 0.6 \
  --number 1 \
  --output /mnt/user-data/outputs/travel_01.png

Parameters:
- --bg-image: Path to background image file
- --overlay-opacity: Opacity of dark overlay (0.0-1.0, default: 0.5)
- 0.0 = No overlay (original image)
- 0.5 = 50% dark overlay (default, good balance)
- 1.0 = Fully black (only for very bright images)

Technical Details

Canvas Specifications

  • Size: 600x600 pixels (Instagram-optimized)
  • Padding: 40px on all sides
  • Max text width: 520px (600 - 80)
  • Font sizes:
  • Number badge: 60px
  • Title: 48px (bold)
  • Content: 28px (regular)

Background Image Processing (V2)

  • Resize & Crop: Images are automatically resized to 600x600px
  • Maintains aspect ratio
  • Center crop if aspect ratio differs
  • Uses high-quality LANCZOS resampling
  • Dark Overlay: Applied to improve text visibility
  • Default opacity: 0.5 (50% dark)
  • Adjustable via --overlay-opacity (0.0-1.0)
  • Higher values = darker overlay = better text contrast
  • Text Color: Automatically switches to white (#FFFFFF) when using background images
  • Supported Formats: JPG, JPEG, PNG, WebP, BMP
  • Image Sorting: Files loaded in alphabetical/numerical order

Text Wrapping

  • Automatic word wrapping at max width
  • Preserves manual line breaks
  • Centers all text horizontally
  • Vertical spacing optimized for readability

File Naming Convention

  • Auto mode: {base_filename}_{number:02d}.png
  • Example: card_01.png, card_02.png, card_03.png

Error Handling

If text overflows:
- Reduce title length
- Shorten content
- Use line breaks strategically
- Regenerate with revised content

Example Workflows

Example 1: Solid Color Background

User request: "Zμ„ΈλŒ€μ— λŒ€ν•œ μΉ΄λ“œ λ‰΄μŠ€ 5μž₯ λ§Œλ“€μ–΄μ€˜, ν•‘ν¬μƒ‰μœΌλ‘œ"

Claude response:
1. Confirm: "Zμ„ΈλŒ€ νŠΉμ§•μ— λŒ€ν•œ μΉ΄λ“œ 5μž₯을 핑크 λ°°κ²½(255,229,229)으둜 λ§Œλ“€κ² μŠ΅λ‹ˆλ‹€."
2. Generate 5 cards content (keeping text concise)
3. Run auto_generator.py with heredoc
4. Provide download links to all 5 cards

Total time: ~30 seconds for 5-card series

Example 2: Background Images (V2)

User request: "μ—¬ν–‰ 팁 μΉ΄λ“œ λ‰΄μŠ€ λ§Œλ“€μ–΄μ€˜, 배경은 /Users/me/travel-photos 폴더에 μžˆλŠ” 이미지 μ‚¬μš©"

Claude response:
1. Confirm: "μ—¬ν–‰ 팁 μΉ΄λ“œ λ‰΄μŠ€λ₯Ό λ§Œλ“€κ² μŠ΅λ‹ˆλ‹€. /Users/me/travel-photos ν΄λ”μ˜ 이미지λ₯Ό 배경으둜 μ‚¬μš©ν•©λ‹ˆλ‹€."
2. Ask: "μ˜€λ²„λ ˆμ΄ 뢈투λͺ…도λ₯Ό μ„ νƒν•˜μ„Έμš” (0.0-1.0, κΈ°λ³Έκ°’ 0.5). λ†’μ„μˆ˜λ‘ ν…μŠ€νŠΈκ°€ 더 잘 λ³΄μž…λ‹ˆλ‹€."
3. User: "0.6"
4. Generate 5 cards content (keeping text concise)
5. Run auto_generator.py with --image-folder and --overlay-opacity
6. Provide download links showing cards with background images

Preparation tips:
- Rename images in order: 01.jpg, 02.jpg, 03.jpg, 04.jpg, 05.jpg
- Ensure image count matches card count
- Use high-quality images (at least 600x600px recommended)
- Test with different overlay opacity values for best results

Total time: ~45 seconds for 5-card series with images

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.