plugins/startup-superpowers/skills/competitors/SKILL.md
Manages the founder's competitive landscape — discovering competitors, updating existing competitor files, adding new ones, and dispatching ad-hoc research. Use when the founder wants to explore competitors, do competitive research, update a competitor profile, or understand who else is solving their problem.
npx skillsauth add davepoon/buildwithclaude competitorsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage the competitive landscape for the founder's project. This skill handles both working with existing competitor data and orchestrating new discovery when needed.
Read startup/core.md to load project context (name from frontmatter, seed description, and all fields under ## Core — audience, problem, solution, ICP, geography, etc.). If this file does not exist, this usually means the project has not been started yet, and the idea has not yet benn properly discussed with the user.
Although this skill can technically be used without it, a well-thought description of what the user whant to build or discover is paramount for targeted and insightful research. Make the user know the project does not seem to be initilised and propose to do so via /whats-next (they can use this command, or you can refer to this skill yourself).
So, if the file does exist or user insists on going forward without, it, continue with the instructions that follow.
Check if startup/competitors/ exists and contains any .md files.
Scaffold the folder if it doesn't exist yet:
mkdir -p startup/competitors
Load and understand them for context.
Before inferring intent — check for thin files.
A file is thin if any of these are true:
## Description body contains *To be filled in.* or is a single short sentence with no real substance## Core Features section entirely## Notes section AND the description is thinIf any thin files are found, surface this before doing anything else:
"I see {N} competitor(s) that haven't been fully researched yet: {names}. Want me to fill those out before we continue?"
web-researcher call covering all thin files (same focused prompt as discovery.md Path A). The web-researcher agent is generic, so include the Competitor output format spec from references/discovery.md in the dispatch prompt (the per-competitor fields + direct/indirect + maturity), asking for description, core features, and differentiation notes for each. Save raw output to startup/research/{YYYY-MM-DD}-{slug}-research.md for each, or one combined file if multiple. Write the filled content back to each competitor file. Then proceed with whatever the founder originally asked.If all existing files are properly filled out, skip this check silently and proceed.
Infer intent from the conversation — don't mechanically ask "what do you want to do?" If the founder is:
web-researcher agent with a focused prompt about that competitor (the agent is generic, so include the Competitor output format spec from references/discovery.md in the prompt), update the file with findings, and save the full web-researcher output to startup/research/{YYYY-MM-DD}-{competitor-slug}-research.md with frontmatter date, topic, and source_skill: competitorsreferences/user-feedback.md and follow it. It mines review sites and communities and writes a ## What Users Say section into each competitor file.references/watch.md and follow it. It re-checks each existing competitor for changes (features, pricing, pivots, shutdown signals), scans for new entrants, refreshes files in place with a ## Change Log, appends to the rolling digest startup/competitor-watch.md, and re-syncs the landscape map. Requires at least one non-archived competitor — if none exist, route to references/discovery.md instead.status: archived and add archived_reason to frontmatter with a one-line explanation. Archived competitors stay in place and can be restored by removing the status or setting it to activeWhen adding or updating competitor files, follow the file conventions:
type (direct or indirect), url (competitor's main website), and optionally status (active or archived — defaults to active when absent)maturity — one of incumbent (established/large), scaleup (growing, Series A+), startup (early/small), or unknown. Classified during discovery from funding/age/size signals; omit or use unknown when unclearlast_checked — ISO date (YYYY-MM-DD) of the last competitor-watch pass over this file. Set/bumped by the watch workflow (references/watch.md); absent on files that have never been watched## Description — what the company does and who it targets (2-3 sentences)## Core Features — bullet list of notable capabilities## Notes — comparison to the project, differentiation angles, founder comments## What Users Say — machine-generated by the user-feedback workflow (references/user-feedback.md). H3 subsections ### What Users Love, ### Complaints, ### Unmet Needs, ### Misc; only non-empty buckets appear. Not authored by hand## Change Log — machine-generated by the watch workflow (references/watch.md). Append-only dated bullets (- YYYY-MM-DD: shipped X / raised pricing / pivoted / archived — site dead), only added when a watch pass detects a change. Not authored by handSlug convention: lowercase the name, replace spaces and non-alphanumeric characters with hyphens, collapse multiple hyphens. "Notion AI" -> notion-ai.
Read before writing, and if you need to make some updates and it might not be oobvious from the context, it's always better running them by the user.
Not every web question needs a subagent:
WebSearch / WebFetch (you, the main agent): single-fact lookups ("does Notion have a free tier?", "is ACME still operating?"), quick verification of a claim, one data point asked about in flow. Stays in conversation, no persistence needed.web-researcher: multi-source passes that benefit from an isolated context (deep dive into a specific competitor's features and positioning, full landscape scan, cross-source verification of a competitive claim). Output is structured and gets saved to startup/research/ for later reference.Rough rule: one fact in flow → inline. Multi-source or results-should-persist → dispatch.
When dispatching the web-researcher agent for competitor research, use a fast model unless the founder explicitly asks for a more thorough or higher-quality search. Competitor research is token-intensive due to web fetching, and a lighter model handles it well.
If startup/competitors/ is empty or the situation suggests that a profound research is needed, load the reference file:
.claude/skills/competitors/references/discovery.md
The reference file's instructions take over from this point.
tools
Assesses the current state of the startup project and recommends what to focus on next. Use when there is a need or a question from the user to understand what the next steps are or what to focus on next.
data-ai
Use at the start of any conversation about a startup idea, product validation, founder strategy, or work inside a `startup/` workspace. Establishes file conventions, voice-input handling, subagent dispatch rules, and how to update each artifact safely. Activate before invoking any other startup-superpowers skill.
tools
Manages the founder's survey-based validation — crafting the right questions, deploying a survey to the internet, and analyzing results against hypotheses. Use when the founder wants to run a survey, create survey questions, validate hypotheses at scale, check how a survey is going, understand whether a survey is the right tool right now, or deploy a question set to get quantitative signal. Also bring this up if you believe that creating a survey to collect quantitative evidence may be useful at this point.
development
Guides the founder through designing and optionally building the simplest MVP or prototype that validates their current hypotheses. Use when the founder wants to build something to test assumptions, discusses what to build next, wants to interpret results from a live MVP, or is deciding whether the current approach is still right. Also use when a founder proposes something to build — the skill will check whether the proposed form is the simplest thing that generates honest signal.