feat: Add OurDigital custom skills package (10 skills)

Complete implementation of OurDigital skills with dual-platform support
(Claude Desktop + Claude Code) following standardized structure.

Skills created:
- 01-ourdigital-brand-guide: Brand reference & style guidelines
- 02-ourdigital-blog: Korean blog drafts (blog.ourdigital.org)
- 03-ourdigital-journal: English essays (journal.ourdigital.org)
- 04-ourdigital-research: Research prompts & workflows
- 05-ourdigital-document: Notion-to-presentation pipeline
- 06-ourdigital-designer: Visual/image prompt generation
- 07-ourdigital-ad-manager: Ad copywriting & keyword research
- 08-ourdigital-trainer: Training materials & workshop planning
- 09-ourdigital-backoffice: Quotes, proposals, cost analysis
- 10-ourdigital-skill-creator: Meta skill for creating new skills

Features:
- YAML frontmatter with "ourdigital" or "our" prefix triggers
- Standardized directory structure (code/, desktop/, shared/, docs/)
- Shared environment setup (_ourdigital-shared/)
- Comprehensive reference documentation
- Cross-skill integration support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-31 16:50:17 +07:00
parent 7d20abe811
commit 0bc24d00b9
169 changed files with 9970 additions and 741 deletions

View File

@@ -0,0 +1,81 @@
# OurDigital Ad Manager
Ad copywriting and keyword research for OurDigital marketing campaigns.
## Purpose
Create compelling advertising content:
- Search ad copy (Google, Naver)
- Display ad copy
- Branded content
- Keyword research and analysis
## Activation
Only activates with "ourdigital" keyword:
- "ourdigital ad copy for [product]"
- "ourdigital 광고 카피 작성해줘"
- "ourdigital keyword research"
## Features
### Search Ad Copy
- Google Ads format (30×3 headlines, 90×2 descriptions)
- Naver Search Ad format (25자 제목, 45자 설명)
- Keyword-optimized headlines
- A/B test variations
### Display Ad Copy
- Leaderboard, rectangle, responsive formats
- Problem-solution-CTA formula
- Visual-copy synchronization
### Keyword Research
- Search volume analysis
- Intent mapping (informational → transactional)
- Competitor keyword analysis
- Long-tail opportunities
## Structure
```
07-ourdigital-ad-manager/
├── code/
│ ├── SKILL.md
│ └── scripts/
│ ├── generate_ads.py
│ ├── keyword_research.py
│ └── ad_analyzer.py
├── desktop/
│ ├── SKILL.md
│ └── skill.yaml
├── shared/
│ └── references/
│ ├── ad-copy-formulas.md
│ └── platform-specs.md
├── docs/
│ └── CHANGELOG.md
└── README.md
```
## Platform Support
| Platform | Format | Focus |
|----------|--------|-------|
| Google Ads | 30×3 + 90×2 | Keyword match |
| Naver | 25 + 45 | Trust signals |
| Meta | 40 + 125 | Visual sync |
| LinkedIn | 150 + 70 | Professional |
## Integration
Works with:
- `01-ourdigital-brand-guide` - Brand voice
- `04-ourdigital-research` - Market research
- Google Ads Editor
- Naver 검색광고
## Version
- Current: 1.0.0
- Author: OurDigital

View File

