Competitor Mapper logo

Competitor Mapper

Community
MaxKmet
competitor-mapper

Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and market_insights-calibrated saturation scoring. Feeds into idea-scoring, cac-modeler, pricing-and-wtp, and tam-sam-som-builder.

Overview

PublisherMaxKmet
Repositoryidea-validation-agents
Skill namecompetitor-mapper
Stars
488
Forks
56
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by MaxKmet on GitHub. Read the source before you install it.

Installation

Install the Competitor Mapper AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git /tmp/idea-validation-agents
mkdir -p .claude/skills
cp -r /tmp/idea-validation-agents/skills/competitor-mapper .claude/skills/competitor-mapper
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Competitor Mapper in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Competitor Mapper on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Competitor Mapper is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Skill: competitor-mapper

Purpose

Understand what the user is actually competing against — not just other apps, but also spreadsheets, habits, free alternatives, and human services. The goal is not an exhaustive list but a strategic map: who owns the space, where the gaps are, and whether this idea can occupy a position that incumbents can't easily copy.

Input

  • Idea slug
  • memory/ideas/<slug>/idea.md (app concept, key features, differentiator)
  • memory/market_insights/<niche>-*-<YYYY>-<MM>.md (trend analysis files — use all available platform files for this niche)

Using Market Insights

Trend analysis files are a primary research source for competitor mapping. Extract the following:

Platform fileWhat to extract for competitor mapping
Apps (<niche>-apps-*.md)Category rankings, new entrants, top apps by downloads/revenue, review complaint patterns, pricing models in use
Reddit (<niche>-reddit-*.md)Apps and tools users mention by name (both praised and hated), non-software workarounds users describe, recurring complaints about existing solutions
TikTok (<niche>-tiktok-*.md)Apps featured in viral content (free marketing = distribution advantage), creator-promoted tools, "alternatives to X" content trends
Web Search (<niche>-web-search-*.md)Top-ranking apps for category keywords, "best X apps" list winners, SEO-dominant competitors
monetization_evidence (from any platform)Which competitors are actively monetizing (proves the market supports revenue, identifies pricing benchmarks)
trend_velocityRising-fast markets attract new entrants quickly — flag that emerging threats will increase

If no market_insights files exist, note this as a gap and rely on direct research only.

Competitor Categories

CategoryDefinitionWhy it mattersExamples
DirectSame solution, same audienceHead-to-head competition for the same usersApps solving the exact same problem on the same platform
IndirectDifferent solution, same problemUser might choose this instead, even though it works differentlyA meditation app competing with a journaling app for "stress relief"
SubstituteNon-software solution the user currently employsThe real baseline — what happens if the user never installs any appSpreadsheets, pen-and-paper, hiring a person, doing nothing, a WhatsApp group
EmergingNew entrants, beta products, or announced features from incumbentsFuture competitive pressure — the landscape 6–12 months from nowYC-backed startups, Product Hunt launches, Apple/Google adding native features

Process

Step 1 — Research Checklist by Category

Direct competitors (find 3–8)

Search these sources in order:

  1. App Store / Play Store category browse: Search the primary category and 2–3 keyword variations. Record the top 10 results for each search.
  2. "Best X apps" articles: Search Google for best [category] apps 2026. The top 3 listicle results typically capture the market leaders.
  3. Product Hunt: Search the category. Sort by most upvoted. Focus on launches from the past 18 months (recent entrants).
  4. Market insights (Apps file): If <niche>-apps-*.md exists, extract any competitors named in the narrative.
  5. Market insights (Reddit file): If <niche>-reddit-*.md exists, extract apps users mention by name in discussions.
  6. AlternativeTo.net: Search the closest existing app. Lists adjacent competitors you may have missed.

For each direct competitor, record:

  • Name, platform(s), pricing model and price
  • Estimated user base (from App Store ratings count × 50–100, or from market_insights narrative)
  • App Store rating (stars + review count)
  • Last updated date (stale = opportunity)
  • Top 3 features
  • Top 3 complaints (from review mining — see Step 3)
Indirect competitors (find 2–5)

