Keyword Research
실시간 검색량과 SERP 데이터로 시드 키워드를 확장하고, 경쟁사는 순위에 있지만 우리는 없는 공백을 의도와 근거와 함께 찾으세요.
에이전트 네이티브
Claude, ChatGPT 커스텀 MCP 앱, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code, 또는 다른 MCP 지원 클라이언트 안에서 실행하세요. 전용 GUI 흐름도, 별도의 LLM API 키도 필요 없습니다.
실시간 공개 데이터 기반
모든 단계는 UnifAPI가 반환하는 실시간 공개 데이터 record에 근거하므로, 출력은 일반적인 모범 사례 목록이 아니라 실제로 무엇이 순위에 오르고, 게시되고, 회자되는지를 인용합니다.
조합 가능 & 오픈소스
Skills는 서로를 상호 참조하며 공개된 MIT 스타일 저장소에 있습니다. GitHub에서 전체 SKILL.md를 읽거나, 포크하거나, 에이전트 안에서 그대로 실행하세요.
이것을 Codex 또는 Claude Code에 붙여넣으세요
프롬프트는 의도적으로 수정 가능합니다. 핸들, 시장, 예산, 캠페인 목표를 바꾼 다음, 실시간 공개 데이터가 필요할 때 에이전트가 UnifAPI MCP를 호출하도록 하세요.
For competitor.com vs example.com, find 20 keyword gaps where they rank and we don't, with search volume, intent, and the ranking page. Group by topic and rank by opportunity.
SKILL.md에서 렌더링된 전체 skill
당신은 키워드 전략가입니다. 당신의 목표는 시드 리스트(또는 경쟁사 도메인)를 순위가 매겨지고 방어 가능한 키워드 기회와 토픽 클러스터 집합으로 전환하는 것입니다 — 각각이 스크래핑한 키워드 덤프나 블랙박스 "난이도" 숫자가 아니라 실시간 SERP와 검색량 근거로 뒷받침됩니다.
이것은 향상된 스킬입니다: UnifAPI를 통해 실시간 공개 데이터를 읽습니다. 출력의 모든 키워드는 실제 SERP에서 가져온 검색량 수치, 의도 라벨, 그리고 승산 판독을 지니므로, 운영자는 벤더 점수를 신뢰하는 대신 우선순위 순서를 방어할 수 있습니다.
실시간 근거를 위해 UnifAPI를 사용하세요
스크래핑한 키워드 리스트는 당신이 그 쿼리에서 이길 수 있는지 아무것도 알려주지 않습니다. 확장, 메트릭, SERP는 모두 비교 가능하도록 같은 실시간 소스에서 와야 합니다. unifapi 스킬을 사용해 연결(OAuth MCP)한 다음, 작업별로 묶인 아래 작업들을 호출하세요. 모든 호출에 location + language를 일관되게 전달하세요.
- 시드 집합 확장(EXPAND) —
seo/keywords/ideas(시드에서 같은 카테고리 용어),seo/keywords/related(의미적으로 관련된 쿼리),seo/keywords/suggestions(시드를 포함하는 롱테일 쿼리),seo/keywords/autocomplete(실시간 자동완성). 넷을 모두 실행하고 중복 제거하여 명백한 헤드 용어 너머로 커버리지를 넓히세요. - 모든 후보 점수화(SCORE) —
seo/keywords/overview(검색량 + CPC + 경쟁 + KD + 의도를 한 번의 풀로 — 주요 메트릭 호출),seo/keywords/difficulty(독립된 0–100 상위 10위 진입 가능성),seo/keywords/intent(정보형 / 탐색형 / 상업형 / 거래형, 확률 포함),seo/keywords/history(12개월 트렌드 → 계절성). - 자사 사이트 기준선(OWN-SITE) —
seo/keywords/for-site는 타깃 도메인이 이미 순위에 오른 것들을 나열하므로, 이미 보유한 것을 추천하지 않고 근접 거리(striking-distance) 페이지를 포착할 수 있습니다. - 경쟁사 대비 격차(GAP) —
seo/competitors/domain(먼저 실제 오가닉 경쟁사 찾기),seo/competitors/ranked-keywords(경쟁사가 순위에 오른 모든 쿼리, 포지션 + URL 포함),seo/competitors/domain-intersection(두 도메인이 모두 순위에 오른 쿼리 — 타깃을 한쪽으로 설정해 무엇이 빠졌는지 찾기),seo/competitors/page-intersection(공유 쿼리를 두고 경쟁하는 페이지). - SERP 형태(승산) —
target을 사용자의 도메인으로 설정한seo/serp는 오가닉 결과, 타깃 가시성, SERP 기능(PAA, AI Overview, 동영상, 로컬 팩), 그리고 현재 타깃 포지션을 반환합니다. 이것이 승산 점수를 뒷받침합니다.
UnifAPI는 공개 데이터만 읽습니다 — 사이트를 변경하거나, 키워드를 제출하거나, 계정을 건드리지 않습니다. 보고서가 실제 record 비용을 명시할 수 있도록 각 응답의 billing 블록을 보관하세요.
워크플로
- 입력을 프레이밍하세요. 시드 키워드 집합, 타깃 도메인, 하나 이상의 경쟁사 도메인, 그리고 시장(
location+language)을 수집하세요. 의도 적합성을 제품이 실제로 하는 일과 대조해 판단할 수 있도록, 있으면.agents/product-marketing.md/.claude/product-marketing.md/ 레거시product-marketing-context.md를 먼저 읽으세요. - 기준선을 확립하세요. 타깃에
seo/keywords/for-site를 실행해 이미 무엇에 순위가 매겨졌는지 알아두세요(보유 용어를 추천하지 말고; #11–30을 근접 거리로 표시) — 그리고 격차 작업을 하기 전에 실제 오가닉 경쟁사가 누구인지 확인하기 위해seo/competitors/domain을 실행하세요. - 확장하고 중복 제거하세요. 각 시드에 네 개의 EXPAND 호출을 실행하세요; 경쟁사
ranked-keywords와domain-intersection출력을 병합하세요. 정확한 중복과 다른 회사의 브랜드 용어를 제거하세요. - 한 소스에서 한 번에 점수화하세요. 검색량, KD, 의도가 단일하고 일관된 풀에서 나오도록 전체 중복 제거 풀을
seo/keywords/overview로 보내세요; 누락된 축을 채우거나 계절성을 테스트할 때만difficulty/intent/history로 폴백하세요. - 숏리스트에 대해 SERP를 샘플링하세요.
seo/serp는 비싼 호출입니다 — 모든 것에 실행하지 마세요. 원시 검색량 × 의도 적합성으로 상위 ~20–40개 후보를 골라, 각각에seo/serp(타깃 설정)를 실행하고 승산을 읽으세요: 1페이지 권위, 포럼/Reddit/Wikipedia 슬롯이 이길 수 있는지, 어떤 SERP 기능이 나타나는지, 그리고 현재 타깃 포지션. - 점수화하고, 클러스터링하고, 순위를 매기세요. 모든 숏리스트 키워드에 (아래의) 기회 점수를 적용하세요. 출력이 플랫 리스트가 아니라 콘텐츠 계획에 공급되도록, 순위가 매겨진 키워드를 공유 헤드 용어 / 공유 의도로 클러스터링하세요.
기회 점수
각 숏리스트 키워드는 기회 점수(0–100) = 세 개의 정규화된 하위 점수(각 0–10, 가중치와 곱하고, 합산하고, 100으로 스케일)의 가중 혼합을 받습니다:
| 요인 | 가중치 | 실시간 근거에서 나온 0–10 하위 점수 |
|---|---|---|
| 검색량 | 0.35 | overview에서 나온 로그 구간화 월간 검색량. ≤50 → 1; 51–200 → 3; 201–1k → 5; 1k–5k → 7; 5k–20k → 9; >20k → 10. |
| 의도 적합성 | 0.35 | 키워드의 의도가 원하는 행동과 얼마나 잘 맞는지. 제품이 충족하는 거래형/상업형 → 9–10; 비교/"best"/"vs" → 7–8; 제품이 신뢰성 있게 답할 수 있는 정보형 → 4–6; 주제 무관 또는 경쟁사 탐색형 → 0–3. |
| 승산 | 0.30 | seo/serp에서 나온 SERP 강도의 역수. 약한 1페이지(포럼, 얇은 페이지, 대형 브랜드 없음; KD <30) → 8–10; 혼합(KD 30–55) → 4–7; 고권위 기득권자나 KD >70로 잠김 → 1–3. 타깃이 11–30위(근접 거리)면 +1(최대 10). |
Opportunity = (Volume×0.35 + IntentFit×0.35 + Winnability×0.30) × 10
타이브레이커, 순서대로: 근접 거리 포지션 먼저, 그다음 계획된 포맷이 이길 수 있는 SERP 기능(FAQ 콘텐츠를 위한 PAA), 그다음 더 낮은 CPC 경쟁. 검색량은 높지만 승산이 거의 0인 키워드는 빠른 성과가 아니라 열망형 — 긴 구축으로 표시하세요. 전체 정규화 표, 의도 적합성 의사결정 트리, 조정 규칙, 그리고 풀이된 하위 점수 수학은 references/scoring.md에 있습니다.
출력: 키워드 기회 계획
순위가 매겨진 기회 표를 먼저, 그다음 경쟁사 격차 표, 그다음 토픽 클러스터로 이끄세요.
# Keyword Opportunities — {target} vs {competitors} ({YYYY-MM-DD}, {location}/{language})
## Ranked Opportunities
| # | Keyword | Vol/mo | Intent | KD | Winnability | Opp. | Cluster | Target pos. | Who owns page 1 | Why winnable (evidence) |
| --- | -------------------------- | ------ | ------------- | --- | ----------- | ---- | ------------- | ----------- | ---------------- | ----------------------------------------------------------------------- |
| 1 | best ci tool for monorepos | 2.4k | commercial | 34 | 8 | 81 | ci comparison | none | g2.com, dev.to | Page 1 = 2 listicles + a forum, no vendor owns it — seo/serp 2026-06-04 |
| 2 | how to cache turborepo | 880 | informational | 22 | 9 | 74 | turbo how-to | #14 | reddit.com, docs | Striking distance (#14) + PAA box our docs can answer |
## Competitor Gap (they rank, we don't)
| Keyword | Vol/mo | Intent | Competitor & pos. | Our pos. | Source |
| -------------------- | ------ | ---------- | ----------------- | -------- | ----------------------------------- |
| monorepo ci pipeline | 1.3k | commercial | vercel.com #3 | none | seo/competitors/domain-intersection |
| turborepo vs nx | 720 | commercial | vercel.com #2 | none | seo/competitors/ranked-keywords |
## Topic Clusters
- **ci comparison** (head: "best ci tool", clustered vol 6.1k) — best ci tool for monorepos, turborepo vs nx, ci for typescript monorepo …
- **turbo how-to** (head: "turborepo", clustered vol 4.4k) — how to cache turborepo, turborepo remote cache, …
## Cost
UnifAPI records consumed: {from billing}, or best estimate.
표 다음에: 각 상위 선택에 대해 SERP record + 실행 날짜와 한 줄짜리 "왜 이길 수 있는지"를 제시하세요. 클러스터는 콘텐츠 쪽으로 넘기세요; 구조적 수정(순위에는 오르지만 마땅히 보유해야 할 기능을 잃는 페이지)은 seo-audit으로 되돌리세요.
풀이된 예시
시드 turborepo, 타깃 acme.dev, 경쟁사 vercel.com, US/English. keywords/ideas + related + suggestions는 ~120개 용어를 산출합니다; for-site는 acme가 이미 8개를 보유함을 보여줍니다; overview는 나머지의 가격을 매깁니다. 검색량 × 의도로 상위 30개를 숏리스트합니다. "best ci tool for monorepos"(검색량 2.4k, 상업형, KD 34)에 seo/serp → 1페이지 = 두 개의 리스티클 + Reddit 스레드, 지배적 벤더 없음, 타깃 부재, PAA 존재 → 승산 8. 기회 = (7×0.35 + 9×0.35 + 8×0.30) × 10 = 81, #1위.
가드레일
- 읽기 전용("손이 아니라 눈"): 이 스킬은 리서치하고 순위를 매깁니다. 절대 사이트를 편집하거나, 어디든 키워드를 제출하거나, 계정을 건드리지 않습니다 — 운영자 본인의 어시스턴트가 어떤 변경이든 실행합니다.
- 확인 대 추론: 검색량, KD, 의도는 공개 데이터 추정치입니다 — 거짓 정밀도가 아니라 범위와 날짜가 찍힌 스냅샷을 제시하세요. 대규모 콘텐츠 구축 전에 다시 풀하세요; SERP는 움직입니다.
- 순위를 약속하지 마세요. 높은 기회 점수는 근거로 뒷받침된 우선순위화된 베팅이지 보장이 아닙니다 — 항상 점수 와 그 SERP record를 함께 드러내세요.
- SERP 샘플링은 숏리스트로 제한하세요; 검색량/의도만으로 점수가 매겨진(SERP 풀 없음) 키워드는 "승산 미검증"으로 태그하세요.
참조
- references/scoring.md — 전체 기회 점수 공식, 정규화 표, 의도 적합성 의사결정 트리, 조정, 플래그, 그리고 풀이된 하위 점수 수학.
관련 스킬
- seo-audit (SEO Agent): 타깃을 고르기 전에 사이트를 진단하고, 이 스킬이 표시하는 근접 거리 수정을 받습니다.
- schema (SEO Agent): 이 클러스터를 중심으로 구축하는 페이지를 위한 구조화 데이터.
- unifapi: 공유 데이터 스킬 — MCP를 연결하고 이 스킬이 읽는 SEO 작업을 발견합니다.
출처: GitHub의 keyword-research/SKILL.md — 거기에서 PR을 열어 개선하세요.
이 skill이 호출하는 라이브 API
skill이 지정하는 모든 오퍼레이션은 이 UnifAPI 플랫폼 중 하나입니다 — 제품 코드, 디버깅, 커스텀 에이전트 흐름을 위해 여전히 보이고 호출 가능합니다.
- 검색량과 의도가 담긴 순위화된 키워드 기회
- 순위에 오른 페이지가 담긴 경쟁사 빈틈 목록
- 콘텐츠 플랜에 반영할 주제 클러스터
SEO Agent의 더 많은 skills
같은 에이전트에서 이들을 연결해 하나의 의사결정 결과물에서 다음 결과물로 이어가세요 — 각 skill은 고유한 실행 프롬프트, 워크플로, 기대 출력을 갖습니다.