competitors
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.
What this skill does
# Competitors
Manage the competitive landscape for the founder's project. This skill handles both working with existing competitor data and orchestrating new discovery when needed.
## Before you start
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:
```bash
mkdir -p startup/competitors
```
---
## When competitors already exist
Load and understand them for context.
**Before inferring intent — check for thin files.**
A file is thin if any of these are true:
- The `## Description` body contains `*To be filled in.*` or is a single short sentence with no real substance
- The file is missing a `## Core Features` section entirely
- The file is missing a `## Notes` section AND the description is thin
If 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?"
- **Yes** → dispatch a single `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.
- **No** → proceed directly 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:
- **Asking about a specific competitor** — load that file, discuss, help update it
- **Adding a new competitor** — help create a new file following the conventions below
- **Updating an existing competitor** — read the file, propose changes, get confirmation, write it back
- **Asking about the landscape broadly** — summarize what exists, grouped by type (direct/indirect), with key differentiators
- **Wanting deeper research on a specific competitor** — dispatch the `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: competitors`
- **Wanting to know what users think of a competitor** — when the founder asks specifically about user feedback / reviews / what people love or complain about (for one competitor or the whole set), load `references/user-feedback.md` and follow it. It mines review sites and communities and writes a `## What Users Say` section into each competitor file.
- **Checking on / refreshing / monitoring existing competitors** — when the founder wants to re-check competitors they already have ("check on my competitors", "what's changed since we looked?", "are these still accurate?", "refresh the landscape"), this is a **watch pass**, not first-time discovery. Load `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.
- **Archiving** — when a competitor is no longer relevant (e.g., after a pivot to a different market), set `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 `active`
When adding or updating competitor files, follow the file conventions:
- YAML frontmatter with `type` (`direct` or `indirect`), `url` (competitor's main website), and optionally `status` (`active` or `archived` — defaults to `active` when absent)
- Optional `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 unclear
- Optional `last_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
- H1 heading: the competitor's name
- `## 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
- Optional `## 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
- Optional `## 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 hand
**Slug 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.
---
## Research guidance
### Ad-hoc web search vs. dispatching web-researcher
Not every web question needs a subagent:
- **Inline `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.
- **Dispatch `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.
### Model choice when dispatching
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.
---
## When no competitors exist (or a large-scale competitor discovery or landscape reassessment needed)
If `startup/competitors/` is empty or the situation suggests that a profound research is needed, load the reference file:
```
.claude/skills/competitors/refRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".