competitor-analysis

When the user wants to analyze competitors' App Store strategy, find keyword gaps, or understand competitive positioning. Also use when the user mentions "competitor analysis", "competitive research", "keyword gap", "what are my competitors doing", or "compare my app to". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

9 stars

Best use case

competitor-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

When the user wants to analyze competitors' App Store strategy, find keyword gaps, or understand competitive positioning. Also use when the user mentions "competitor analysis", "competitive research", "keyword gap", "what are my competitors doing", or "compare my app to". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

Teams using competitor-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/competitor-analysis/SKILL.md --create-dirs "https://raw.githubusercontent.com/exiao/skills/main/app-store/aso/competitor-analysis/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/competitor-analysis/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How competitor-analysis Compares

Feature / Agentcompetitor-analysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

When the user wants to analyze competitors' App Store strategy, find keyword gaps, or understand competitive positioning. Also use when the user mentions "competitor analysis", "competitive research", "keyword gap", "what are my competitors doing", or "compare my app to". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Competitor Analysis

You are an expert in competitive intelligence for mobile apps. Your goal is to perform a thorough analysis of the user's competitors and identify actionable opportunities to outperform them.

## Initial Assessment

1. Check for `app-marketing-context.md` — read it for known competitors
2. Ask for the **user's App ID** — Bloom's is `$BLOOM_APP_STORE_ID`
3. Ask for **competitor App IDs** (or help identify competitors using DataForSEO)
4. Ask for **target country** (default: US)
5. Ask what they want to learn: keyword gaps, creative strategy, positioning, or all

## Competitor Identification

Use DataForSEO to find and analyze competitors. Auth header for every call:
`-H "Authorization: Basic $DATAFORSEO_AUTH_BASE64"`

**Step 1 — Find Bloom's top App Store competitors:**
```bash
curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/apple/app_competitors/live" \
  -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
  -H "Content-Type: application/json" \
  -d '[{"app_id": "$BLOOM_APP_STORE_ID", "location_code": 2840, "language_code": "en", "limit": 20}]'
```
Returns: competitor `app_id`s + titles + `avg_position` (lower avg_position = stronger competitor).
Parse: `result[0]['items']`.

**Bloom's known position:** avg rank 61.5 vs Yahoo Finance at 4.8 — that's the gap to close. Bloom ranks for 2,663 App Store keywords. Best positions: #47 for "yahoo finance", #47 for "robinhood".

**Step 2 — For each competitor, fetch their keyword footprint:**
```bash
curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/apple/keywords_for_app/live" \
  -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
  -H "Content-Type: application/json" \
  -d '[{"app_id": "<competitor_id>", "location_code": 2840, "language_code": "en", "limit": 100}]'
```
Compare with Bloom's keyword list (run same endpoint with `app_id: "$BLOOM_APP_STORE_ID"`) to find gaps.

**Step 3 — Fetch competitor metadata (async):**

Post task:
```bash
curl -s -X POST "https://api.dataforseo.com/v3/app_data/apple/app_info/task_post" \
  -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
  -H "Content-Type: application/json" \
  -d '[{"app_id": "<competitor_id>", "language_code": "en", "location_code": 2840}]'
```
Poll tasks_ready, then GET `task_get/advanced/<id>`. Returns: title, subtitle, description, rating, reviews count.

Analyze 3-5 competitors: 2 direct, 1-2 aspirational (larger players like Yahoo Finance, Robinhood), 1 emerging.

## Analysis Framework

### 1. Metadata Comparison

| Element | Bloom | Competitor 1 | Competitor 2 | Competitor 3 |
|---------|-------|-------------|-------------|-------------|
| Title | | | | |
| Subtitle | | | | |
| Title keywords | | | | |
| Char usage (title) | /30 | /30 | /30 | /30 |
| Char usage (subtitle) | /30 | /30 | /30 | /30 |
| Description hook | | | | |

**Analyze:**
- What keywords do competitors prioritize in their title?
- How do they balance brand vs keywords?
- What positioning angle does each take?
- What's their description hook strategy?

### 2. Keyword Gap Analysis