@@ -0,0 +1,133 @@
---
name: ourdigital-ad-manager
description: |
Ad copywriting and keyword research for OurDigital marketing.
Activated with "ourdigital" keyword.
Triggers:
- "ourdigital ad copy", "ourdigital 광고 카피"
- "ourdigital keyword", "ourdigital 키워드"
Features:
- Script-based ad generation
- Keyword research automation
- Bulk ad copy creation
version: "1.0"
author: OurDigital
environment: Code
---
# OurDigital Ad Manager (Code)
Automated ad copywriting and keyword research with script support.
## Activation
Only with "ourdigital" keyword:
- "ourdigital ad copy [product]"
- "ourdigital 광고 카피"
## Quick Start
```bash
# Generate Google Ads copy
python code/scripts/generate_ads.py \
--product "SEO 컨설팅" \
--platform google \
--variations 3
# Keyword research
python code/scripts/keyword_research.py \
--seed "데이터 분석" \
--market korea
# Bulk ad generation
python code/scripts/generate_ads.py \
--input keywords.csv \
--platform naver \
--output ads.csv
```
## Scripts
| Script | Purpose |
|--------|---------|
| `generate_ads.py` | Create ad copy variations |
| `keyword_research.py` | Keyword volume research |
| `ad_analyzer.py` | Competitor ad analysis |
## Ad Generation
```bash
# Single product
python code/scripts/generate_ads.py \
--product "GTM 설정 서비스" \
--platform google \
--tone professional
# With USP
python code/scripts/generate_ads.py \
--product "데이터 분석" \
--usp "10년 경력" \
--cta "무료 상담"
```
## Keyword Research
```bash
# Basic research
python code/scripts/keyword_research.py \
--seed "마케팅 자동화" \
--market korea
# With competitors
python code/scripts/keyword_research.py \
--seed "SEO" \
--competitors "competitor1.com,competitor2.com"
```
## Platform Specs
| Platform | Headline | Description |
|----------|----------|-------------|
| Google | 30×3 chars | 90×2 chars |
| Naver | 25 chars | 45 chars |
| Meta | 40 chars | 125 chars |
## Output Formats
```bash
# JSON output
python code/scripts/generate_ads.py --format json
# CSV for bulk upload
python code/scripts/generate_ads.py --format csv
# Markdown report
python code/scripts/keyword_research.py --format markdown
```
## File Structure
```
07-ourdigital-ad-manager/
├── code/
│ ├── SKILL.md
│ └── scripts/
│ ├── generate_ads.py
│ ├── keyword_research.py
│ └── ad_analyzer.py
├── desktop/SKILL.md
├── shared/references/
│ ├── ad-copy-formulas.md
│ └── platform-specs.md
└── docs/CHANGELOG.md
```
## Quick Commands
| Command | Action |
|---------|--------|
| "ourdigital ad copy [product]" | Generate ads |
| "ourdigital keyword [topic]" | Research keywords |
| "ourdigital ad → csv" | Bulk export |

View File

@@ -0,0 +1,173 @@
---
name: ourdigital-ad-manager
description: |
Ad copywriting and keyword research for OurDigital marketing.
Activated with "ourdigital" keyword for advertising tasks.
Triggers (ourdigital or our prefix):
- "ourdigital ad copy", "our ad copy"
- "ourdigital 광고 카피", "our 광고 카피"
- "ourdigital keyword", "our keyword"
- "ourdigital 검색 광고", "our 검색 광고"
Features:
- Search ad copywriting (Google, Naver)
- Display ad copywriting
- Branded content creation
- Keyword volume research
version: "1.0"
author: OurDigital
environment: Desktop
---
# OurDigital Ad Manager
Create compelling ad copy and research keywords for OurDigital marketing campaigns.
## Activation
Activate with "ourdigital" or "our" prefix:
- "ourdigital ad copy" / "our ad copy"
- "ourdigital 광고 카피" / "our 광고 카피"
- "our keyword research [topic]"
## Workflow
### Phase 1: Campaign Brief
Gather information:
- **Product/Service**: What are we advertising?
- **Target audience**: Who are we reaching?
- **Campaign goal**: Awareness, consideration, or conversion?
- **Platform**: Google, Naver, Meta, Display?
- **Budget tier**: Affects keyword competitiveness
### Phase 2: Keyword Research
For search campaigns:
1. **Seed keywords**: Core terms from brief
2. **Volume research**: Web search for search volume data
3. **Intent mapping**: Informational → Transactional
4. **Competitor analysis**: Top-ranking ad copy patterns
Tools to use:
- `web_search`: Search volume and trends
- `web_fetch`: Competitor ad copy analysis
### Phase 3: Ad Copy Creation
Generate platform-specific copy following character limits and best practices.
## Search Ad Copy
### Google Ads Format
```
Headline 1: [30 chars] - Primary keyword + value prop
Headline 2: [30 chars] - Benefit or CTA
Headline 3: [30 chars] - Differentiator
Description 1: [90 chars] - Expand on value
Description 2: [90 chars] - CTA + urgency
```
**Best Practices:**
- Include keyword in Headline 1
- Numbers and specifics increase CTR
- Test emotional vs. rational appeals
- Include pricing if competitive
### Naver Search Ad Format
```
제목: [25자] - 핵심 키워드 + 가치
설명: [45자] - 혜택 + 행동 유도
```
**Korean Ad Copy Tips:**
- 존댓말 일관성 유지
- 숫자와 구체적 혜택 강조
- 신뢰 요소 포함 (경력, 인증)
## Display Ad Copy
### Headlines by Format
| Format | Max Length | Focus |
|--------|------------|-------|
| Leaderboard | 25 chars | Brand + single benefit |
| Medium Rectangle | 30 chars | Offer + CTA |
| Responsive | 30 chars | Multiple variations |
### Copy Formula
```
[Problem Recognition] + [Solution Hint] + [CTA]
"여전히 [문제]? [해결책]으로 [결과]"
```
## Branded Content
For native advertising and sponsored content:
### OurDigital Tone
- **Authority without arrogance**: Share expertise, invite questions
- **Data-backed claims**: Statistics increase credibility
- **Subtle CTAs**: Education first, promotion second
### Content Types
| Type | Length | CTA Style |
|------|--------|-----------|
| Sponsored Article | 800-1,200 words | Soft (learn more) |
| Native Ad | 100-200 words | Medium (discover) |
| Social Sponsored | 50-100 words | Direct (get started) |
## Keyword Research Output
### Research Report Structure
```
## Keyword Analysis: [Topic]
### Primary Keywords
| Keyword | Volume | Difficulty | Intent |
|---------|--------|------------|--------|
| [kw1] | 10K | Medium | Trans |
### Long-tail Opportunities
- [keyword phrase 1]: Low competition, high intent
- [keyword phrase 2]: Rising trend
### Negative Keywords
- [irrelevant term 1]
- [irrelevant term 2]
### Recommended Ad Groups
1. [Group Name]: kw1, kw2, kw3
2. [Group Name]: kw4, kw5, kw6
```
## Quick Commands
| Command | Action |
|---------|--------|
| "ourdigital ad copy [product]" | Full ad set |
| "ourdigital 검색 광고 [키워드]" | Search ads |
| "ourdigital display ad [campaign]" | Display copy |
| "ourdigital keyword [topic]" | Volume research |
## Platform Guidelines
| Platform | Headline | Description | Key Focus |
|----------|----------|-------------|-----------|
| Google | 30×3 | 90×2 | Keyword match |
| Naver | 25 | 45 | Trust signals |
| Meta | 40 | 125 | Visual-copy sync |
| LinkedIn | 150 | 70 | Professional tone |
## References
- `shared/references/ad-copy-formulas.md` - Proven copy templates
- `shared/references/platform-specs.md` - Character limits
- `01-ourdigital-brand-guide` - Brand voice