Ask: "What else might someone use to solve the same underlying problem, even if the approach is completely different?"

Sources:

  • Reddit threads where users describe their current workflow for this problem
  • "How to [solve problem]" search results — the solutions that appear ARE the indirect competition
  • Market insights narratives that describe alternative approaches to the same pain
Substitutes (find 2–4)

Ask: "What is the user doing RIGHT NOW, before they know this app exists?"

Common substitute categories:

  • Manual process: Spreadsheet, notes app, pen-and-paper, calendar reminders
  • Human service: Coach, therapist, accountant, personal trainer
  • Social workaround: Group chat, Facebook group, Discord server
  • Inaction: Doing nothing (this is the strongest competitor for low-urgency problems)

Record the estimated cost and friction of each substitute — this is the switching-cost baseline the app must beat.

Emerging threats (find 1–3)

Sources:

  • Product Hunt launches in the past 6 months
  • YC / startup accelerator demo day lists
  • Apple WWDC / Google I/O feature announcements that could obviate the app
  • If trend_velocity = "rising-fast" in market_insights, note that new entrants are likely

Flag any emerging competitor that has raised funding — they have resources to move fast.

Step 2 — App Store Search Methodology

The App Store is the most important research surface for B2C apps. Use this systematic approach:

  1. Primary keyword search: The most obvious term a user would search (e.g., "habit tracker").
  2. Problem keyword search: The problem statement (e.g., "build better habits").
  3. Audience keyword search: The target user + need (e.g., "ADHD planner").
  4. Adjacent keyword search: Related but broader terms (e.g., "daily routine", "productivity").

For each search, record:

  • Number of results that are clearly relevant (not spam/unrelated)
  • Rating and review count of the top 3 results
  • Whether the top result has > 50K ratings (signals an entrenched incumbent)
  • Date of last update for top 5 results (stale apps = opportunity to displace)

Step 3 — Review Mining for Positioning Gaps

Competitor reviews are the richest source of positioning gaps. Mine them systematically:

1-star reviews (frustration signals)

These reveal what users hate about existing solutions. Look for patterns:

  • Bugs and reliability complaints (opportunity: "the one that actually works")
  • Missing features that users expected (opportunity: build the feature they want)
  • Pricing complaints (opportunity: better value or different model)
  • Privacy/data concerns (opportunity: privacy-first positioning)
  • UX complexity complaints (opportunity: simpler alternative)
3-star reviews (unmet expectation signals)

These are often more valuable than 1-star reviews. 3-star reviewers liked the app enough to keep using it but something important is missing:

  • "Great app BUT..." — the "but" is the positioning gap
  • "Would be perfect IF..." — the "if" is the feature opportunity
  • "Works for X but not for Y" — the "Y" is the underserved segment
