competitor-finder
Competitor Finder
Identify your competitive set and map their positioning, messaging, pricing, and channel activity. Uses Perplexity for competitive intelligence. Output is the foundation that competitor-analyzer and competitor-visual enrich.
Purpose
Competitor Finder is the starting point of competitive intelligence. It answers:
- Who are we actually competing with? (direct AND indirect)
- How does each competitor position themselves?
- What are their core value propositions and target audiences?
- What pricing models and ranges do they use?
- Which marketing channels are they active on?
- Where are the gaps and opportunities?
The output — research-memory/competitive-intel.md — is the skeleton that two downstream skills build upon:
- competitor-analyzer (Firecrawl) adds website messaging detail: headlines, CTAs, pricing pages, social proof
- competitor-visual (Playwright) adds design audit: screenshots, color palettes, layout patterns, visual tone
"You can't differentiate if you don't know what you're differentiating FROM." — The Boring Marketer
Modes
| Mode | When to Use | Behavior |
|---|---|---|
| Full Discovery | No competitive-intel.md exists, or it's an empty scaffold |
Run all 5 steps from scratch |
| Refresh | competitive-intel.md already has [competitor-finder] data |
Check research-log.md for last scan date → add new competitors or update existing profiles |
Auto-Load Protocol
On every invocation, BEFORE any research:
- Check
research-memory/directory - If files exist → Read ALL
.mdfiles (except README.md) - Priority context from
market-landscape.md:- Market category definition → sets competitor search scope
- Market structure (price tiers, channels) → provides classification frame
- Market size → helps gauge competitive intensity
- Check
brand-memory/(read-only) → If exists, use business description, positioning, and target audience as self-reference context - If
competitive-intel.mdhas[competitor-finder]data ANDresearch-log.mdshows a previous scan → suggest Refresh mode
Enrichment preservation rule: When loading existing competitive-intel.md, NEVER delete or overwrite sections tagged [competitor-analyzer] or [competitor-visual]. Only touch [competitor-finder] sections.
Input Gathering
Collect from the user conversationally. Do NOT dump a form — ask naturally.
| Field | Required | Description |
|---|---|---|
| Business / Product description | YES | What does the company/product do? |
| Known competitors | Optional | Starting points for competitive mapping |
| Business model | Optional | SaaS, service, e-commerce, education, etc. — frames pricing comparison |
| Geography / Market scope | Optional | Global or specific region — bounds competitor search |
| Focus area | Optional | Pricing comparison, messaging differentiation, channel strategy, etc. |
| Research intensity | Optional | "light" / "standard" / "deep" (default: deep) — 리서치 깊이와 수집량 조절 |
| Language | Optional | 결과물 작성 언어 (default: English) |
If brand-memory/ exists, pre-fill business description, positioning, and target audience from voice-profile.md and positioning.md — ask user to confirm or correct.
If market-landscape.md exists, show the market category and structure as context: "Based on your market scan, I'll search for competitors in [category]. Does this look right?"
If this is a Refresh, show the current competitive set and ask: "Any new competitors to add? Or specific profiles to update?"
Research Intensity
사용자가 명시적으로 요청하면 리서치 깊이를 조절합니다. 지정하지 않으면 deep (기본값).
| Level | search_context_size | 수집량 | 용도 |
|---|---|---|---|
light |
low | 축소 (~50%) | 빠른 감 잡기 |
standard |
medium | 보통 (~75%) | 일반 리서치 |
deep |
high | 전체 (100%) | 본격 리서치 |
"가볍게", "빠르게", "간단히" → light / "보통으로", "적당히" → standard / 별도 지정 없음 → deep
Process
Step 1: Load Context & Set Search Scope
Goal: Establish the competitive search frame using existing research.
Actions:
- Load all research-memory/ files
- Extract from market-landscape.md (if available):
- Market category → primary search term
- Price tiers → competitor classification frame
- Channels → where to look for competitors
- Adjacent markets → source of indirect competitors
- Extract from brand-memory/ (if available):
- Own positioning → identify who occupies similar territory
- Target audience → find who targets the same people
- If competitive-intel.md exists with data → switch to Refresh mode
Output: Clear search scope definition (category + constraints).
Step 2: Identify Competitive Set (Direct + Indirect)
Goal: Build a comprehensive list of direct and indirect competitors with URLs.
Tool: perplexity_reason (classification reasoning required)
Query pattern:
Who are the main competitors for a [business description] in the [market category] space?
Identify:
1. Direct competitors (5-8): Same target audience, similar solution, same category
2. Indirect competitors (2-3): Different approach to same problem, OR adjacent category players expanding into this space
For EACH competitor, provide:
- Company name
- Website URL (homepage)
- One-line description of what they do
- Classification: direct or indirect, with reasoning
Parameters:
search_context_size: Research Intensity에 따라 결정 (light→"low" / standard→"medium" / deep→"high")
경쟁사 수집 목표: light=3-5 direct + 1-2 indirect / standard=4-6 direct + 2 indirect / deep=5-8 direct + 2-3 indirect
If user provided known competitors: Include them in the query as starting points and ask Perplexity to validate + expand: "I already know about [names]. Who else competes in this space?"
Output: Competitive set table — names, URLs, descriptions, classifications.
Step 3: Build Competitor Profiles (Positioning, Messaging, Pricing)
Goal: Map each competitor's basic positioning, value proposition, audience, and pricing.
Tool: perplexity_ask (factual data collection)
Query pattern:
For each of these competitors in the [market category]:
[list competitor names from Step 2]
Analyze each one:
1. Positioning: How do they describe themselves? (tagline, hero headline, or elevator pitch)
2. Core value propositions: Top 2-3 benefits they emphasize
3. Target audience: Who are they built for? (job titles, company sizes, demographics)
4. Pricing model: Free / Freemium / Subscription / One-time / Enterprise
5. Price range: Approximate price points or tiers
Cite their website or recent coverage as source for each data point.
Parameters:
search_context_size: Research Intensity에 따라 결정 (light→"low" / standard→"medium" / deep→"high")
light일 경우 상위 경쟁사 위주로 프로필을 작성합니다 (전체 대상이 아닌 핵심 경쟁사 중심).
If competitors are numerous (8+): Split into two queries to avoid shallow coverage.
Output: Positioning & Messaging Matrix for all competitors.
Step 4: Channel Activity + Gap Analysis
Goal: Map competitors' marketing channel presence and identify whitespace opportunities.
Tool: perplexity_ask
Query pattern:
What marketing channels are these [market category] competitors most active on?
[list competitor names]
For each competitor, assess presence and activity level on:
- Content marketing (blog, YouTube, podcast)
- Social media (which platforms, approximate follower counts or engagement level)
- SEO / Paid advertising
- Email / Newsletter
- Community / Events
Rate each: Strong / Moderate / Weak / Absent
Then identify:
1. Underserved channels: Which channels do MOST competitors neglect?
2. Positioning whitespace: What positioning angles are unclaimed?
3. Messaging gaps: What customer needs are competitors NOT addressing in their messaging?
Parameters:
search_recency_filter: "month"search_context_size: Research Intensity에 따라 결정 (light→"low" / standard→"medium" / deep→"high")
Output: Channel Activity Matrix + Gaps & Opportunities section.
Step 5: Save & Log
Goal: Write all findings to research-memory/competitive-intel.md and log execution.
5a. Write competitive-intel.md
Language rule: 섹션 헤더와 테이블 컬럼명은 영어로 유지합니다. 본문, 셀 값, 설명, 분석 텍스트는 사용자가 지정한 언어로 작성합니다. 언어가 지정되지 않으면 English로 작성합니다.
Use the exact schema in references/competitive-intel-schema.md. Key rules:
- Tag every section you write with
[competitor-finder] - Leave
[competitor-analyzer]and[competitor-visual]sections as empty scaffolds with HTML comments - For Refresh: update only
[competitor-finder]sections; NEVER touch other skills' sections
5b. Update research-log.md
Append one row:
| [YYYY-MM-DD] | competitor-finder | Full Discovery / Refresh | [X direct + Y indirect identified, key gaps] | Perplexity |
Perplexity MCP Tool Guide
| Tool | When to Use | This Skill |
|---|---|---|
perplexity_reason |
Classification, reasoning | Step 2: Competitive set identification + direct/indirect classification |
perplexity_ask |
Factual Q&A, current data | Step 3: Competitor profiles, Step 4: Channel activity |
perplexity_search |
Find specific URLs/sources | Only if competitor website URLs need verification |
Common parameters:
search_context_size: Research Intensity 레벨에 따라 결정 — 위 Research Intensity 테이블 참조search_recency_filter:"month"for Step 4 (latest channel activity), default for Steps 2-3
Query best practices:
- Include market category in every query (from market-landscape.md or user input)
- Always request website URLs — competitor-analyzer and competitor-visual depend on them
- Ask for source citations for positioning claims
- One topic per query: Don't combine competitor identification + profiling in one call
- For 8+ competitors, split profiling into two queries to ensure depth
- Language: 사용자가 English 외 언어를 지정한 경우, 모든 query 끝에 "Respond in [language]."를 추가
Quality Checklist
Before saving, verify:
- Direct 경쟁사 최소 3개 (light) ~ 8개 (deep) 식별 (with URLs)
- Indirect 경쟁사 최소 1개 (light) ~ 3개 (deep) 식별 (with URLs)
- Every competitor has: positioning, value props, target audience, pricing
- Channel Activity Matrix covers at least 4 of 5 channel types
- Gaps & Opportunities section has at least one finding per sub-section
- All sections tagged with
[competitor-finder] - Downstream sections (
[competitor-analyzer],[competitor-visual]) are empty scaffolds - All Perplexity responses include source citations
- research-log.md updated with execution record
- Competitor URLs are valid homepage links (not 404s or redirects)
Example (Abbreviated)
Input: "Marketing education business selling AI-powered skill packs to solo marketers and small teams."
Direct Competitors (5):
- Marketing Examined (Alex Garcia) — Newsletter-based marketing education
- CopyBlogger — Content marketing & copywriting education platform
- DigitalMarketer — Comprehensive digital marketing training + certifications
- Demand Curve — Growth marketing education (YC-backed)
- MarketingProfs — B2B marketing education + events
Indirect Competitors (2):
- ChatGPT / Claude — AI directly performing marketing tasks (substitutes education)
- Canva — Design tool with built-in marketing education content
Key Gaps:
- No competitor offers "AI + marketing" skill packs as a combined product
- Newsletter-based education is crowded; actionable skill/template bundles are rare
- Most competitors weak on community-driven learning
What This Skill Does NOT Do
- Website scraping / messaging detail → Use
competitor-analyzer(Firecrawl) - Screenshots / design patterns → Use
competitor-visual(Playwright) - Customer profiling → Use
audience-profiler - Customer language mining → Use
voice-of-customer - Strategic recommendations → Use
research-synthesizer(reads this output)
Competitor Finder stays focused on who the competitors are and how they position at a high level — the foundation for deeper competitive analysis.
More from tendtoyj/tendtoyj-claude-skills
image-creator
Generate brand-consistent AI visuals for social posts using nanobanana MCP (Gemini image generation). Transforms post copy or visual direction notes into platform-optimized images with brand color, style, and composition constraints. Use when user mentions: 이미지 만들어줘, 소셜 이미지, AI image, generate image, visual for post, 비주얼 생성, 썸네일, 카드뉴스 이미지, brand visual, social media image, nanobanana, 포스트 이미지, create visual, make an image, image for my post, generate a thumbnail, 배너 이미지, cover image
22card-news-image-generator
Generate content images for card-news using nanobanana MCP (Gemini image generation). Produces 16:9 editorial images for content-image cards — no text, clean style. Use when user mentions: 카드뉴스 이미지, card news image, 콘텐츠 이미지, content image, 카드뉴스 사진, generate card image, 이미지 생성, AI 이미지
5post-writer
Write a single platform-optimized social post with storytelling framework, brand voice, and visual direction notes. Produces ready-to-post copy for one platform. No MCP tools — pure creative writing powered by creative-memory context. Use when user mentions: social post, write a post, LinkedIn post, Twitter post, tweet, Instagram caption, Instagram carousel, reel script, YouTube script, YouTube shorts, email nurture, platform content, social copy, draft a post, create a post, write for LinkedIn, write for Instagram, write for Twitter, 소셜 포스트, 포스트 작성, 인스타 포스트, 링크드인 포스트, content writing, platform-native, social media copy, post for [platform], one post
5voice-of-customer
Mine real customer language from communities, reviews, and forums — build a Customer Language Bank of pain expressions, desire phrases, comparison language, and purchase triggers. Use when user mentions: voice of customer, customer language, customer words, what customers say, customer feedback, review mining, community research, pain expressions, desire expressions, trigger phrases, customer quotes, language bank, VOC, customer voice, real language, how customers talk, customer sentiment, review analysis, community mining, Reddit research, forum mining
5audience-profiler
Profile your target audience — segments, buying journey, pain points, and media habits. Use when user mentions: audience research, customer segments, buyer persona, buyer journey, customer journey, pain points, target audience, customer profiling, audience profiling, who is my customer, media consumption, attention map, customer insight, audience analysis, ideal customer, ICP, customer needs, unmet needs, buying behavior
4keyword-research
Find what to write and target using the 6 Circles Method for keyword discovery and content prioritization. Use when user mentions: keyword research, SEO keywords, content strategy, content planning, keyword analysis, search terms, ranking opportunities, content pillars, SEO opportunities, programmatic SEO, keyword gaps, content calendar, what to write, traffic strategy, organic traffic, long-tail keywords
4