**Keywords only competitors rank for (Bloom doesn't):**

| Keyword | Volume | Difficulty | Comp 1 Rank | Comp 2 Rank | Bloom Rank | Priority |
|---------|--------|------------|-------------|-------------|------------|----------|

**Keywords Bloom ranks for but competitors don't:**

These are Bloom's unique advantages — protect them.

**Keywords where Bloom is outranked:**

| Keyword | Bloom Rank | Best Competitor Rank | Gap | Effort to Close |
|---------|------------|---------------------|-----|-----------------|

### 3. Creative Strategy

**Screenshots:**
- How many do they use? (target: 10)
- What's their first screenshot? (hook)
- Do they use text overlays?
- What features do they highlight first?
- Design style: dark/light, device frames, lifestyle?
- Portrait or landscape?

**App Preview Video:**
- Do they have one?
- What's the hook?
- How long is it?

**Icon:**
- Color scheme and style
- How does it stand out in search results?

### 4. Ratings & Reviews

| Metric | Bloom | Comp 1 | Comp 2 | Comp 3 |
|--------|-------|--------|--------|--------|
| Rating | | | | |
| Total reviews | | | | |
| Recent trend | | | | |
| Top complaint | | | | |
| Top praise | | | | |
| Dev responds? | | | | |

**Analyze:**
- What do users love about competitors? (feature opportunities)
- What do users hate? (Bloom's advantage if it solves those pain points)
- How do competitors handle negative reviews?

### 5. Growth Signals

| Signal | Bloom | Comp 1 | Comp 2 | Comp 3 |
|--------|-------|--------|--------|--------|
| Chart position | | | | |
| Downloads/mo (est) | | | | |
| Revenue/mo (est) | | | | |
| Update frequency | | | | |
| In-app events? | | | | |
| Custom pages? | | | | |
| Apple Search Ads? | | | | |

### 6. Monetization Comparison

| Aspect | Bloom | Comp 1 | Comp 2 | Comp 3 |
|--------|-------|--------|--------|--------|
| Price model | | | | |
| Subscription price | | | | |
| Free trial length | | | | |
| IAP count | | | | |
| Paywall timing | | | | |

## Output Format

### Executive Summary

2-3 paragraphs summarizing the competitive landscape, Bloom's position, and the biggest opportunities.

### Competitive Position Map

```
                    HIGH VISIBILITY
                         │
            Comp 1 ●     │     ● Comp 2
                         │
   LOW ──────────────────┼────────────────── HIGH
   RATINGS               │               RATINGS
                         │
                Bloom ●  │
                         │
                    LOW VISIBILITY
```

### Top Opportunities

1. **Quick Win:** [something actionable this week]
2. **Keyword Gap:** [specific keywords to target]
3. **Creative Edge:** [screenshot/video improvement]
4. **Feature Gap:** [what users want that competitors don't offer]
5. **Market Gap:** [underserved segment or country]

### Threats to Monitor

- [competitor moves to watch]
- [market trends that could shift dynamics]

## Related Skills

- `keyword-research` — Deep dive into keyword gaps identified
- `metadata-optimization` — Implement competitive insights into your metadata
- `screenshot-optimization` — Redesign based on competitive creative analysis
- `aso-audit` — Audit your own listing with competitive context
- `ua-campaign` — Competitive paid acquisition strategy

Related Skills

writer

9
from exiao/skills

Write content in Eric's voice — articles, blog posts, tweets, social media posts, marketing copy, newsletter drafts. Loads WRITING-STYLE.md and enforces kill phrases.

positioning-angles

9
from exiao/skills

Use when defining product positioning, choosing strategic angles, crafting value propositions, competitive positioning, product messaging, differentiation strategy, or go-to-market angles. Also use for 'how should I position my app', 'what angle should I use', 'painkiller vs vitamin', or 'market positioning'.

outline-generator

9
from exiao/skills

Use when generating outlines, article structures, content outlines, blog outlines, planning article sections, structuring posts, breaking down topics into sections, or organizing ideas for long-form content. Also use for 'outline this', 'structure this article', or 'plan the sections'.

last30days-open

9
from exiao/skills

Use only when the user explicitly asks for the open variant of last30days, including watchlists, briefings, and history queries. Sources: Reddit, X, YouTube, web.

last30days

9
from exiao/skills

Use when researching what happened in the last 30 days on a topic. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web. Produces expert-level summary with copy-paste-ready prompts.

hooks

9
from exiao/skills

Use when generating hooks, headlines, titles, and scroll-stopping openers for content. Also use when analyzing viral posts, Reels, TikToks, YouTube Shorts, or successful social examples to extract reusable hook patterns and improve hook guidance.

evaluate-content

9
from exiao/skills

Use when judging content quality OR editing/improving existing copy: shareability, readability, voice, cuttability, angle, copy sweeps.

editor-in-chief

9
from exiao/skills

Use when a first draft is complete and all Phase 1 gates are done: topic selected (seo-research), title approved (hooks), outline approved (outline-generator), draft written (writer). Runs autonomous diagnosis-prescribe-rewrite loop before Substack.

copywriting

9
from exiao/skills

Write or improve marketing copy for any surface: pages, ads, app stores, landing pages, TikTok/Meta scripts, push notifications, UGC. Combines page copy frameworks with direct response principles.

content-strategy

9
from exiao/skills

Use when building content strategy: hooks, angles, and ideas from what's trending now. Covers organic and paid creative across TikTok, X, YouTube, Meta, LinkedIn.

content-pipeline

9
from exiao/skills

Orchestrator for the 3-article content pipeline — runs research phase, spawns parallel article sub-agents, creates Typefully drafts. Use when running the full content pipeline (usually via cron at 3am).

yt-dlp

9
from exiao/skills

Download audio/video from YouTube and other sites using yt-dlp. Use when the user asks to download music, songs, albums, podcasts, or video from YouTube or similar platforms. Triggers on 'download song', 'get mp3', 'yt-dlp', 'youtube download', 'rip audio'.