Customer Research
Nexus-JPF/note-companion
When the user wants to conduct, analyze, or synthesize customer research.
Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring.
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/competitor-mapper .claude/skills/competitor-mapper && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .claude/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/competitor-mapper .agents/skills/competitor-mapper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .agents/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/competitor-mapper .cursor/skills/competitor-mapper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .cursor/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/MaxKmet/idea-validation-agents.git --path skills/competitor-mapper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/competitor-mapper .gemini/skills/competitor-mapper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .gemini/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/competitor-mapper .github/skills/competitor-mapper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .github/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MaxKmet/idea-validation-agents competitor-mapper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaxKmet/idea-validation-agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/competitor-mapper .opencode/skills/competitor-mapper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "competitor-mapper" agent skill from https://github.com/MaxKmet/idea-validation-agents/tree/main/skills/competitor-mapper into .opencode/skills/competitor-mapper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-mapper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
competitor-mapperMaps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring.
Competitor Mapper is an agent skill from MaxKmet/idea-validation-agents. Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring. Feeds into idea-scoring, cac-modeler, pricing-and-wtp, and tam-sam-som-builder.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering Customer feedback analysis, Positioning and messaging and Market sizing. It works with Reddit and TikTok. The repository describes itself as: AI agents that act as your personal venture analyst - from startup idea brainstorming to full validation and go-to-market strategy. Built for developers who'd rather validate in… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3a4c800. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Competitor Mapper loads about 3.3k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 1,485 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from MaxKmet/idea-validation-agents at commit 3a4c800, republished under its MIT licence (© MaxKmet). 1,485 words, ~3,264 tokens.
.claude/skills/competitor-mapper/SKILL.md (or your agent's skills folder).<!-- version: 0.2.0 | outputs: memory/ideas/<slug>/competitors.json -->
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.
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)Trend analysis files are a primary research source for competitor mapping. Extract the following:
| Platform file | What 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_velocity | Rising-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.
| Category | Definition | Why it matters | Examples |
|---|---|---|---|
| Direct | Same solution, same audience | Head-to-head competition for the same users | Apps solving the exact same problem on the same platform |
| Indirect | Different solution, same problem | User might choose this instead, even though it works differently | A meditation app competing with a journaling app for "stress relief" |
| Substitute | Non-software solution the user currently employs | The real baseline — what happens if the user never installs any app | Spreadsheets, pen-and-paper, hiring a person, doing nothing, a WhatsApp group |
| Emerging | New entrants, beta products, or announced features from incumbents | Future competitive pressure — the landscape 6–12 months from now | YC-backed startups, Product Hunt launches, Apple/Google adding native features |
Search these sources in order:
best [category] apps 2026. The top 3 listicle results typically capture the market leaders.<niche>-apps-*.md exists, extract any competitors named in the narrative.<niche>-reddit-*.md exists, extract apps users mention by name in discussions.For each direct competitor, record:
Ask: "What else might someone use to solve the same underlying problem, even if the approach is completely different?"
Sources:
Ask: "What is the user doing RIGHT NOW, before they know this app exists?"
Common substitute categories:
Record the estimated cost and friction of each substitute — this is the switching-cost baseline the app must beat.
Sources:
trend_velocity = "rising-fast" in market_insights, note that new entrants are likelyFlag any emerging competitor that has raised funding — they have resources to move fast.
The App Store is the most important research surface for B2C apps. Use this systematic approach:
For each search, record:
Competitor reviews are the richest source of positioning gaps. Mine them systematically:
These reveal what users hate about existing solutions. Look for patterns:
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:
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.
For each direct competitor (top 3–5):
A positioning gap is a real user need that no current competitor serves well. Classify each gap:
| Gap type | Description | Defensibility |
|---|---|---|
| Audience gap | No competitor targets this specific user segment | Medium — easy to copy if proven |
| Feature gap | A commonly requested feature that no competitor has built | Low — incumbents can add it |
| Experience gap | Existing solutions work but the UX is painful | Medium — hard for bloated incumbents to simplify |
| Price gap | All competitors are expensive; a free or cheap alternative would win | Low — race to the bottom |
| Philosophy gap | Existing solutions have a fundamentally different worldview (e.g., "gamified" vs. "minimalist") | High — incumbents can't pivot their core identity |
| Platform gap | No good solution exists on a specific platform (e.g., iOS-only need, Apple Watch, visionOS) | Medium — temporary, but first-mover advantage is real |
| Trust gap | Users 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.
Saturation reflects how crowded the space is and how difficult it will be to get noticed.
| Factor | Low (1 pt) | Medium (2 pts) | High (3 pts) |
|---|---|---|---|
| Direct competitor count | 0–2 relevant apps | 3–6 relevant apps | 7+ relevant apps |
| Incumbent dominance | No app has > 10K ratings | 1–2 apps have 10K–100K ratings | An app has > 100K ratings |
| Funding in space | No funded competitors | 1–2 funded startups | Multiple funded companies or a FAANG player |
| App Store keyword saturation | Primary keywords show few relevant results | Moderate results, some quality variance | Top results are all high-quality, well-maintained apps |
| Content saturation | Few "best X apps" articles exist | Some articles, moderate SEO competition | Many SEO-optimized listicles, hard to rank |
Total score (5–15 points):
| Total | Saturation level |
|---|---|
| 5–7 | low — Blue ocean. Few competitors, clear opportunity to establish position. |
| 8–11 | medium — Competitive but gaps exist. Success requires clear differentiation. |
| 12–15 | high — Red ocean. Dominated by well-funded or well-established players. Indie success requires a genuinely novel angle or underserved niche. |
Write to memory/ideas/<slug>/competitors.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": []
}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.trend_velocity = "rising-fast", note in emerging_threats that the competitor landscape will shift quickly. Rising markets attract builders.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.© MaxKmet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/competitor-mapper of MaxKmet/idea-validation-agents.
Open the folder on GitHubat commit 3a4c800
Competitor Mapper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Competitor Mapper this skillMaxKmet/idea-validation-agents | 474 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Customer ResearchNexus-JPF/note-companion | 870 | 6 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Ideal Customer Profilephuryn/pm-skills | 27k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Startup Designferdinandobons/startup-skill | 1.2k | — | ~8.1k | Automated safety check: Pass | MIT | |
| Replica EntrepreneurJakeschincariol/replica-skill | 908 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Product Strategistnicepkg/auto-company | 192 | 1 repos | ~2.4k | Automated safety check: Pass | None |
Nexus-JPF/note-companion
When the user wants to conduct, analyze, or synthesize customer research.
phuryn/pm-skills
Identify the Ideal Customer Profile (ICP) from research data with demographics, behaviors, JTBD, and needs.
ferdinandobons/startup-skill
Design, validate, and plan a startup from scratch. An agent skill from ferdinandobons/startup-skill.
Jakeschincariol/replica-skill
Researches the app being cloned and reads what its real users say in public reviews (App Store, Google Play, G2, Capterra, Trustpilot, Reddit, Hacker News, its own feature-request board), then ranks…
nicepkg/auto-company
Expert product strategy covering market analysis, competitive positioning, go-to-market planning, and product-led growth.
agiprolabs/claude-trading-skills
Market sentiment extraction from social media, news, and on-chain data including mention velocity, fear and greed indices, and influencer tracking
MaxKmet/idea-validation-agents
Models LTV, CAC by channel, LTV:CAC ratios, and payback period for an indie developer.
MaxKmet/idea-validation-agents
Writes a concise, human-readable decision brief summarizing the full validation analysis — including score, verdict, RAT experiment, pre-mortem, and tier-appropriate next actions.
MaxKmet/idea-validation-agents
Scores the strength of core human desire motivations (survival, status, belonging, control, curiosity) for a given app idea to predict user pull and retention potential.
MaxKmet/idea-validation-agents
Evaluates organic reach potential, paid feasibility, platform distribution advantages, creator economy fit, and founder edge for a B2C app idea.
MaxKmet/idea-validation-agents
Aggregates all dimension scores into a final idea score (0–100) and issues a verdict.
MaxKmet/idea-validation-agents
Generates structured pivot options for a scored idea based on weak dimensions, marketinsights signals, and founder constraints.
Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring. Competitor Mapper is an agent skill from MaxKmet/idea-validation-agents. Maps the full competitive landscape — direct, indirect, substitute, and emerging competitors — with positioning gap analysis, review mining, and marketinsights-calibrated saturation scoring.
Competitor Mapper fits situations like: tasks that involve Customer feedback analysis; tasks that involve Positioning and messaging; tasks that involve Market sizing.
Run `npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a claude-code`. Or copy the skill folder (skills/competitor-mapper in MaxKmet/idea-validation-agents) into .claude/skills/competitor-mapper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a codex`. Or copy the skill folder (skills/competitor-mapper in MaxKmet/idea-validation-agents) into .agents/skills/competitor-mapper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MaxKmet/idea-validation-agents --skill competitor-mapper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/competitor-mapper, .gemini/skills/competitor-mapper, .github/skills/competitor-mapper and .opencode/skills/competitor-mapper in your project.
SKILL.md names no scripts, command-line tools or credentials: Competitor Mapper is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Competitor Mapper is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Competitor Mapper: Customer Research (Nexus-JPF/note-companion, 870 stars), Ideal Customer Profile (phuryn/pm-skills, 27k stars), Startup Design (ferdinandobons/startup-skill, 1.2k stars) and Replica Entrepreneur (Jakeschincariol/replica-skill, 908 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MaxKmet (a GitHub user) maintains it in MaxKmet/idea-validation-agents, which has 474 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on June 16, 2026.
Source: MaxKmet/idea-validation-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.