View File

@@ -0,0 +1,17 @@
name: ourdigital-ad-manager
description: |
Ad copywriting and keyword research for OurDigital marketing.
Activated with "ourdigital" keyword.
Triggers:
- "ourdigital ad copy", "ourdigital 광고 카피"
- "ourdigital keyword", "ourdigital 키워드"
- "ourdigital search ad", "ourdigital 검색 광고"
allowed-tools:
- WebSearch
- WebFetch
- Read
- Write
license: Internal-use Only

View File

@@ -0,0 +1,24 @@
# Changelog
All notable changes to ourdigital-ad-manager will be documented here.
## [1.0.0] - 2026-01-31
### Added
- Initial skill creation
- Search ad copy generation (Google, Naver)
- Display ad copy creation
- Keyword research workflow
- Platform-specific formatting
- Brand voice integration
- Desktop and Code versions
- Standardized directory structure
### Files Created
- `desktop/SKILL.md` - Desktop workflow
- `desktop/skill.yaml` - Metadata
- `code/SKILL.md` - Code version with scripts
- `shared/references/ad-copy-formulas.md` - Copy templates
- `shared/references/platform-specs.md` - Character limits
- `docs/CHANGELOG.md`
- `README.md`

View File

@@ -0,0 +1,160 @@
# Ad Copy Formulas
Proven templates for effective advertising copy.
## Search Ad Formulas
### Formula 1: Problem-Agitate-Solution (PAS)
```
Headline 1: [Problem Recognition]
Headline 2: [Agitation/Pain Point]
Headline 3: [Solution Preview]
Description: [Full solution + CTA]
```
**Example (Google):**
```
H1: SEO 성과가 안 나오시나요?
H2: 3개월째 순위 정체 중?
H3: 검증된 SEO 전문가 상담
D1: 10년 경력 SEO 전문가가 무료 진단해드립니다. 지금 상담 예약하세요.
D2: 평균 3개월 내 상위 노출 달성. 성과 없으면 100% 환불 보장.
```
### Formula 2: Feature-Benefit-Proof (FBP)
```
Headline 1: [Key Feature]
Headline 2: [Main Benefit]
Headline 3: [Social Proof]
Description: [Expanded benefit + specifics + CTA]
```
**Example (Google):**
```
H1: AI 기반 데이터 분석
H2: 의사결정 시간 70% 단축
H3: 100+ 기업 도입 완료
D1: 복잡한 데이터를 5분 만에 인사이트로. 대시보드 무료 체험 시작하세요.
D2: 삼성, LG, 현대 등 대기업 신뢰. 지금 바로 데모 신청하세요.
```
### Formula 3: Question-Answer-Action (QAA)
```
Headline 1: [Question targeting pain]
Headline 2: [Answer/Solution]
Headline 3: [Action-oriented]
Description: [Detailed answer + urgency + CTA]
```
**Example (Naver):**
```
제목: GTM 설정이 어려우신가요? 전문가 대행
설명: 태그 설정부터 전환 추적까지. 7일 완료 보장. 무료 상담
```
## Display Ad Formulas
### Formula 1: Benefit-First
```
[Primary Benefit] - [How] - [CTA]
```
**Examples:**
- "매출 2배 성장 - AI 마케팅 자동화 - 무료 체험"
- "시간 절약 50% - 스마트 업무 도구 - 지금 시작"
### Formula 2: Fear of Missing Out (FOMO)
```
[Scarcity/Urgency] - [Value] - [CTA]
```
**Examples:**
- "이번 달만 50% 할인 - 프리미엄 분석 도구 - 지금 구매"
- "선착순 100명 - 무료 SEO 진단 - 신청하기"
### Formula 3: Social Proof Lead
```
[Proof Point] - [Result] - [CTA]
```
**Examples:**
- "10,000+ 마케터 선택 - 전환율 3배 상승 - 무료 가입"
- "대기업 90% 도입 - 보안 1위 솔루션 - 데모 보기"
## Korean Ad Copy Patterns
### Trust Signals (신뢰 요소)
| Signal | Example |
|--------|---------|
| 경력/실적 | "15년 경력", "500+ 프로젝트" |
| 인증/자격 | "공인 파트너", "ISO 인증" |
| 고객사 | "삼성, LG 도입", "대기업 신뢰" |
| 보장 | "100% 환불 보장", "무료 AS" |
| 수상 | "올해의 서비스", "고객 만족 1위" |
### Urgency Elements (긴급성)
| Type | Example |
|------|---------|
| Time-limited | "오늘만", "이번 주 한정" |
| Quantity | "선착순 50명", "재고 소진 시" |
| Seasonal | "연말 특가", "신년 프로모션" |
| Exclusive | "VIP 전용", "회원 한정" |
### CTA Variations (행동 유도)
| Intent | Korean CTA |
|--------|------------|
| Low commitment | "자세히 보기", "더 알아보기" |
| Medium | "무료 체험", "상담 예약" |
| High | "지금 구매", "바로 시작" |
| Soft | "가격 확인", "견적 받기" |
## Platform-Specific Tips
### Google Ads
- **Dynamic Keyword Insertion**: `{KeyWord:기본값}`
- **Countdown**: `{COUNTDOWN(날짜)}` for urgency
- **Location**: `{LOCATION(City)}` for local relevance
- **IF functions**: `{=IF(audience,then,else)}`
### Naver Search Ads
- 확장소재 활용 (확장 제목, 추가 설명)
- 파워링크 vs 브랜드검색광고 차별화
- 시즈널 키워드 반영 (계절, 이벤트)
- 모바일 최적화 필수
### Meta Ads
- Primary text: Hook in first 125 chars
- Headlines: Complement visual, don't repeat
- Description: Use for secondary message
- Test emoji usage (A/B)
## A/B Testing Framework
### What to Test
| Element | Variations |
|---------|------------|
| Headlines | Benefit vs Feature |
| Tone | Formal vs Casual |
| CTA | Soft vs Direct |
| Numbers | Specific vs General |
| Length | Short vs Long |
### Testing Priority
1. **Headline 1**: Highest impact
2. **CTA**: Direct conversion impact
3. **Description 1**: Engagement
4. **Display URL**: Trust signal

