- Add 02-notion-writer skill with Python script for pushing markdown to Notion - Add YouTube API CLI scripts for jamie-youtube-manager (channel status, video info, batch update) - Update jamie-youtube-manager SKILL.md with CLI script documentation - Update CLAUDE.md with quick reference guides 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
526 lines
13 KiB
Markdown
526 lines
13 KiB
Markdown
---
|
|
name: jamie-youtube-manager
|
|
description: |
|
|
YouTube Channel Manager and SEO Auditor for Jamie Plastic Surgery Clinic (제이미성형외과). Includes CLI scripts for API-based channel/video management and SEO audit capabilities. Check video status, get channel statistics, fetch video info from URLs, batch update metadata, and audit videos for SEO optimization (title, description, tags, timestamps, schema). Use when working with Jamie YouTube content - triggers: "YouTube 감사", "유튜브 SEO", "video audit", "check video", "channel status", "영상 최적화", "챕터 확인".
|
|
allowed-tools: Read, Glob, Grep, Write, Edit, Bash, WebFetch
|
|
license: Internal-use Only
|
|
---
|
|
|
|
# Jamie YouTube Manager Skill
|
|
|
|
> **Purpose**: YouTube Channel SEO Auditor & Content Manager for Jamie Plastic Surgery Clinic
|
|
> **Platform**: Claude Code (CLI) + Claude Desktop
|
|
> **Input**: YouTube video URLs, playlist URLs, or channel data
|
|
> **Output**: Video info, channel stats, audit checklist + SEO recommendations
|
|
|
|
---
|
|
|
|
## CLI Scripts (Claude Code)
|
|
|
|
### Setup
|
|
|
|
```bash
|
|
cd ~/Project/claude-skills-factory/custom-skills/43-jamie-youtube-manager/code/scripts
|
|
source venv/bin/activate
|
|
```
|
|
|
|
### Available Scripts
|
|
|
|
| Script | Purpose | Usage |
|
|
|--------|---------|-------|
|
|
| `jamie_channel_status.py` | Channel stats overview | `python jamie_channel_status.py` |
|
|
| `jamie_video_info.py` | Video details from URL | `python jamie_video_info.py "URL"` |
|
|
| `jamie_youtube_api_test.py` | API connectivity test | `python jamie_youtube_api_test.py` |
|
|
| `jamie_youtube_batch_update.py` | Batch metadata update | `python jamie_youtube_batch_update.py` |
|
|
|
|
### Channel Stats Example
|
|
```bash
|
|
python jamie_channel_status.py
|
|
# Output: Channel name, subscribers, views, recent videos with status
|
|
```
|
|
|
|
### Video Info from URL
|
|
```bash
|
|
python jamie_video_info.py "https://youtu.be/VIDEO_ID"
|
|
# Output: Title, description, duration, views, likes, tags, timestamps, privacy status
|
|
```
|
|
|
|
### Integration with Notion Writer
|
|
```bash
|
|
# Save video info to Notion
|
|
python jamie_video_info.py "URL" > ../output/video_status.md
|
|
cd ~/Project/claude-skills-factory/custom-skills/02-notion-writer/code/scripts
|
|
source venv/bin/activate
|
|
python notion_writer.py -p NOTION_PAGE_URL -f ../../43-jamie-youtube-manager/code/output/video_status.md
|
|
```
|
|
|
|
---
|
|
|
|
## Workflow Overview
|
|
|
|
```
|
|
[Input: YouTube URL]
|
|
↓
|
|
[1. Fetch Video/Playlist Data]
|
|
↓
|
|
[2. Metadata Audit]
|
|
↓
|
|
[3. Chapter/Timestamp Check]
|
|
↓
|
|
[4. Transcript Review]
|
|
↓
|
|
[5. Schema Validation]
|
|
↓
|
|
[6. i18n Assessment]
|
|
↓
|
|
[Output: Audit Report + Recommendations]
|
|
```
|
|
|
|
---
|
|
|
|
## Content Types
|
|
|
|
| Type | Characteristics | Audit Focus |
|
|
|------|-----------------|-------------|
|
|
| **Long-form Video** | 5-30+ min, educational | Chapters, transcript, schema |
|
|
| **Shorts** | < 60 sec, vertical | Hook, hashtags, thumbnail |
|
|
| **Playlist** | Grouped videos | Naming, ordering, descriptions |
|
|
|
|
---
|
|
|
|
## Audit Checklist
|
|
|
|
### 1. Metadata Audit (메타데이터 감사)
|
|
|
|
#### Title (제목)
|
|
|
|
| Criteria | Standard | Check |
|
|
|----------|----------|-------|
|
|
| Length | 60-70 characters (Korean ~30자) | [ ] |
|
|
| Primary keyword | First 40 characters | [ ] |
|
|
| Brand mention | "제이미성형외과" included | [ ] |
|
|
| Click appeal | Clear benefit/curiosity | [ ] |
|
|
| No clickbait | Accurate to content | [ ] |
|
|
|
|
**Title Formula for Jamie**:
|
|
```
|
|
[시술명] + [핵심 베네핏] + 제이미성형외과
|
|
예: "내시경 이마거상술 | 자연스러운 동안 효과의 비밀 | 제이미성형외과"
|
|
```
|
|
|
|
#### Description (설명)
|
|
|
|
| Section | Required Content | Position |
|
|
|---------|------------------|----------|
|
|
| Hook | 핵심 내용 요약 (2-3줄) | 첫 150자 |
|
|
| Timestamps | 챕터 목차 | 상단 |
|
|
| Main content | 상세 설명, 키워드 자연 배치 | 중간 |
|
|
| CTA | 상담 예약 링크, 채널 구독 | 하단 |
|
|
| Links | 웹사이트, SNS, 관련 영상 | 하단 |
|
|
| Hashtags | 3-5개 관련 해시태그 | 최하단 |
|
|
|
|
**Description Template**:
|
|
```
|
|
[첫 2줄 - 영상 핵심 내용]
|
|
[시술명]에 대해 알아보세요. 제이미성형외과 정기호 원장이 설명합니다.
|
|
|
|
⏱️ 타임스탬프
|
|
00:00 인트로
|
|
01:23 [주제1]
|
|
03:45 [주제2]
|
|
...
|
|
|
|
📋 영상 내용
|
|
[상세 설명 - 키워드 자연 포함]
|
|
|
|
🏥 제이미성형외과
|
|
📍 주소: 서울시 강남구 압구정로...
|
|
📞 상담예약: 02-XXX-XXXX
|
|
🔗 홈페이지: https://...
|
|
📱 카카오톡: ...
|
|
|
|
#제이미성형외과 #[시술명] #압구정성형외과
|
|
```
|
|
|
|
#### Tags (태그)
|
|
|
|
| Category | Examples | Count |
|
|
|----------|----------|-------|
|
|
| Brand | 제이미성형외과, Jamie Plastic Surgery | 2-3 |
|
|
| Procedure | 이마거상술, 내시경이마거상, forehead lift | 5-8 |
|
|
| General | 성형외과, 압구정, 동안성형 | 3-5 |
|
|
| Long-tail | 이마주름개선, 눈썹처짐교정 | 3-5 |
|
|
|
|
**Total**: 15-20 tags (max 500 characters)
|
|
|
|
### 2. Chapter Timestamps (챕터 타임스탬프)
|
|
|
|
#### Requirements
|
|
|
|
| Criteria | Standard |
|
|
|----------|----------|
|
|
| Minimum chapters | 3+ for videos > 5 min |
|
|
| First timestamp | Must start at 00:00 |
|
|
| Format | MM:SS or HH:MM:SS |
|
|
| Placement | Description (visible area) |
|
|
| Labels | Clear, descriptive Korean |
|
|
|
|
#### Chapter Best Practices
|
|
|
|
```
|
|
✅ Good Example:
|
|
00:00 인트로
|
|
00:45 이마거상술이란?
|
|
02:30 수술 과정 설명
|
|
05:15 회복 기간 및 주의사항
|
|
08:00 자주 묻는 질문
|
|
10:30 마무리 및 상담 안내
|
|
|
|
❌ Bad Example:
|
|
00:00 시작
|
|
02:00 본론
|
|
08:00 끝
|
|
```
|
|
|
|
#### Auto-Chapter Detection
|
|
|
|
If timestamps missing, suggest based on:
|
|
- Topic transitions in transcript
|
|
- Visual scene changes (if accessible)
|
|
- Standard medical video structure
|
|
|
|
### 3. Transcript Review (자막/스크립트 검토)
|
|
|
|
#### Auto-Generated Caption Audit
|
|
|
|
| Check | Action |
|
|
|-------|--------|
|
|
| Medical terms accuracy | 의학 용어 오타 수정 |
|
|
| Brand name spelling | "제이미성형외과" 정확히 |
|
|
| Procedure names | 시술명 정확성 확인 |
|
|
| Numbers/dates | 숫자 표기 확인 |
|
|
| Speaker labels | 화자 구분 (필요시) |
|
|
|
|
#### Transcript Enhancement
|
|
|
|
Priority corrections for Jamie content:
|
|
```
|
|
Common errors to fix:
|
|
- "이마 거상" → "이마거상술"
|
|
- "제이미" 누락/오타
|
|
- 의학 용어 띄어쓰기
|
|
- 영어 의학 용어 정확성
|
|
```
|
|
|
|
### 4. Schema Validation (스키마 검증)
|
|
|
|
#### VideoObject Schema Requirements
|
|
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "VideoObject",
|
|
"name": "[Video Title]",
|
|
"description": "[Video Description]",
|
|
"thumbnailUrl": "[Thumbnail URL]",
|
|
"uploadDate": "YYYY-MM-DD",
|
|
"duration": "PT[X]M[Y]S",
|
|
"contentUrl": "[Video URL]",
|
|
"embedUrl": "[Embed URL]",
|
|
"interactionStatistic": {
|
|
"@type": "InteractionCounter",
|
|
"interactionType": "https://schema.org/WatchAction",
|
|
"userInteractionCount": [view count]
|
|
},
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "제이미성형외과",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "[Logo URL]"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Medical Video Extensions
|
|
|
|
For medical content, recommend adding:
|
|
```json
|
|
{
|
|
"@type": ["VideoObject", "MedicalWebPage"],
|
|
"specialty": "PlasticSurgery",
|
|
"medicalAudience": {
|
|
"@type": "PatientAudience"
|
|
},
|
|
"lastReviewed": "YYYY-MM-DD"
|
|
}
|
|
```
|
|
|
|
#### Schema Checklist
|
|
|
|
| Property | Required | Jamie Standard |
|
|
|----------|----------|----------------|
|
|
| name | Yes | Match title exactly |
|
|
| description | Yes | First 160 chars meaningful |
|
|
| thumbnailUrl | Yes | High-res, branded |
|
|
| uploadDate | Yes | ISO 8601 format |
|
|
| duration | Yes | ISO 8601 duration |
|
|
| publisher | Recommended | 제이미성형외과 info |
|
|
| hasPart (Clips) | For chapters | Match timestamps |
|
|
|
|
### 5. Internationalization (다국어/국제화)
|
|
|
|
#### Language Settings
|
|
|
|
| Setting | Recommendation |
|
|
|---------|----------------|
|
|
| Primary language | Korean (ko) |
|
|
| Default audio | Korean |
|
|
| Title/Description | Korean primary |
|
|
| Subtitles | Korean (manual), English (auto+edit) |
|
|
|
|
#### Subtitle Priority
|
|
|
|
| Language | Priority | Target Audience |
|
|
|----------|----------|-----------------|
|
|
| Korean (ko) | Required | 내국인 |
|
|
| English (en) | High | Medical tourism |
|
|
| Japanese (ja) | Medium | 일본 의료관광객 |
|
|
| Chinese (zh) | Medium | 중국 의료관광객 |
|
|
|
|
#### Localized Metadata
|
|
|
|
For key videos, consider:
|
|
```
|
|
Title (English): Endoscopic Forehead Lift | Natural Rejuvenation | Jamie Plastic Surgery
|
|
Title (Japanese): 内視鏡額リフト | 自然な若返り | ジェイミー整形外科
|
|
```
|
|
|
|
#### i18n Checklist
|
|
|
|
| Item | Check |
|
|
|------|-------|
|
|
| Korean subtitles (manual) | [ ] |
|
|
| English subtitles | [ ] |
|
|
| Subtitle timing accuracy | [ ] |
|
|
| Localized title (EN) | [ ] |
|
|
| Localized description (EN) | [ ] |
|
|
| End screen localization | [ ] |
|
|
|
|
### 6. Shorts-Specific Audit (쇼츠 전용)
|
|
|
|
| Element | Standard |
|
|
|---------|----------|
|
|
| Duration | < 60 seconds |
|
|
| Aspect ratio | 9:16 vertical |
|
|
| Hook | First 1-3 seconds captivating |
|
|
| Text overlay | Readable, on-brand |
|
|
| Hashtags | #Shorts + 2-3 relevant |
|
|
| Music/Sound | Trending or original |
|
|
| CTA | Subscribe/Follow prompt |
|
|
|
|
### 7. Playlist Audit (재생목록 감사)
|
|
|
|
| Element | Checklist |
|
|
|---------|-----------|
|
|
| Playlist title | Descriptive, keyword-rich |
|
|
| Playlist description | 200+ characters, links |
|
|
| Video order | Logical sequence |
|
|
| Thumbnail consistency | Visual brand cohesion |
|
|
| Missing videos | Gap analysis |
|
|
| Duplicate content | Remove redundancy |
|
|
|
|
**Recommended Playlists for Jamie**:
|
|
```
|
|
1. 눈성형 시리즈 (Eye Surgery Series)
|
|
2. 이마/리프팅 시리즈 (Forehead/Lifting Series)
|
|
3. 자주 묻는 질문 FAQ
|
|
4. 원장 토크 (Director's Talk)
|
|
5. 수술 후 관리 (Post-Op Care)
|
|
```
|
|
|
|
---
|
|
|
|
## SEO Enhancement Recommendations
|
|
|
|
### Quick Wins
|
|
|
|
1. **Add timestamps** to all videos > 3 min
|
|
2. **Optimize first 150 chars** of description
|
|
3. **Include brand** in every title
|
|
4. **Add Korean captions** (manual review)
|
|
5. **Create consistent thumbnails**
|
|
|
|
### Advanced Optimization
|
|
|
|
1. **VideoObject schema** on website embeds
|
|
2. **Clip schema** for key moments
|
|
3. **Playlist** strategic grouping
|
|
4. **End screens** linking related videos
|
|
5. **Cards** for CTA and related content
|
|
|
|
### Content Gap Analysis
|
|
|
|
Compare against competitors:
|
|
- Missing procedure topics
|
|
- FAQ not addressed
|
|
- Trending formats not utilized
|
|
- Shorts opportunities
|
|
|
|
---
|
|
|
|
## Audit Report Template
|
|
|
|
### Video Audit Summary
|
|
|
|
```
|
|
📹 Video: [Title]
|
|
🔗 URL: [YouTube URL]
|
|
📅 Audit Date: YYYY-MM-DD
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
📊 OVERALL SCORE: [X]/100
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
✅ PASSED (X items)
|
|
- [Item 1]
|
|
- [Item 2]
|
|
|
|
⚠️ NEEDS IMPROVEMENT (X items)
|
|
- [Item 1]: [Recommendation]
|
|
- [Item 2]: [Recommendation]
|
|
|
|
❌ MISSING (X items)
|
|
- [Item 1]: [How to fix]
|
|
- [Item 2]: [How to fix]
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
📋 DETAILED CHECKLIST
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
[Metadata]
|
|
☑️ Title optimized
|
|
☐ Description needs timestamps
|
|
☑️ Tags complete
|
|
|
|
[Chapters]
|
|
☐ No timestamps found
|
|
→ Suggested chapters: [list]
|
|
|
|
[Transcript]
|
|
☑️ Auto-captions available
|
|
☐ Manual Korean captions missing
|
|
|
|
[Schema]
|
|
☐ VideoObject not detected
|
|
→ Provide schema template
|
|
|
|
[i18n]
|
|
☐ English subtitles missing
|
|
☐ No localized metadata
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
🎯 TOP 3 PRIORITIES
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1. [Highest impact action]
|
|
2. [Second priority]
|
|
3. [Third priority]
|
|
```
|
|
|
|
---
|
|
|
|
## Usage Examples
|
|
|
|
### Single Video Audit
|
|
```
|
|
"이 유튜브 영상 SEO 감사해줘: [URL]"
|
|
"유튜브 영상 메타데이터 최적화 확인해줘"
|
|
```
|
|
|
|
### Playlist Audit
|
|
```
|
|
"이 재생목록 검토해줘: [Playlist URL]"
|
|
"플레이리스트 구성 개선안 줘"
|
|
```
|
|
|
|
### Shorts Review
|
|
```
|
|
"쇼츠 영상들 점검해줘"
|
|
"Shorts SEO 체크리스트 확인"
|
|
```
|
|
|
|
### Bulk Audit
|
|
```
|
|
"제이미 유튜브 채널 전체 감사"
|
|
"최근 10개 영상 SEO 상태 확인"
|
|
```
|
|
|
|
### Schema Generation
|
|
```
|
|
"이 영상의 VideoObject 스키마 만들어줘"
|
|
"구조화된 데이터 추천해줘"
|
|
```
|
|
|
|
### i18n Setup
|
|
```
|
|
"영어 자막/메타데이터 추가 가이드"
|
|
"다국어 설정 최적화"
|
|
```
|
|
|
|
---
|
|
|
|
## Medical Advertising Compliance
|
|
|
|
### YouTube Content Rules (의료광고법)
|
|
|
|
**Allowed**:
|
|
- Educational procedure explanations
|
|
- General recovery information
|
|
- Doctor credentials and expertise
|
|
- Facility tours
|
|
|
|
**Prohibited**:
|
|
- Patient testimonials
|
|
- Before/After without disclaimers
|
|
- Guaranteed results claims
|
|
- Price comparisons
|
|
|
|
### Required Disclaimer
|
|
|
|
Include in description:
|
|
```
|
|
※ 본 영상은 정보 제공 목적이며, 개인에 따라 결과가 다를 수 있습니다.
|
|
수술 전 반드시 전문의와 상담하시기 바랍니다.
|
|
부작용: 출혈, 감염, 염증 등이 발생할 수 있습니다.
|
|
```
|
|
|
|
---
|
|
|
|
## Brand Integration
|
|
|
|
| Element | YouTube Standard |
|
|
|---------|------------------|
|
|
| Channel name | 제이미성형외과 |
|
|
| Handle | @jamie-plasticsurgery (recommended) |
|
|
| Logo | Consistent across all videos |
|
|
| Thumbnails | Branded template, faces visible |
|
|
| Intro/Outro | 3-5 sec branded bumper |
|
|
| Tone | Professional yet approachable |
|
|
|
|
---
|
|
|
|
## Available Resources
|
|
|
|
```
|
|
references/
|
|
├── youtube_seo_checklist.md # Complete audit checklist
|
|
├── video_schema_templates.md # JSON-LD schema templates
|
|
├── description_templates.md # Description copy templates
|
|
└── shorts_optimization_guide.md # Shorts-specific guidelines
|
|
```
|
|
|
|
---
|
|
|
|
*Version 1.0.0 | 2025-12-22 | Claude Desktop Skill*
|