Competitive analysis from your own source material, with gaps marked
Structures competitor research you have collected (websites, pricing pages, reviews, sales notes) into a comparison by job-to-be-done, a positioning map and a list of where you win, lose and do not know yet.
Prompt in Research by AISkillHub Library
What it does
Competitive analyses go wrong when they rely on what a model happens to remember about a competitor, which may be outdated or wrong. This prompt only uses source material you paste in, labels where every claim comes from, and treats missing information as a gap to research rather than something to fill in.
**Use it when** you are preparing a battlecard, planning a roadmap, entering a market or reviewing pricing, and you have gathered competitor material such as website copy, pricing pages, public reviews, analyst notes, sales call notes or win/loss data.
**What you get** - A comparison organised around the customer's jobs to be done, not a feature checklist, showing how each competitor (and your product) handles each job. - Each competitor's positioning in one sentence, inferred from their own words. - Pricing and packaging comparison where your sources include it. - Where you win, where you lose, and where it is unclear, with evidence. - Threats and opportunities. - A research gap list with suggested sources to close each gap.
**What it will not do** - It will not state facts about a competitor that are not in your sources. If you ask about a competitor you have not provided material for, it says it has no source rather than relying on memory. - It will not present review sentiment as representative of all users; review samples are labelled with their count and source. - It will not produce disparaging language for public use. The output is an internal analysis.
**Date your sources.** Pricing and features change often. The output records the date you give for each source so readers can judge freshness.
How to use it
## How to use
1. Open `prompts/competitive-analysis-framework.md` and copy everything below the title line. 2. Replace each `{{variable}}` with your own content. Paste long material (notes, transcripts, tables) directly in place of the variable; keep the surrounding tags so the model can tell inputs apart. 3. Start a new chat in ChatGPT, Claude or Gemini and paste the filled prompt as your first message. 4. Read the output against the quality checks at the end of the prompt before you use or send it.
## Variables
- `{{our_product}}`: what you sell, who it is for, and current pricing. - `{{competitor_sources}}`: material per competitor, each block starting with the competitor name and the source type and date, e.g. `## Rival A (pricing page, captured 2026-10-01)`. - `{{customer_jobs}}`: the three to six jobs customers hire a product like yours to do. If unsure, write `infer` and the prompt will propose them for you to confirm. - `{{purpose}}`: what the analysis is for, e.g. `sales battlecard`, `Q1 roadmap planning`.
If you do not have a value for an optional variable, write `none` rather than deleting it, so the prompt still reads correctly.
## Reusing it
To reuse it often, save the prompt (with the variables left in) as the instructions of a Claude Project, a custom GPT or a Gemini Gem, then paste only the inputs in each new chat.
Files
Save each file at the path shown, relative to your project root.