Files
our-claude-skills/custom-skills/20-seo-serp-analysis/code/CLAUDE.md
Andrew Yim d2d0a2d460 Add SEO skills 33-34 and fix bugs in skills 19-34
New skills:
- Skill 33: Site migration planner with redirect mapping and monitoring
- Skill 34: Reporting dashboard with HTML charts and Korean executive reports

Bug fixes (Skill 34 - report_aggregator.py):
- Add audit_type fallback for skill identification (was only using audit_id prefix)
- Extract health scores from nested data dict (technical_score, onpage_score, etc.)
- Support subdomain matching in domain filter (blog.ourdigital.org matches ourdigital.org)
- Skip self-referencing DASH- aggregated reports

Bug fixes (Skill 20 - naver_serp_analyzer.py):
- Remove VIEW tab selectors (removed by Naver in 2026)
- Add new section detectors: books (도서), shortform (숏폼), influencer (인플루언서)

Improvements (Skill 34 - dashboard/executive report):
- Add Korean category labels for Chart.js charts (기술 SEO, 온페이지, etc.)
- Add Korean trend labels (개선 중 ↑, 안정 →, 하락 중 ↓)
- Add English→Korean issue description translation layer (20 common patterns)

Documentation improvements:
- Add Korean triggers to 4 skill descriptions (19, 25, 28, 31)
- Expand Skill 32 SKILL.md from 40→143 lines (was 6/10, added workflow, output format, limitations)
- Add output format examples to Skills 27 and 28 SKILL.md
- Add limitations sections to Skills 27 and 28
- Update README.md, CLAUDE.md, AGENTS.md for skills 33-34

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 00:01:00 +09:00

133 lines
4.0 KiB
Markdown

# CLAUDE.md
## Overview
SERP analysis tool for understanding search result landscapes. Detects Google SERP features (featured snippets, PAA, knowledge panels, local pack, video, ads), analyzes Naver SERP composition (blog, cafe, knowledge iN, Smart Store, brand zone, VIEW tab), maps competitor positions, and scores SERP feature opportunities.
## Quick Start
```bash
pip install -r scripts/requirements.txt
# Google SERP analysis
python scripts/serp_analyzer.py --keyword "치과 임플란트" --country kr --json
# Naver SERP analysis
python scripts/naver_serp_analyzer.py --keyword "치과 임플란트" --json
```
## Scripts
| Script | Purpose | Key Output |
|--------|---------|------------|
| `serp_analyzer.py` | Google SERP feature detection and competitor mapping | SERP features, competitor positions, opportunity scores |
| `naver_serp_analyzer.py` | Naver SERP composition analysis | Section distribution, content type mapping |
| `base_client.py` | Shared utilities | RateLimiter, ConfigManager, BaseAsyncClient |
## SERP Analyzer (Google)
```bash
# Single keyword analysis
python scripts/serp_analyzer.py --keyword "dental implant cost" --json
# Korean market
python scripts/serp_analyzer.py --keyword "치과 임플란트 가격" --country kr --json
# Multiple keywords from file
python scripts/serp_analyzer.py --keywords-file keywords.txt --country kr --json
# Output to file
python scripts/serp_analyzer.py --keyword "dental implant" --output serp_report.json
```
**Capabilities**:
- SERP feature detection (featured snippet, PAA, knowledge panel, local pack, video carousel, ads, image pack, site links)
- Competitor position mapping per keyword
- Content type distribution analysis (blog, product, service, news, video)
- SERP feature opportunity scoring
- Search intent validation from SERP composition
- SERP volatility assessment
## Naver SERP Analyzer
```bash
# Analyze Naver search results
python scripts/naver_serp_analyzer.py --keyword "치과 임플란트" --json
# Analyze multiple keywords
python scripts/naver_serp_analyzer.py --keywords-file keywords.txt --json
```
**Capabilities**:
- Naver section detection (블로그, 카페, 지식iN, 스마트스토어, 브랜드존, 도서, 숏폼, 인플루언서)
- Section priority mapping (which sections appear above fold)
- Content type distribution per section
- Brand zone presence detection
- Shortform/influencer content analysis
## Ahrefs MCP Tools Used
| Tool | Purpose |
|------|---------|
| `serp-overview` | Get SERP results for a keyword |
| `keywords-explorer-overview` | Get keyword metrics and SERP features |
| `site-explorer-organic-keywords` | Map competitor positions |
## Output Format
```json
{
"keyword": "치과 임플란트",
"country": "kr",
"serp_features": {
"featured_snippet": true,
"people_also_ask": true,
"local_pack": true,
"knowledge_panel": false,
"video_carousel": false,
"ads_top": 3,
"ads_bottom": 2
},
"competitors": [
{
"position": 1,
"url": "https://example.com/page",
"domain": "example.com",
"title": "...",
"content_type": "service_page"
}
],
"opportunity_score": 72,
"intent_signals": "commercial",
"timestamp": "2025-01-01T00:00:00"
}
```
## Notion Output (Required)
**IMPORTANT**: All audit reports MUST be saved to the OurDigital SEO Audit Log database.
### Database Configuration
| Field | Value |
|-------|-------|
| Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` |
| URL | https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef |
### Required Properties
| Property | Type | Description |
|----------|------|-------------|
| Issue | Title | Report title (Korean + date) |
| Site | URL | Audited website URL |
| Category | Select | SERP Analysis |
| Priority | Select | Based on opportunity score |
| Found Date | Date | Analysis date (YYYY-MM-DD) |
| Audit ID | Rich Text | Format: SERP-YYYYMMDD-NNN |
### Language Guidelines
- Report content in Korean (한국어)
- Keep technical English terms as-is (e.g., SERP, Featured Snippet, PAA)
- URLs and code remain unchanged