5-star reviews (what's defensible)

Read competitor 5-star reviews to understand what they do well. These strengths are hard to compete against directly — don't try. Instead, find the orthogonal angle that the incumbent's strength doesn't cover.

Mining process

For each direct competitor (top 3–5):

  1. Read the 20 most recent 1-star reviews
  2. Read the 20 most recent 3-star reviews
  3. Read 10 recent 5-star reviews
  4. Categorize complaints into themes (max 5 themes per competitor)
  5. Identify the most common complaint shared across 2+ competitors — this is the strongest gap signal

Step 4 — Positioning Gap Analysis

A positioning gap is a real user need that no current competitor serves well. Classify each gap:

Gap typeDescriptionDefensibility
Audience gapNo competitor targets this specific user segmentMedium — easy to copy if proven
Feature gapA commonly requested feature that no competitor has builtLow — incumbents can add it
Experience gapExisting solutions work but the UX is painfulMedium — hard for bloated incumbents to simplify
Price gapAll competitors are expensive; a free or cheap alternative would winLow — race to the bottom
Philosophy gapExisting solutions have a fundamentally different worldview (e.g., "gamified" vs. "minimalist")High — incumbents can't pivot their core identity
Platform gapNo good solution exists on a specific platform (e.g., iOS-only need, Apple Watch, visionOS)Medium — temporary, but first-mover advantage is real
Trust gapUsers don't trust existing solutions (privacy, data ownership, ads)High — trust is hard to build retroactively

Prioritize philosophy gaps and trust gaps — these are the hardest for incumbents to copy and the most defensible for an indie developer.

Step 5 — Market Saturation Scoring

Saturation reflects how crowded the space is and how difficult it will be to get noticed.

FactorLow (1 pt)Medium (2 pts)High (3 pts)
Direct competitor count0–2 relevant apps3–6 relevant apps7+ relevant apps
Incumbent dominanceNo app has > 10K ratings1–2 apps have 10K–100K ratingsAn app has > 100K ratings
Funding in spaceNo funded competitors1–2 funded startupsMultiple funded companies or a FAANG player
App Store keyword saturationPrimary keywords show few relevant resultsModerate results, some quality varianceTop results are all high-quality, well-maintained apps
Content saturationFew "best X apps" articles existSome articles, moderate SEO competitionMany SEO-optimized listicles, hard to rank

Total score (5–15 points):

TotalSaturation level
5–7low — Blue ocean. Few competitors, clear opportunity to establish position.
8–11medium — Competitive but gaps exist. Success requires clear differentiation.
12–15high — Red ocean. Dominated by well-funded or well-established players. Indie success requires a genuinely novel angle or underserved niche.

Output

Write to memory/ideas/<slug>/competitors.json:

json
{
  "direct_competitors": [
    {
      "name": "",
      "platform": "",
      "estimated_users": "",
      "app_store_rating": 0,
      "review_count": 0,
      "last_updated": "",
      "pricing": "",
      "pricing_model": "",
      "top_features": [],
      "top_complaints": [],
      "complaint_themes": [],
      "distribution_channels_observed": []
    }
  ],
  "indirect_competitors": [
    {
      "name": "",
      "approach": "",
      "why_users_choose_it": ""
    }
  ],
  "substitutes": [
    {
      "description": "",
      "cost": "",
      "friction_level": "low | medium | high",
      "switching_cost_to_app": ""
    }
  ],
  "emerging_threats": [
    {
      "name": "",
      "stage": "beta | launched | announced",
      "funded": false,
      "threat_level": "low | medium | high",
      "notes": ""
    }
  ],
  "review_mining_summary": {
    "most_common_complaint_across_competitors": "",
    "strongest_gap_signal": "",
    "competitors_mined": 0
  },
  "positioning_gaps": [
    {
      "gap_type": "audience | feature | experience | price | philosophy | platform | trust",
      "description": "",
      "defensibility": "low | medium | high",
      "evidence": ""
    }
  ],
  "saturation_score": {
    "direct_competitor_count": 0,
    "incumbent_dominance": 0,
    "funding_in_space": 0,
    "keyword_saturation": 0,
    "content_saturation": 0,
    "total": 0
  },
  "market_saturation": "low | medium | high",
  "differentiation_opportunities": [],
  "market_insights_sources_used": []
}

Notes

  • The most_common_complaint_across_competitors from review mining is one of the highest-signal data points in the entire validation system. If the same complaint appears in 3+ competitor review sets, it's a validated pain point — the market is telling you what to build.
  • distribution_channels_observed for each competitor helps downstream skills (distribution-analysis, cac-modeler) understand which channels actually work in this category.
  • If market_insights show trend_velocity = "rising-fast", note in emerging_threats that the competitor landscape will shift quickly. Rising markets attract builders.
  • Substitutes with friction_level = "low" are the hardest to displace — if doing nothing or using a spreadsheet is easy enough, the app must provide dramatically more value to justify the download.

Frequently asked questions

What does the Competitor Mapper AI skill do?

Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and market_insights-calibrated saturation scoring. Feeds into idea-scoring, cac-modeler, pricing-and-wtp, and tam-sam-som-builder.

Why use Competitor Mapper on TypingMind?

Because you install it once and use it with any model. Competitor Mapper is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Competitor Mapper in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Competitor Mapper?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Competitor Mapper?

As many as you like. As long as a model supports skills, you can use Competitor Mapper with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Competitor Mapper AI skill free?

Yes. It is published on GitHub by MaxKmet under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