character-designer-agent
4
总安装量
4
周安装量
#52485
全站排名
安装命令
npx skills add https://github.com/psh355q-ui/szdi57465yt --skill character-designer-agent
Agent 安装分布
claude-code
3
windsurf
2
trae
2
opencode
2
codex
2
antigravity
2
Skill 文档
Character Designer Agent – ìºë¦í° ëìì´ë (MeowStreet Wars)
Role
NanoBanana PROì© 3D ê³ ìì´ ìºë¦í° ì´ë¯¸ì§ í롬íí¸ë¥¼ ìë ìì±í©ëë¤. í°ì»¤ë³ ê³ ì í¹ì± + ìì¥ ê°ì = ì ëí¬í ìºë¦í°!
Core Capabilities
1. Prompt Formula
[Base Style] + [Character Trait] + [Expression] + [View] + [Effects]
Components
- Base Style: 기본 3D ì¤íì¼ (Pixar, Disney)
- Character Trait: í°ì»¤ë³ ê³ ì í¹ì§ (ìì, ìì, ìí)
- Expression: ìì¥ ìí©ì ë°ë¥¸ íì
- View: ì¹´ë©ë¼ ìµê¸
- Effects: ì¶ê° í¨ê³¼ (ë¹, íí°í´)
2. Base Style
3D animated character render, Pixar movie style,
cute anthropomorphic cat, fluffy fur texture,
professional studio lighting, 4K resolution,
vibrant colors, detailed facial features
3. Character Database (300+ Tickers)
ðºð¸ US Stocks – Technology
| Ticker | Animal | Fur Color | Outfit | Props | Theme |
|---|---|---|---|---|---|
| AAPL | Cat | Silver/White | Black turtleneck | iPad, Apple logo | Minimalist, Clean |
| NVDA | Cat | Black + Neon Green | Leather jacket | GPU chip glowing | Cyberpunk, Futuristic |
| MSFT | Cat | Gray-Blue | Blue shirt | Cloud icon | Corporate, Stable |
| GOOGL | Cat | Multi-color | Casual hoodie | Chrome logo | Playful, Tech |
| META | Cat | Blue-White | Hoodie | VR headset | Virtual, Modern |
| AMZN | Cat | Orange | Delivery vest | Cardboard box | Logistics, Speed |
| TSLA | Cat | White + Red | Space suit | Electric sparks | Futuristic, Energy |
ðºð¸ US Stocks – Finance
| Ticker | Animal | Fur Color | Outfit | Props | Theme |
|---|---|---|---|---|---|
| JPM | Cat | Navy + Gold | Pinstripe suit | Bull statue | Wall Street, Power |
| BRK.B | Cat | Gray-White (Old) | Classic suit | Coca-Cola | Value, Wisdom |
| BAC | Cat | Red-White | Business suit | Bank vault | Banking, Secure |
| GS | Cat | Gold-Black | Luxury suit | Gold bars | Investment, Wealth |
ðºð¸ US Stocks – Healthcare
| Ticker | Animal | Fur Color | Outfit | Props | Theme |
|---|---|---|---|---|---|
| JNJJ | Cat | White-Red | Doctor coat | Medical cross | Healthcare, Trust |
| UNH | Cat | Blue-White | Medical scrubs | Stethoscope | Insurance, Care |
| PFE | Cat | Blue | Lab coat | Vaccine vial | Pharma, Innovation |
| MRNA | Cat | White + Blue | Scientist coat | DNA helix | Biotech, Cutting-edge |
ð°ð· Korean Stocks – ë°ëì²´/IT
| Ticker | Animal | Fur Color | Outfit | Props | Theme |
|---|---|---|---|---|---|
| ì¼ì±ì ì | Cat | Blue | Clean room suit | Silicon wafer | Semiconductor, Precision |
| SKíì´ëì¤ | Cat | Red-Black | Tech uniform | Circuit board | Memory, Speed |
| NAVER | Cat | Green-Yellow | Hoodie (Logo) | Smartphone | Platform, Search |
| Kakao | Cat | Yellow | Hoodie (Logo) | Chat bubble | Messaging, Social |
ð°ð· Korean Stocks – 2ì°¨ì ì§
| Ticker | Animal | Fur Color | Outfit | Props | Theme |
|---|---|---|---|---|---|
| ìì½íë¡ | Bengal | Green-Black | Racing suit | Battery pack | Energy, Fast |
| LGìëì§ì루ì | Cat | Purple-White | Lab coat | Lightning bolt | Innovation, Power |
ð¦ Beast Characters (Major Stocks)
| Ticker | Animal | Reason | Theme |
|---|---|---|---|
| íëê±´ì¤ | Tiger | ëí주, ê±´ì¤ | Power, Dominance |
| LGíí | Black Panther | íí, ê°ë ¥í¨ | Stealth, Chemical |
| HMM | Lion | í´ì´, ìì | Maritime, Royalty |
| ìì¨ìíí¸ | Cheetah | ê²ì, ë¹ ë¦ | Speed, Gaming |
4. Expression Variables (Dynamic)
def get_expression(change_pct: float) -> str:
"""Get expression based on price change"""
if change_pct > 10:
return "ecstatic, eyes sparkling, huge smile, upward graph, coins flying, party confetti"
elif change_pct > 5:
return "very happy, wide grin, upward pointing graph, dollar signs in eyes"
elif change_pct > 2:
return "satisfied smile, confident pose, slight upward trend"
elif change_pct > -2:
return "neutral expression, calm, slight smile, sideways trend"
elif change_pct > -5:
return "worried look, small frown, downward trend line"
elif change_pct > -10:
return "sad, tears forming, broken graph, trembling"
else: # < -10%
return "crying heavily, tears streaming, torn graph paper, despair, falling into abyss"
5. View Options
VIEW_ANGLES = {
"portrait": "front view, centered, shoulders up",
"full_body": "full body shot, standing pose",
"action": "dynamic pose, action shot, movement",
"closeup": "extreme closeup, face only, emotional"
}
6. Fallback Logic
def get_character_prompt(ticker: str, change_pct: float) -> str:
"""Generate prompt with fallback"""
# Try registered ticker
if ticker in CHARACTER_DATABASE:
traits = CHARACTER_DATABASE[ticker]
# Fallback: Sector-based
else:
sector = get_sector(ticker)
traits = SECTOR_DEFAULTS[sector]
# Fallback: Generic
if not traits:
traits = {
"animal": "cat",
"fur_color": "gray-white",
"outfit": "business suit",
"props": "stock chart",
"theme": "generic trader"
}
# Combine
base = BASE_STYLE
character = f"{traits['fur_color']} {traits['animal']}, wearing {traits['outfit']}, holding {traits['props']}"
expression = get_expression(change_pct)
view = "portrait front view"
return f"{base}, {character}, {expression}, {view}"
Decision Framework
Step 1: Receive Input
- ticker: AAPL
- change_pct: +5.2
- scene_context: "celebrating"
Step 2: Lookup Character Traits
IF ticker in DATABASE:
traits = DATABASE[ticker]
ELIF sector known:
traits = SECTOR_DEFAULTS[sector]
ELSE:
traits = GENERIC_TRADER
Step 3: Determine Expression
expression = get_expression(change_pct)
Step 4: Select View
view = "portrait" (default for shorts)
Step 5: Combine Prompt
prompt = BASE_STYLE + traits + expression + view
Step 6: Add Effects (Optional)
IF change_pct > 5:
add "glowing aura, success vibes"
IF change_pct < -5:
add "dark shadows, gloomy atmosphere"
Step 7: Validate Length
IF len(prompt) > 500 characters:
shorten by removing less important details
Output Format
{
"ticker": "AAPL",
"character_info": {
"animal_type": "cat",
"fur_color": "silver-white",
"outfit": "black turtleneck",
"props": "iPad with Apple logo",
"theme": "minimalist, clean"
},
"market_context": {
"change_pct": 5.2,
"sentiment": "POSITIVE",
"expression_type": "very_happy"
},
"prompt": "3D animated character render, Pixar movie style, cute anthropomorphic cat, fluffy fur texture, professional studio lighting, 4K resolution, vibrant colors, detailed facial features, silver-white fur, wearing black turtleneck, holding iPad with glowing Apple logo, very happy expression, wide grin, upward pointing graph, dollar signs in eyes, portrait front view, centered, soft glow effect",
"prompt_length": 387,
"nanobanana_params": {
"model": "nanobanana-pro-v3",
"style": "pixar-3d",
"aspect_ratio": "9:16",
"quality": "hd"
},
"estimated_generation_time_sec": 45,
"fallback_used": false
}
Examples
Example 1: NVDA +12% (ê·¹ì ìì¹)
Input:
- Ticker: NVDA
- Change: +12.5%
Prompt:
"3D animated character, Pixar style, cute cat,
black fur with neon green stripes,
wearing leather jacket,
holding glowing GPU chip,
ecstatic expression, eyes sparkling, huge smile,
upward graph, coins flying, party confetti,
cyberpunk vibe, neon lighting,
portrait view"
Example 2: TSLA -8% (í° íë½)
Input:
- Ticker: TSLA
- Change: -8.2%
Prompt:
"3D animated character, Pixar style, cute cat,
white fur with red accents,
wearing space suit,
holding broken rocket,
crying heavily, tears streaming,
torn graph paper, despair,
dark shadowy background,
portrait view"
Example 3: Fallback (미ë±ë¡ í°ì»¤)
Input:
- Ticker: XYZ (not in database)
- Sector: Technology
- Change: +3%
Fallback Logic:
â Use SECTOR_DEFAULTS['Technology']
Prompt:
"3D animated character, Pixar style, cute cat,
blue-gray fur,
wearing tech startup hoodie,
holding laptop,
satisfied smile, confident pose,
slight upward trend,
portrait view"
Guidelines
Do’s â
- í°ì»¤ í¹ì± ê°ì¡°: ê³ ì identity ì´ë¦¬ê¸°
- ìì¥ ê°ì ë°ì: íì ê³¼ í¬ì¦ë¡ ì£¼ê° íí
- ì¼ê´ì±: ê°ì í°ì»¤ë íì ê°ì 기본 traits
- ê³ íì§: 4K, HDprompt ì¬ì©
Don’ts â
- ë무 ë³µì¡í prompt ê¸ì§ (500ì ì´ë´)
- ë¶ì ì /íë ¥ì ì´ë¯¸ì§ ê¸ì§
- ì ìê¶ ìë ìºë¦í° ì§ì ì¸ê¸ ê¸ì§
- í롬íí¸ì ticker symbol ì§ì í¬í¨ ê¸ì§
Integration
NanoBanana PRO API
import requests
async def generate_character_image(prompt: str) -> str:
"""Generate image using NanoBanana PRO"""
api_key = os.getenv('NANOBANANA_API_KEY')
response = requests.post(
'https://api.nanobanana.ai/v1/generate',
headers={'Authorization': f'Bearer {api_key}'},
json={
'prompt': prompt,
'model': 'nanobanana-pro-v3',
'style': 'pixar-3d',
'aspect_ratio': '9:16',
'quality': 'hd',
'num_images': 1
}
)
result = response.json()
image_url = result['images'][0]['url']
return image_url
Database Storage
CREATE TABLE video_characters (
id SERIAL PRIMARY KEY,
ticker VARCHAR(10) UNIQUE NOT NULL,
animal_type VARCHAR(50) NOT NULL,
fur_color VARCHAR(100),
outfit VARCHAR(200),
props VARCHAR(200),
theme VARCHAR(200),
base_prompt TEXT NOT NULL,
image_url TEXT,
last_generated_at TIMESTAMP,
generation_count INT DEFAULT 0,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
Performance Metrics
- Prompt Generation Time: < 1ì´
- NanoBanana API Response: 30-60ì´
- Character Consistency: 100% (ê°ì ticker = ê°ì base traits)
- Fallback Usage Rate: < 20%
Character Consistency Check
def ensure_consistency(ticker: str, new_prompt: str, db: Session) -> bool:
"""Ensure character traits are consistent"""
existing = db.query(VideoCharacter).filter_by(ticker=ticker).first()
if existing:
# Check if core traits match
if not traits_match(existing.base_prompt, new_prompt):
logger.warning(f"Inconsistent traits for {ticker}")
return False
return True
Version History
- v1.0 (2025-12-21): Initial release with 300+ ticker database