View File

@@ -0,0 +1,196 @@
# Platform Specifications
Character limits and format requirements for advertising platforms.
## Google Ads
### Responsive Search Ads (RSA)
| Element | Limit | Notes |
|---------|-------|-------|
| Headlines | 30 chars × 15 max | Min 3, recommended 10+ |
| Descriptions | 90 chars × 4 max | Min 2, recommended 4 |
| Display URL paths | 15 chars × 2 | Optional |
| Final URL | 2048 chars | Required |
### Display Ads
| Format | Dimensions | File Size |
|--------|------------|-----------|
| Leaderboard | 728×90 | 150KB |
| Medium Rectangle | 300×250 | 150KB |
| Wide Skyscraper | 160×600 | 150KB |
| Large Rectangle | 336×280 | 150KB |
| Responsive | Various | 150KB |
### Performance Max
| Asset Type | Specs |
|------------|-------|
| Short headline | 30 chars |
| Long headline | 90 chars |
| Description | 90 chars |
| Business name | 25 chars |
| Images | 1200×628, 1200×1200, 628×628 |
| Videos | 10 sec+ recommended |
## Naver Search Ads
### 파워링크
| Element | Limit |
|---------|-------|
| 제목 | 25자 (한글 기준) |
| 설명 | 45자 |
| 표시 URL | 도메인만 |
### 브랜드검색광고
| Element | Limit |
|---------|-------|
| 메인 제목 | 15자 |
| 서브 제목 | 30자 |
| 설명문 | 100자 |
| 이미지 | 200×200 이상 |
### 확장소재
| Type | Limit |
|------|-------|
| 확장 제목 | 25자 |
| 추가 설명 | 20자 × 2개 |
| 서브링크 | 제목 15자, URL |
| 가격정보 | 15자 + 금액 |
## Meta (Facebook/Instagram)
### Feed Ads
| Element | Limit | Recommended |
|---------|-------|-------------|
| Primary text | 125 chars visible | 40-50 chars |
| Headline | 40 chars | 25-30 chars |
| Description | 30 chars | Optional |
| Link description | 30 chars | |
### Stories Ads
| Element | Specs |
|---------|-------|
| Aspect ratio | 9:16 |
| Image | 1080×1920 |
| Video | 15 sec max |
| Text overlay | Minimal (20% rule relaxed) |
### Reels Ads
| Element | Specs |
|---------|-------|
| Aspect ratio | 9:16 |
| Duration | 15-60 sec |
| Caption | 72 chars visible |
## LinkedIn Ads
### Sponsored Content
| Element | Limit |
|---------|-------|
| Introductory text | 600 chars (150 visible) |
| Headline | 200 chars |
| Description | 300 chars |
| Image | 1200×627 |
### Message Ads
| Element | Limit |
|---------|-------|
| Subject line | 60 chars |
| Message body | 1500 chars |
| CTA | 20 chars |
### Text Ads
| Element | Limit |
|---------|-------|
| Headline | 25 chars |
| Description | 75 chars |
| Image | 100×100 |
## Twitter (X) Ads
### Promoted Tweets
| Element | Limit |
|---------|-------|
| Tweet text | 280 chars |
| Card headline | 70 chars |
| Card description | 200 chars |
| Website URL | Included |
### Image Specs
| Format | Specs |
|--------|-------|
| Single image | 1200×675 (1.91:1) |
| Multi-image | 600×335 each |
| Carousel | 800×800 (1:1) |
## Kakao Ads
### 비즈보드
| Element | Limit |
|---------|-------|
| 제목 | 21자 |
| 설명 | 45자 |
| 이미지 | 640×480 |
### 카카오모먼트
| Type | Specs |
|------|-------|
| 네이티브 이미지 | 1200×628 |
| 네이티브 동영상 | 1920×1080 |
| 텍스트 | 45자 |
## YouTube Ads
### In-Stream Ads
| Type | Duration | Skip |
|------|----------|------|
| Skippable | Any length | After 5 sec |
| Non-skippable | 15-20 sec | No |
| Bumper | 6 sec max | No |
### Discovery Ads
| Element | Limit |
|---------|-------|
| Headline | 25 chars × 2 |
| Description | 90 chars × 2 |
| Thumbnail | 1280×720 |
## Best Practices Summary
### Character Count Tips
1. **Stay under 80%** of max for safety margin
2. **Front-load** key message
3. **Test mobile** truncation points
4. **Use abbreviations** sparingly
### Image Guidelines
1. **High resolution** always
2. **Minimal text** on images (especially Meta)
3. **Brand colors** consistent
4. **CTA button** placement matters
### Video Guidelines
1. **Hook in 3 seconds**
2. **Captions** always (85% watch muted)
3. **Logo** early for brand recall
4. **CTA** at end or throughout