
Startup Positioning
- 326 installs
- 576 repo stars
- Updated July 1, 2026
- ferdinandobons/startup-skill
startup-positioning is an agent skill that applies April Dunford positioning plus JTBD discovery, Moore statements, and Neumeier's Onliness Test for developers who must define market category, competitive alternatives, a
About
startup-positioning is an agent skill from ferdinandobons/startup-skill that produces structured market positioning through parallel research agents. It runs intake, maps competitive alternatives and market categories across 2 research waves with 4 research agents, then synthesizes deliverables including a positioning document with Dunford's 5+1 components, Moore and Neumeier positioning statements, a JTBD-informed competitive alternatives map, and market category analysis. Developers reach for startup-positioning when choosing how to position a product, select a category, or differentiate from incumbent alternatives before writing landing copy or building features. The skill leverages prior startup-design or startup-competitors sessions when available, or starts fresh with research depth scaled to market complexity. Invoke via /startup:startup-positioning or npx skills add ferdinandobons/startup-skill --skill startup-positioning.
- ICP and pain-point framing
- Value proposition statements
- Differentiation vs alternatives
- Messaging pillars for GTM
- Positioning one-liners for experiments
Startup Positioning by the numbers
- 326 all-time installs (skills.sh)
- Ranked #850 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ferdinandobons/startup-skill --skill startup-positioningAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 326 |
|---|---|
| repo stars | ★ 576 |
| Last updated | July 1, 2026 |
| Repository | ferdinandobons/startup-skill ↗ |
How do you position a product against competitors?
Define who you serve, what you promise, and how you differ before writing copy, ads, or code.
Who is it for?
Product engineers and technical founders who need researched positioning artifacts—category, alternatives, and statements—before writing copy or shipping features.
Skip if: Teams with finalized positioning seeking only code implementation, or projects needing deep financial modeling instead of market framing research.
When should I use this skill?
The developer asks how to position a product, choose a market category, differentiate from alternatives, or run Dunford-style positioning research.
What you get
Positioning document, Moore and Neumeier statements, competitive alternatives map, market category analysis, and messaging implications files in a project folder.
- Positioning document
- Competitive alternatives map
- Market category analysis
By the numbers
- Uses Dunford 5+1 positioning components
- Runs 2 research waves with 4 parallel research agents
Files
Startup Positioning
Market positioning strategy that produces a complete positioning document, Moore + Neumeier positioning statements, competitive alternatives map, and market category analysis. Built on April Dunford's framework, enriched with JTBD discovery and stress-tested with Neumeier's Onliness Test.
How It Works
INTAKE → RESEARCH (2 sequential waves) → POSITIONING SYNTHESISThe process: understand the product and its customers, research competitive alternatives and market context, then build positioning through Dunford's 5+1 components. Typical runtime: 10-15 minutes in Claude Code (parallel agents), 20-30 minutes in Claude.ai (sequential).
Language
Default output language is English. If the user writes in another language or explicitly requests one, use that language for all outputs instead.
---
Phase 0: Resume Check
Before anything else, check if a PROGRESS.md created by this skill exists in the working directory or a project subdirectory (the skill name field says startup-positioning). If it does, read it and resume from the last incomplete phase. Tell the user: "I found progress from a previous session. You completed [phases]. Picking up from [next phase]."
If no progress file exists — or the one found belongs to a different skill — start from Phase 1.
---
Phase 1: Intake
Short and focused — 1-2 rounds of questions. The goal is enough context to research alternatives and build positioning.
Check for Prior Work
Before asking questions, check if prior sessions have been completed. Look for these files in the working directory or subdirectories:
From startup-design:
00-intake/brief.md— product description and context01-discovery/competitor-landscape.md— competitor profiles01-discovery/target-audience.md— customer personas, pain points02-strategy/positioning.md— initial positioning work
From startup-competitors:
intake.md— product and market contextcompetitors-report.md— strategic competitive analysisbattle-cards/— per-competitor profilespricing-landscape.md— pricing analysis
If these files exist, read them and use the data as a head start:
- Extract the product description, known competitors, and customer pain points
- Use competitor profiles and battle cards to seed the competitive alternatives map
- Pull any existing positioning work as a starting hypothesis to test, not a conclusion to keep
- Use customer language and pain points to inform JTBD discovery
Tell the user: "I found data from a previous session. I'll use it as a starting point for positioning analysis."
Skip redundant intake questions. Go straight to research if prior data is sufficient.
What to Ask (if no prior data exists)
Round 1 — Core context:
- What's your product? (one sentence is fine)
- What problem does it solve and for whom?
- What do your customers do today instead of using you? (alternatives, workarounds, doing nothing)
- Who are your best existing customers? (if any — describe them, not demographics)
Round 2 — Sharpening (only if needed):
- How is your product different from the alternatives you mentioned?
- Have you tried positioning before? What didn't work?
- Are there competitors you're often compared to?
Don't over-interview. If the user gives a clear description upfront, move to research. The positioning process itself will surface what matters.
Output
Save to {project-name}/intake.md — a brief summary of the product, problem, alternatives, and customers. If built on prior session data, note the source files used. Project name: kebab-case (e.g., ai-email-assistant).
Create {project-name}/PROGRESS.md with: project name, skill name (startup-positioning), start date, language, research mode (Live / Knowledge-Based), and a phase checklist. Update it after each phase completes. If PROGRESS.md already exists from a previous session, resume from the last incomplete phase.
---
Phase 1.5: Research Depth Assessment
After intake, assess market complexity and present the Research Depth recommendation to the user.
Reference: Read references/research-scaling.md for the complexity scoring matrix, tier definitions, wave configurations, and the user communication template.Process
1. Score three factors from the intake: market breadth (1-3), known competitors (1-3), geographic scope (1-3) 2. Sum the scores (range 3-9) and map to a tier: Light (3-4), Standard (5-7), Deep (8-9) 3. Present the Research Depth table to the user (see research-scaling.md for the exact template) 4. Wait for user response: light, deep, or ok to accept the recommendation 5. Record the selected tier in PROGRESS.md
The selected tier determines the number of agents per wave and search rounds per agent in Phase 2. See research-scaling.md for exact wave configurations per tier.
---
Phase 2: Research
Two sequential research waves exploring competitive alternatives and market context — agents within a wave run in parallel, and Wave 2 builds on Wave 1's findings. Together they provide the raw material for Dunford's 5+1 positioning components.
Environment Detection
Check if the Agent tool is available:
- Agent tool available (Claude Code): Spawn all agents within each wave in parallel. This is faster.
- Agent tool NOT available (Claude.ai, web): Execute research sequentially, following the same templates. Same depth, just slower.
Web Search
This skill requires WebSearch for real data. If WebSearch is unavailable or denied, fall back to Knowledge-Based Mode: use training data, mark all findings with [Knowledge-Based — verify independently], and reduce confidence ratings by one level. Note the mode in PROGRESS.md.
Reference: Read references/research-principles.md before starting any wave. It defines source quality tiers, cross-referencing rules, and how to handle data gaps.Wave 1: Competitive Alternatives & Customer Context
Reference: Read references/research-wave-1-alternatives.md for agent templates.Two agents (or two sequential blocks):
A1: Alternative Mapping (JTBD Lens) — Map ALL competitive alternatives, not just direct competitors. Include: direct competitors, adjacent tools competing for the same budget, manual processes, spreadsheets, hiring someone, doing nothing / status quo. For each: what job does the customer hire it for, where does it fall short, what triggers switching? The goal is the full set of things your product replaces.
A2: Customer Intelligence — Mine voice-of-customer data: reviews, forums, communities. Extract: pain points with current alternatives, exact language customers use, what "better" means to them, best-fit customer profile (who gets the most value fastest), switching triggers (what makes someone finally change). Build a language map — the words customers use to describe their problem and desired outcome.
Wave 2: Market Frame & Trends
Reference: Read references/research-wave-2-market-frame.md for agent templates.Two agents (or two sequential blocks):
B1: Market Category Analysis — Identify 3-5 candidate market categories. For each: what do buyers expect from this category, who are the leaders, what's the competitive dynamic, how mature is it? Apply Dunford's category types: head-to-head (existing category), big fish/small pond (subcategory), or category creation. Assess which frame makes your unique strengths matter most.
B2: Trend & Timing Analysis — Identify relevant trends: technology shifts, behavioral changes, regulatory moves. For each: is it real or hype, how does it affect buyer expectations, does it make your positioning stronger or weaker? Assess timing — are you early, on-time, or late to the trend? Only include trends that genuinely change how buyers evaluate solutions.
---
Post-Research Checkpoint
After both waves complete, before synthesis, briefly present what the research found to the user: the competitive alternative landscape (how many direct, adjacent, status quo), the strongest customer pains, and the most promising category candidates. Ask: "Does this align with your expectations? Anything to adjust before I synthesize the positioning?"
Keep it to one message — this is a quick alignment check, not a full report.
---
Phase 3: Positioning Synthesis
Reference: Read references/research-synthesis.md for synthesis protocol and Dunford process details.After the checkpoint, build positioning through Dunford's 5+1 components in order. The sequence matters — each step builds on the previous.
Positioning is a reasoning problem, not a fill-in-the-blanks exercise. The "only" in the Onliness Test has to be true, and finding a frame where it's both true and valuable takes real thought — you're searching for the angle that makes the product's strengths matter most to the right buyer. Before committing to a frame, think hard about how each candidate category changes what the product gets compared against and whether the differentiation still holds. If the model supports extended thinking, this is where to spend it; a forced or generic position is worse than none.
The 5+1 Components
1. Competitive Alternatives — From Wave 1. What would customers use if your product didn't exist? This is the anchor — positioning is always relative.
2. Unique Attributes — What do you have that the alternatives lack? Be specific and honest. Features, architecture, team expertise, business model, speed — anything defensible.
⏸ PAUSE — User Input Required. Present the research-derived attributes to the user. Ask them to confirm, add, or remove before proceeding to Value Themes. The founder knows capabilities that research can't surface.
3. Value Themes — Translate each unique attribute into a customer outcome. Attribute → "so what?" → value. Group related attributes into 2-3 value themes. Use customer language from Wave 1's language map.
4. Best-Fit Customers — From Wave 1 customer intelligence. Who cares most about your value themes? Define by characteristics that make them care, not demographics. These customers should be reachable, recognizable, and willing to pay.
5. Market Category — From Wave 2. Choose the category frame that makes your value obvious. Present 3-5 options with trade-offs. Recommend one. The right category triggers the right buyer expectations.
6. Trend Overlay (optional) — From Wave 2. Only include if a genuine trend makes your positioning stronger. Forced trend alignment is worse than none.
Validation
Two stress tests before finalizing:
Neumeier Onliness Test:
Basic form:
"Our [product] is the only [category] that [differentiator]."
Extended form (6 elements — WHAT/HOW/WHO/WHERE/WHY/WHEN):
"Our [product] is the only [category] that [differentiator] for [target] who [need] in [context]."
If you can't fill the basic form convincingly — if "only" feels like a stretch — the positioning is too weak. Iterate.
Ries/Trout Mental Ladder:
- Is it simple enough to remember?
- Does it claim one clear rung?
- Is that rung available (not owned by a competitor)?
- Can you explain it in one sentence?
If either test fails, revisit the 5+1 components. Don't ship weak positioning.
Output Files
Every deliverable file must start with a standardized header: # {Title}: {product} followed by *Skill: startup-positioning | Generated: {date}*. Every deliverable must end with Red Flags, Yellow Flags, and Sources sections (see templates in references/research-synthesis.md).
`{project-name}/positioning-doc.md` — The main deliverable:
- Executive summary (positioning in 3 sentences)
- The 5+1 components with supporting evidence
- Strength assessment per component (Strong / Moderate / Needs Work)
- Strategic recommendations and next steps
- Data gaps & limitations
`{project-name}/positioning-statement.md` — Statements and messaging:
- Moore template: "For [target] who [need], [product] is a [category] that [benefit]. Unlike [alternative], we [differentiator]."
- Neumeier Onliness Statement (basic + extended)
- Elevator pitch (30-second version)
- Tagline candidates with stress-tested "Possible Misread" column
- One-liner variants for different channels (GitHub, marketplace, social, elevator)
- Freemium positioning (if applicable)
`{project-name}/competitive-alternatives.md` — Complete alternatives map:
- All alternatives (direct, adjacent, manual, status quo)
- Per alternative: job hired for, strengths, shortcomings, switching triggers
- Your unique attributes vs. each alternative
`{project-name}/market-category-analysis.md` — Category strategy:
- 3-5 candidate categories with buyer expectations
- Category type assessment (head-to-head / subcategory / creation)
- Recommendation with reasoning
- Implementation (category label, tagline direction, buyer expectation alignment)
- Red flags and yellow flags
`{project-name}/messaging-implications.md` — Bridge from positioning to copy:
- Messaging hierarchy (what to communicate first, second, third)
- Category label (exact phrase to use everywhere)
- Value anchor (what to compare value to, separate from category)
- Customer language vs. category language map (which words are customer verbs, which are category nouns)
- Words to use / avoid
- Social proof guidelines
- Freemium positioning (if applicable)
Raw Data
Each agent saves its raw output to {project-name}/raw/. The synthesis phase reads these raw files and produces the polished deliverables above. Agents must NOT write directly to deliverable paths — raw and synthesized output are separate.
Raw research files:
alternative-mapping.mdcustomer-intelligence.mdmarket-categories.mdtrends-timing.md
---
Phase 3.5: Research Verification
After all positioning deliverables are written, run a verification pass.
Reference: Read references/verification-agent.md for the full verification protocol, universal checks, and skill-specific checks.Process
1. Spawn agent V1: Verification — it reads all deliverable files and checks for: unlabeled claims, internal contradictions, confidence rating consistency, missing data gaps, missing flags, stale data, and duplicate-source false corroboration 2. V1 also runs startup-positioning-specific checks: positioning statement vs. research data, JTBD vs. customer intelligence, cross-deliverable coherence, validation test integrity 3. V1 produces {project-name}/verification-report.md 4. If Critical issues found: Pause and present issues to the user. Ask: fix first, or proceed as-is? 5. If only Warnings/Info: Show one-line summary
In Claude.ai or when Agent tool is unavailable, run the verification checks yourself in the main conversation following the same protocol.
---
Honesty Protocol
Reference: Read references/honesty-protocol.md for full protocol and anti-pattern details.Positioning is only useful if it's honest. Core rules apply (label claims, quantify, declare gaps), plus positioning-specific additions:
1. No aspirational positioning. Position on what you ARE, not what you hope to become. Aspirational positioning crumbles at first customer contact. 2. Challenge "we're unique." The Onliness Test must be genuinely convincing. If it reads like marketing fluff, iterate. 3. Research wins over narrative. When customer data contradicts internal beliefs about positioning, the data wins. 4. Flag category creation risk. Most startups can't afford to educate a market. Default to existing categories unless the evidence is overwhelming.
| Anti-Pattern | What It Looks Like | What to Say |
|---|---|---|
| "We're for everyone" | No target segment defined | "If you're for everyone, you're for no one. Who cares MOST?" |
| Feature-based positioning | Leading with features not outcomes | "Customers don't buy features. What outcome do they get?" |
| Aspirational positioning | "We'll be the AI-powered..." | "Position on what you deliver today, not the roadmap." |
| Category-of-one | Inventing a category to avoid comparison | "New categories cost millions. Is there an existing frame?" |
| Copycat positioning | Same message as the market leader | "Find genuinely different ground — you can't out-position the leader." |
See references/honesty-protocol.md for the full anti-pattern table (7 entries) and detailed protocol.
---
Reference Files
Read only what you need for the current phase.
| File | When to Read | ~Lines | Purpose |
|---|---|---|---|
honesty-protocol.md | Start of session | ~73 | Full honesty protocol with anti-patterns |
research-principles.md | Before starting Phase 2 | ~65 | Source quality, cross-referencing, data gaps |
research-wave-1-alternatives.md | When running Wave 1 | ~235 | Agent templates for alternatives + customer intel |
research-wave-2-market-frame.md | When running Wave 2 | ~210 | Agent templates for categories + trends |
research-synthesis.md | After both waves complete | ~419 | Synthesis protocol, Dunford process, validation tests, messaging implications |
frameworks.md | During Phase 3 | ~132 | Dunford/Moore/Neumeier/JTBD/Ries reference |
research-scaling.md | After intake, before Phase 2 | ~96 | Complexity scoring, tier definitions, wave configurations |
verification-agent.md | After synthesis | ~128 | Verification protocol, universal + skill-specific checks |
Positioning Frameworks Reference
Canonical definitions for the 5 positioning frameworks used in this skill. Apply them in order: Dunford's process first (primary engine), then express the result through Moore and Neumeier formats, grounded by JTBD thinking, and sanity-checked against Ries & Trout principles.
---
1. April Dunford — Obviously Awesome
Positioning defines how your product is the best in the world at providing something that a well-defined set of customers cares a lot about.
The 5 components (work through in this order):
1. Competitive Alternatives — What would customers do if your solution didn't exist? Not just direct competitors — include manual processes, spreadsheets, hiring someone, doing nothing. This grounds the positioning in reality.
2. Unique Attributes — What do you have that the alternatives don't? Be specific and factual. Not "better UX" but "drag-and-drop workflow builder that requires zero code." Capabilities, features, expertise, integrations, data, speed, etc.
3. Value Themes — What do those attributes enable for the customer? Map each attribute to a customer benefit. Attributes are features; value themes are outcomes. "Drag-and-drop builder" → "Non-technical teams can build workflows without waiting for engineering." Group related attributes into 2-3 themes.
4. Best-Fit Customers — Who cares the most about these value themes? The best customers are those for whom your unique value is critical, not just nice-to-have. Define by characteristics that make them care more than others.
5. Market Category — The context you position your product in so the value is obvious. Three options:
- Existing category: You're a better version of something people already buy (e.g., "CRM for real estate agents")
- New sub-category: You take an existing category and add a qualifier (e.g., "AI-powered recruiting platform")
- New category: Rare and expensive to do. Only if nothing else frames your value well.
Adapted 10-step process for AI-guided positioning:
1. Understand your best customers — who loves your product and why 2. Form the positioning team — in our case: the AI + the founder 3. Align on vocabulary — define terms, abandon preconceptions about current positioning 4. List your true competitive alternatives — EVERYTHING customers would do instead 5. Isolate your unique attributes — what you have that alternatives don't 6. Map attributes to value themes — attribute → "so what" → customer outcome 7. Determine who cares most — best-fit customer characteristics 8. Find your best market frame — category that makes value obvious 9. Layer on a trend — only if genuine, optional 10. Capture the positioning — multiple formats: Moore statement, Onliness, elevator pitch
Common pitfalls by component:
- Alternatives: Only listing direct competitors. Miss the status quo — manual processes, spreadsheets, hiring someone, doing nothing. These are often the real competition.
- Attributes: Listing features that alternatives also have. That is table stakes, not differentiation. If two competitors also have it, it is not unique.
- Value Themes: Staying at the feature level instead of translating to outcomes. "AI-powered" is an attribute. "Get answers in seconds instead of hours" is a value theme.
- Best-Fit Customers: Too broad ("SMBs") or demographic ("25-34 year olds") instead of characteristic-based. Define by behaviors, situations, and needs that make them care more.
- Category: Inventing a category nobody searches for. If customers cannot Google it, they cannot find you.
---
2. Geoffrey Moore — Crossing the Chasm Positioning Statement
The template:
For [target customer]
who [statement of need/opportunity],
the [product name] is a [market category]
that [statement of key benefit].
Unlike [primary competitive alternative],
our product [statement of primary differentiation].
Field definitions:
- Target customer = Dunford component 4: Best-Fit Customers
- Need = The job to be done (from JTBD analysis)
- Category = Dunford component 5: Market Category
- Key benefit = Dunford component 3: Value Themes (pick the strongest)
- Alternative = Dunford component 1: top Competitive Alternative
- Differentiation = Dunford component 2: Unique Attributes (most defensible)
Example:
For mid-market engineering teams who need to track deployment reliability across microservices, DeployWatch is a deployment observability platform that surfaces breaking changes before they reach production. Unlike generic APM tools, DeployWatch correlates deployments with performance regressions in real-time.
---
3. Marty Neumeier — Zag (Onliness Statement)
Basic template:
Our [brand/product] is the only [category] that [point of radical differentiation].
Extended template (6 elements):
- WHAT: The category you are in
- HOW: Your point of differentiation
- WHO: Your target audience
- WHERE: Your market geography
- WHY: The customer need you fulfill
- WHEN: The trend or moment that makes this relevant
Example (Harley-Davidson):
"The only motorcycle manufacturer [WHAT] that makes big, loud motorcycles [HOW] for macho guys and macho wannabes [WHO] mostly in the United States [WHERE] who want to join a gang of cowboys [WHY] in an era of decreasing personal freedom [WHEN]."
How to use as validation:
- If you cannot complete the basic statement convincingly, your positioning lacks a clear differentiator
- If "only" feels like a stretch, you have not found genuinely unique ground yet
- The extended version forces completeness — every element should feel natural, not forced
- Try completing it from the customer's perspective: would THEY describe you this way?
---
4. JTBD — Jobs to Be Done
Core concept: Customers do not buy products — they "hire" products to get a job done. The job is stable even as products come and go.
Three types of jobs:
- Functional: The practical task (e.g., "track my team's project status")
- Social: How they want to be perceived (e.g., "look organized and in control to stakeholders")
- Emotional: How they want to feel (e.g., "feel confident nothing is falling through the cracks")
Application to positioning:
- JTBD broadens the competitive alternative set — ALL solutions hired for the same job compete, regardless of category
- Understanding the emotional and social jobs reveals positioning angles that feature comparisons miss
- The language customers use to describe their job IS the language your positioning should use
- Underserved jobs (important but poorly satisfied) = strongest positioning opportunities
---
5. Ries & Trout — Positioning Principles
Core principles from "Positioning: The Battle for Your Mind":
- Positioning lives in the customer's mind, not your product. It is about perception, not reality. You cannot force a position — you claim one that is available.
- Simplicity wins. In an over-communicated world, only simple messages get through. One idea, clearly stated.
- The mental ladder. Customers organize brands on mental ladders by attribute. You need to claim a rung. If the top rung is taken, find a different ladder.
- First beats best. Being first in a category (in the customer's mind) is more powerful than being better. If you cannot be first in an existing category, create a subcategory where you ARE first.
- Consistency over time. Positioning takes time to stick. Do not change it every quarter. Pick a position and hold it.
Application: These principles act as a final sanity check. After building positioning through Dunford's process, test it: Is it simple? Does it claim one clear rung? Is that rung available? Would it stick over time?
Radical Honesty Protocol
This skill exists to help founders make good decisions — not to feel good. An AI that cheerleads every idea is actively harmful: it wastes the founder's time, money, and emotional energy. These principles are non-negotiable and apply to every phase.
Tell the truth, even when it's uncomfortable
- If the market is too small, say so directly. Don't soften "$12M and shrinking" into "room for a focused player."
- If the idea has a fatal flaw, name it up front. Don't bury it in a list of minor risks.
- If the founder's assumptions contradict research, flag it explicitly: "You assumed X, but the data shows Y."
- Challenge "everyone needs this" (who specifically?), "there's no competition" (there's always competition, even if it's doing nothing), and unsupported market claims.
- Never use vague positive language to avoid delivering bad news. Replace "interesting opportunity" with the specific finding.
Separate facts from opinions
- Label every major claim with its basis:
- [Data] — sourced finding with citation
- [Estimate] — calculated projection with stated assumptions
- [Assumption] — unverified belief that needs testing
- [Opinion] — your analytical judgment
- When data is missing or weak, say so.
- Never present estimates as facts.
- A confident-sounding fabrication is worse than an honest "I don't know."
Surface flags proactively
In every output file, include a Flags section at the end:
- Red Flags — Issues that could undermine the positioning or the business.
- Yellow Flags — Concerns that need investigation or monitoring.
If there are no flags, write "No flags identified" — don't skip the section.
Challenge the founder's assumptions
Don't just accept what the user says at face value:
- Ask "What evidence do you have for that?" when the founder makes positioning claims
- Push back on "we're unique" — in what way, specifically?
- Question "there's no competition" — there's always competition, even doing nothing
- When the founder is emotionally attached to a positioning or category, note it and test it against data
Positioning-Specific Rules
1. No aspirational positioning. Position based on current capabilities, not roadmap promises. "We plan to add AI" is not a positioning attribute — it's a hope. If the product doesn't deliver on the positioning TODAY, it will fail at first customer contact.
2. Challenge "we're unique." If the Onliness Statement isn't convincing, say so directly. Most products aren't truly unique — the skill's job is to find the angle where they ARE unique for a specific customer in a specific context. Generic uniqueness claims are lazy positioning.
3. Test against customer reality. If customer language from research doesn't match the proposed positioning, the research wins. Positioning that sounds great in a boardroom but doesn't resonate with actual buyers is worse than no positioning — it creates false confidence.
4. Flag category creation risk. If the recommended positioning requires educating buyers on a new category, explicitly flag the cost, time, and risk. Most startups don't have the resources, patience, or market power to create a new category. Default to existing categories or subcategories unless the evidence is overwhelming.
5. Rate positioning strength honestly. The final positioning doc must include an honest strength assessment:
- Strong — Clear, defensible, resonant with customer language, occupies available mental position
- Moderate — Works but has gaps (e.g., differentiation is real but narrow, or best-fit segment is small)
- Needs Work — Positioning is weak, generic, or untestable. Don't deliver weak positioning as if it's strong.
Positioning Anti-Patterns
| Anti-Pattern | What It Looks Like | What to Say |
|---|---|---|
| "We're for everyone" | No target segment defined | "If you're for everyone, you're for no one. Who cares MOST about this value?" |
| Feature-based positioning | Leading with features not outcomes | "Customers don't buy features. What outcome do they get? What changes for them?" |
| Aspirational positioning | "We'll be the AI-powered..." | "Position on what you deliver today. The roadmap isn't positioning — it's hope." |
| Category-of-one | Inventing a category to avoid comparison | "New categories cost millions to establish. Is there an existing frame that works?" |
| Copycat positioning | Same message as the market leader | "You can't out-position the leader on their own terms. Find genuinely different ground." |
| "Better and cheaper" | Claiming to beat incumbents on everything | "Pick your battle. You can't be best at everything — where do you win decisively?" |
| Positioning by negation | "We're NOT like them" | "What ARE you? Buyers remember what you stand for, not what you stand against." |
Ground rules
- Ground in evidence. Every positioning claim should trace to research findings.
- Make it actionable. Positioning that can't be implemented is worthless.
- No fabrication. If data not found, say so.
Research Principles
These principles apply to ALL research agents across all waves. Every agent must follow them.
Iterative Deep Research
Each agent performs 5-8 web searches minimum, organized in sequential rounds that drill deeper:
- Round 1: Broad overview queries
- Round 2: Drill-down into specific findings from Round 1
- Round 3: Cross-reference and validate
- Round 4: Reality check and edge cases
Do NOT stop after a single query. The first search gives you the surface — the follow-ups give you the insight.
Source Quality Tiers
Rank every finding by source reliability:
| Tier | Source Type | Use For |
|---|---|---|
| Tier 1 | Industry reports (Gartner, Forrester, McKinsey, IBISWorld), SEC filings, government data, G2/Capterra aggregate data | Hard numbers, market share, verified metrics |
| Tier 2 | Reputable tech press (TechCrunch, Bloomberg, WSJ), company press releases, Crunchbase, investor presentations | Funding data, company news, expert opinions |
| Tier 3 | Blog posts, Reddit threads, individual reviews, social media | Sentiment, customer voice, anecdotal evidence |
For positioning research, Tier 3 sources are ESPECIALLY valuable — customer reviews and forum posts reveal how buyers describe their problems and what "better" means to them. This is the language map that drives positioning. But don't use them for hard numbers.
Positioning-Specific Search Strategies
When researching alternatives and buyer behavior:
- Search for "what do you use for [problem]", "[competitor] vs", "switching from [tool]", "alternative to [tool]"
- These queries surface the language customers actually use, revealing positioning opportunities
When researching category definitions:
- Search for analyst reports on category definitions, Gartner/Forrester quadrants, buyer guides
- Track how the category is evolving — new subcategories and adjacent spaces signal positioning white space
Cross-Referencing
Never trust a single source for important claims. For every key finding:
- Look for 2-3 independent sources
- If sources agree: note convergence and cite all
- If sources disagree: note both figures, explain the discrepancy, and state which you trust more and why
Quantification
Vague claims are worthless. Always push for numbers:
- Bad: "They're a big player"
- Good: "$12M ARR, 2,500+ customers, Series B ($28M from Accel)"
- Bad: "Their pricing is high"
- Good: "$49/seat/mo for Pro, $99/seat/mo for Enterprise, vs. market median of $35/seat/mo"
Dating
Always note when data was published. Flag anything older than 12 months as potentially outdated. Positioning landscapes shift fast — a funding round, pivot, or acquisition can change everything in weeks.
Handling Research Failures
Sometimes WebSearch won't find what you need:
1. Try alternative queries. Rephrase, use synonyms, try different angles. At least 3 variations before declaring a gap. 2. Use proxy data. If you can't find a competitor's revenue, estimate from team size, funding, pricing × estimated customers. Show your math. 3. Declare the gap explicitly. Write: "DATA GAP: Could not find reliable data on [X]. Closest proxy: [Y]. Confidence: Low." 4. Never fabricate. An honest "unknown" is infinitely more valuable than a made-up number. 5. Suggest how to fill the gap. Point to specific reports or recommend reaching out to the competitor's customers directly.
Research Scaling Protocol
Dynamic scaling adjusts research depth based on market complexity and user preference. Evaluated after intake, before research begins.
Complexity Score
Assess three factors from the intake data:
| Factor | Low (1) | Medium (2) | High (3) |
|---|---|---|---|
| Market breadth | Ultra-niche, few players, well-defined segment | Defined market, moderate competition | Broad market, many segments, diverse players |
| Known competitors | 0-2 identified | 3-5 identified | 6+ identified |
| Geographic scope | Single country | Regional (e.g., Europe, North America) | Global or multi-region |
Complexity score = sum of the three factors (range: 3-9)
Research Depth Tiers
| Tier | Score Range | Manual Trigger | Description |
|---|---|---|---|
| Light | 3-4 | User says "light", "quick", or "fast research" | Quick scan, fewer agents, 2-3 search rounds |
| Standard | 5-7 | Default (no override needed) | Current behavior, balanced depth |
| Deep | 8-9 | User says "deep", "thorough", or "deep research" | More agents, 5-6 search rounds, extra coverage |
Manual override always wins. If the user requests "light" on a score-9 market, use Light. If they request "deep" on a score-3 market, use Deep.
User Communication
After calculating the score, show this to the user:
## Research Depth
Based on your intake, I've assessed the research complexity:
| Factor | Assessment | Score |
|------------------|---------------------|-------|
| Market breadth | {description} | {1-3} |
| Known competitors| {N} identified | {1-3} |
| Geographic scope | {description} | {1-3} |
**Complexity score: {X}/9 — recommended depth: {Light/Standard/Deep}**
You can override this. Here's what each depth means:
| Depth | Agents | Searches per agent | Best for |
|--------------|--------|--------------------|-----------------------------------------------|
| **Light** | {N} | 2-3 rounds | Quick scan, niche markets, time-sensitive decisions |
| **Standard** | {N} | 3-4 rounds | Most cases, balanced depth vs. speed |
| **Deep** | {N} | 5-6 rounds | Crowded markets, high-stakes decisions, thorough due diligence |
→ Type **light**, **deep**, or **ok** to accept the recommendation.The agent counts shown should reflect the actual numbers for this skill (see Wave Configuration below).
Wave Configuration: startup-positioning
Light (3-4 score or user override)
Wave 1 (1 wave, 2 agents)
- A1: Alternative Mapping & Customer Intelligence (merge A1+A2 into one agent)
- B1: Market Category & Trends (merge B1+B2 into one agent)
Merge both waves into a single wave since there's no dependency between them at this scale.
Total: 2 agents (vs. 4 Standard), 2-3 search rounds per agent
Standard (5-7 score, default)
No changes to current wave structure:
- Wave 1: 2 agents (A1, A2)
- Wave 2: 2 agents (B1, B2)
Total: 4 agents, 3-4 search rounds per agent
Deep (8-9 score or user override)
Wave 1: Competitive Alternatives & Customer (3 agents)
- A1: Alternative Mapping (unchanged)
- A2: Customer Intelligence (unchanged)
- A3: Positioning Perception Audit (NEW: research how competitors position themselves, what messaging they use, what category they claim, where buyer perception differs from positioning intent)
Wave 2: Market Frame & Trends (2 agents)
- B1: Market Category Analysis (unchanged)
- B2: Trend & Timing Analysis (unchanged)
Total: 5 agents, 5-6 search rounds per agent
PROGRESS.md
Record the selected tier in PROGRESS.md:
- **Research Depth:** {Light/Standard/Deep} (score: {X}/9, {override: user request / auto})Positioning Research Synthesis Protocol
Contents: Before Writing · Cross-Wave Connections to Look For · Confidence Rating · Dunford's 5+1 Components — Detailed Synthesis Process · Validation Tests · Output File Templates (positioning-doc, positioning-statement, competitive-alternatives, market-category-analysis, messaging-implications) · Post-Synthesis Verification
Before Writing
1. Read ALL raw files in {project-name}/raw/ before writing anything 2. Look for patterns that repeat across multiple sources 3. Identify contradictions — explain which source to trust and why 4. Connect the dots across Wave 1 and Wave 2
Cross-Wave Connections to Look For
These are positioning-specific patterns that emerge when you combine raw research:
- Customer pain + alternative limitation = positioning opportunity — your product addresses the pain where alternatives fall short
- Best-fit customer characteristics + category expectations = right market frame — the category where your best customers already shop
- Customer language + switching triggers = messaging foundation — position in the words customers already use
- Trend + buyer expectation shift = timing advantage — position now while the frame is forming
- Multiple alternatives failing at the same job = underserved JTBD — opportunity to own a job that nobody does well
Confidence Rating
Apply to every major claim in the final deliverables:
- High: Multiple Tier 1/2 sources agree, recent data, matches customer voice
- Medium: Some evidence but gaps, or sources partially disagree
- Low: Limited data, mostly inferred, or data older than 12 months
---
Dunford's 5+1 Components — Detailed Synthesis Process
Work through each component in order. Each one builds on the last.
1. Competitive Alternatives
- Pull from
raw/alternative-mapping.md - Organize by job-match relevance (closest job match first)
- Include non-obvious alternatives — the "do nothing" option is often the real competitor
- Common mistake: Only listing direct competitors. The founder already knows those. The value is surfacing alternatives they haven't considered.
- For each alternative, note: what job it solves, how well, and where it breaks down
2. Unique Attributes
- This step is COLLABORATIVE — present what research reveals, then ask the founder to confirm and add
- Look for attributes in: product capabilities, technical architecture, team expertise, business model, speed, integrations, data access
- Be specific: "Drag-and-drop workflow builder requiring zero code" not "easy to use"
- Test each attribute: Is it truly unique? Or do alternatives have it too?
- If alternatives have it, it's not a positioning attribute — it's table stakes
- Aim for 5-10 candidates; the best positioning uses 3-5
3. Value Themes
- For each unique attribute, ask: "So what? What does this enable for the customer?"
- Chain: Attribute → "which means that..." → customer outcome
- Group related attributes into 2-3 themes maximum (more than 3 dilutes the message)
- USE THE LANGUAGE MAP from customer intelligence — frame value in the words customers already use
- Test: Would a customer care about this? Would they pay for it?
- If a value theme doesn't connect to a real customer pain from Wave 2, drop it
Category language vs. Customer language check: Customers often describe their problem using words that would position the product in the wrong category. Example: founders search "validate my startup idea" (customer language), but "validation tool" triggers the wrong buyer expectations (instant score, shallow analysis). When this tension exists:
- Document both the customer verbs and the category nouns
- Recommend bridging in copy: use customer verbs + category nouns (e.g., "validate your startup idea" as the action, "validated strategy" as the outcome)
- Flag this explicitly in the messaging-implications deliverable so copywriters know which words are customer-language (use as verbs) and which are category-language (use as outcomes/nouns)
4. Best-Fit Customers
- Pull from
raw/customer-intelligence.md— best-fit customer profile - Define by characteristics that make them CARE MORE, not demographics
- Good: "Mid-market teams with 5-15 people who outgrew spreadsheets but can't afford enterprise tools"
- Bad: "Companies with 50-200 employees in the US"
- The right best-fit customers: get value fast, don't haggle price, become champions
- Cross-check: do these customers actually experience the pains your value themes address?
5. Market Category
- Pull from
raw/market-categories.md - Present 2-3 top candidates with pros/cons for each
- Recommend one with clear reasoning
- The right category makes the value OBVIOUS without explanation
- If unsure between two: default to the one where the product has the strongest existing proof points
- Consider: existing category, subcategory, or new category (new is highest risk)
- Separate three things clearly: (1) the category label (what the product IS), (2) the value anchor (what you compare value TO), (3) the distribution descriptor (HOW to get it). These are different and serve different purposes in copy. Example: category = "AI Startup Strategy Toolkit", value anchor = "what a $10K consultant delivers", distribution = "open-source Claude skill"
6. Trend Overlay (Optional)
- Pull from
raw/trends-timing.md - Only include if a trend genuinely amplifies the positioning
- "None" is a valid and often better answer than a forced trend
- A bad trend overlay makes positioning feel gimmicky
- Good test: Would the positioning still work without the trend? If yes, the trend is a bonus. If no, the positioning is too dependent on hype.
---
Validation Tests
Run all three tests on the synthesized positioning. If any test fails, iterate on the 5+1 components before finalizing.
Test 1: Neumeier Onliness Statement
Basic form:
"Our [product] is the only [category] that [key differentiator]."
Extended (6 elements):
- WHAT: The category
- HOW: The point of radical differentiation
- WHO: The target audience
- WHERE: The market geography
- WHY: The need it fulfills
- WHEN: The underlying trend
If the basic statement isn't convincing — if "only" feels like a stretch — the positioning needs more work. Go back to components 2-3 and sharpen.
Test 2: Moore Positioning Statement
For [target customer]
who [statement of need/opportunity],
the [product name] is a [market category]
that [statement of key benefit].
Unlike [primary competitive alternative],
our product [statement of primary differentiation].
Every field must be fillable with confidence. If any field is vague or generic, the component it draws from needs work.
Test 3: Ries/Trout Mental Ladder
- Can you state the position in 10 words or fewer?
- Does it claim ONE clear rung (not "best at everything")?
- Is that rung available (not already owned by a stronger competitor)?
- Would a customer use these words to describe you to a colleague?
If any test fails, iterate on the 5+1 components. Do not ship weak positioning.
---
Output File Templates
positioning-doc.md
# Market Positioning: {product}
*Skill: startup-positioning | Generated: {date}*
## Executive Summary
{Positioning in 3 sentences: who you are, for whom, why you win.}
## 1. Competitive Alternatives
{What customers would do if your product didn't exist. Full map from research.}
### Alternative Landscape
| Alternative | Type | Job Match | Where It Falls Short |
|---|---|---|---|
> **Confidence:** High/Medium/Low — {reasoning}
## 2. Unique Attributes
| Attribute | Evidence | Defensible? |
|---|---|---|
> **Confidence:** High/Medium/Low — {reasoning}
## 3. Value Themes
### Theme 1: {name}
- **Attributes:** {which unique attributes drive this}
- **Customer outcome:** {in their language}
- **Evidence:** {from research}
### Theme 2: {name}
[same structure]
> **Confidence:** High/Medium/Low — {reasoning}
## 4. Best-Fit Customers
**Profile:** {characteristics that predict high value and fast adoption}
**Evidence:** {from customer intelligence}
**Why they care more:** {what makes this value theme critical for them vs. others}
> **Confidence:** High/Medium/Low — {reasoning}
## 5. Market Category
**Chosen category:** {name} ({type: existing / subcategory / new})
**Why this frame:** {reasoning — how it makes unique value obvious}
**Buyer expectations:** {what this category signals to buyers}
**Risk:** {what expectations might work against you}
> **Confidence:** High/Medium/Low — {reasoning}
## 6. Trend Overlay
{Trend and how it amplifies positioning — or "None. The positioning stands on its own."}
**Would the positioning work without this trend?** {Yes/No + reasoning. If No, the positioning is too trend-dependent — revisit.}
> **Confidence:** High/Medium/Low — {reasoning}
## Positioning Strength Assessment
| Component | Strength | Notes |
|---|---|---|
| Competitive Alternatives | Strong/Moderate/Needs Work | {brief} |
| Unique Attributes | ... | ... |
| Value Themes | ... | ... |
| Best-Fit Customers | ... | ... |
| Market Category | ... | ... |
| Overall | ... | ... |
## Strategic Recommendations
{next steps for implementing the positioning}
**Social proof warning:** Do not fabricate or pre-write social proof quotes. Only use quotes from published, verifiable sources. Placeholder quotes damage credibility more than no quotes at all. Build social proof by encouraging early users to share results publicly, then reference those real posts.
## Red Flags
- {issues that could undermine this positioning}
## Yellow Flags
- {concerns to monitor}
## Data Gaps & Limitations
- {what data is missing and how to fill it}
## Sources
- {key sources with tier ratings}positioning-statement.md
# Positioning Statements: {product}
*Skill: startup-positioning | Generated: {date}*
## Moore Positioning Statement
For [target customer] who [need/opportunity], [product] is a [category] that [key benefit]. Unlike [primary alternative], our product [primary differentiation].
## Neumeier Onliness Statement
[product] is the only [category] that [key differentiator].
## Onliness Statement (Extended)
- **WHAT:** {category}
- **HOW:** {point of differentiation}
- **WHO:** {target audience}
- **WHERE:** {market}
- **WHY:** {need it fulfills}
- **WHEN:** {underlying trend}
## Elevator Pitch (30 seconds)
{Conversational version of the positioning — what you'd say at a dinner party}
## Tagline Candidates
| Tagline | Angle | Best For | Possible Misread |
|---------|-------|----------|-----------------|
| {tagline 1} | {angle} | {context} | {how could a reader misinterpret this?} |
| {tagline 2} | {angle} | {context} | {possible objection or wrong reading} |
For each tagline, actively ask: "What could a skeptical reader think when reading this? What objection does it trigger?" If the misread is serious (e.g., sounds condescending, makes an assumption about the reader's situation, or positions in the wrong category), flag it and suggest a safer alternative.
## One-Liner Variants
Provide context-specific versions:
- **For GitHub README:** {lead with open-source, end with free}
- **For marketplace listing:** {lead with what user can DO, list deliverables}
- **For social media:** {hook + transformation + differentiator}
- **For elevator pitch:** {conversational, 30 seconds}
## Freemium Positioning (if applicable)
If the product has or plans a freemium model:
**Free tier message:** {how to communicate that free is complete, not limited}
**Premium tier message:** {how to communicate premium extends, not unlocks}
**Upgrade trigger:** {natural moment when user would want premium}
Anti-pattern: never make the free tier feel "incomplete" to push premium. The free tier should deliver full value for its scope. Premium adds a different scope (e.g., strategy vs. execution), not "more of the same."
## Validation Notes
- Onliness Test: {Pass/Fail + notes}
- Moore Template: {Pass/Fail + notes}
- Mental Ladder: {Pass/Fail + notes}
- Overall Positioning Strength: Strong / Moderate / Needs Workcompetitive-alternatives.md
# Competitive Alternatives Map: {product}
*Skill: startup-positioning | Generated: {date}*
## The Job to Be Done
{Core job customers are hiring for}
## Direct Competitors
[table or structured sections from raw data]
## Adjacent Alternatives
[from raw data]
## Manual / Status Quo
[from raw data]
## Your Unique Attributes vs. Each Alternative
| Alternative | What They Offer | Where You Win | Where They Win |
|---|---|---|---|
## Switching Cost Analysis
| Alternative | Technical | Contractual | Emotional | Net Switching Barrier |
|---|---|---|---|---|
| {name} | H/M/L | H/M/L | H/M/L | {summary} |
## Key Positioning Insights
- {what the alternative landscape tells us about positioning}
## Red Flags
- {issues in the competitive alternative landscape}
## Yellow Flags
- {concerns to monitor}
## Sources
- {key sources with tier ratings}market-category-analysis.md
# Market Category Analysis: {product}
*Skill: startup-positioning | Generated: {date}*
## Candidate Categories
### {Category 1}: {type}
[from raw data + synthesis]
## Recommendation
{Chosen category with reasoning}
## Implementation
- **Category label:** {exact words to use}
- **Tagline direction:** {how to frame it}
- **Buyer expectation alignment:** {what expectations you meet, which you need to manage}
## Red Flags
- {issues that could undermine the category choice}
## Yellow Flags
- {concerns to monitor}
## Data Gaps
- {what data is missing about category dynamics}
## Sources
- {key sources with tier ratings}Post-Synthesis Verification
After writing all deliverables, run the Verification Agent protocol. See references/verification-agent.md for the full process. The verification step checks all deliverables for unlabeled claims, internal contradictions, confidence rating consistency, and startup-positioning-specific coherence (positioning statement vs. research data, JTBD vs. customer intelligence, cross-deliverable messaging consistency, validation test integrity).
---
messaging-implications.md
# Messaging Implications: {product}
*Skill: startup-positioning | Generated: {date}*
## Messaging Hierarchy
What to communicate first, second, third. Every piece of copy should follow this priority:
1. {Primary message — the outcome, what the user gets}
2. {Secondary — time/effort, how fast or easy}
3. {Tertiary — key differentiator}
4. {Fourth — cost/access}
5. {Fifth — specific deliverables or features}
6. {Sixth — value anchor or comparison}
Not every piece of copy needs all levels. But when present, they should appear in this order.
## Category Label
**Always use:** "{exact category phrase}"
Use this exact phrase consistently across: website, GitHub, marketplace, social bios, README.
## Value Anchor
**"{value anchor phrase}"** — used in supporting copy to set perceived value. This is NOT the category label. The category describes WHAT it is. The value anchor describes WHAT IT'S WORTH.
Where to use: body copy, comparison sections, pricing context.
Where NOT to use: headlines, category descriptions, taglines (unless carefully tested).
## Customer Language vs. Category Language
| Customer says (use as verbs) | Category says (use as nouns/outcomes) |
|------------------------------|--------------------------------------|
| {e.g., "validate my idea"} | {e.g., "validated strategy"} |
Bridge in copy: use customer verbs with category nouns.
## Words to Use / Avoid
| Use | Instead of | Why |
|-----|-----------|-----|
| {preferred term} | {avoided term} | {reason from positioning} |
## Social Proof Guidelines
Do not fabricate or pre-write social proof. Only use quotes from published, verifiable sources. Placeholder quotes damage credibility more than no quotes at all. If no real social proof exists yet, omit the section entirely and note it as a gap to fill.
## Freemium Positioning (if applicable)
**Free tier message:** {how to communicate that free is complete, not limited}
**Premium tier message:** {how to communicate premium extends, not unlocks}
**Upgrade trigger:** {natural moment when user would want premium}
Anti-pattern: never make the free tier feel "incomplete" to push premium. The free tier should deliver full value for its scope. Premium adds a different scope (e.g., strategy vs. execution), not "more of the same."
## Red Flags
- {messaging risks}
## Sources
- {key sources}Wave 1: Competitive Alternatives & Customer Context
Read research-principles.md first.
---
Agent A1: Alternative Mapping (JTBD Lens)
Research task: Map ALL competitive alternatives for {product description}
Context: {product summary from intake}
Known competitors: {list from intake, if any}
IMPORTANT — JTBD FRAMING:
Start with the job, not the product. Ask: "What job is the customer hiring
a solution for?" Alternatives are EVERYTHING that competes for this job:
direct competitors, adjacent tools, manual processes, spreadsheets, hiring
someone, agencies, internal tools, doing nothing / accepting the status quo.
Think from the customer's perspective, not the product's perspective.
RESEARCH PROTOCOL:
ROUND 1 — Direct competitors in the category (4-5 searches):
- "{product category} software/tool {current year}"
- "best {product category} tools {current year}"
- "{known competitor} vs alternatives"
- "G2 {product category} comparison"
- "{product category} review roundup {current year}"
ROUND 2 — Adjacent and indirect alternatives (4-5 searches):
- "how do people solve {problem} without {product category}"
- "{problem} workaround"
- "alternative to {product category}"
- "{problem} spreadsheet template" OR "{problem} manual process"
- "{customer type} {problem} workflow"
ROUND 3 — Non-consumption (2-3 searches):
- "why don't {customer type} use {product category}"
- "{problem} not worth solving" OR "{problem} low priority"
- "{customer type} ignore {problem}" OR "{problem} status quo"
Identify: who faces this problem but does nothing? Why? What would trigger
them to act?
ROUND 4 — Cross-reference and validate (2-3 searches):
- "{competitor} switched from" OR "migrated from {competitor}"
- "replaced {competitor} with"
- "{product category} switching stories reddit"
Check review sites for "switched from" and "previously used" stories.
For EACH alternative, capture:
### {Alternative Name}
- **Type:** Direct competitor / Adjacent tool / Manual process / Status quo / Agency-outsource
- **Hired for:** {specific job — same job or adjacent job?}
- **Strengths:** {why customers choose it}
- {strength 1}
- {strength 2}
- **Limitations:** {where it falls short}
- {limitation 1}
- {limitation 2}
- **Best for:** {customer profile}
- **Switching triggers:** {what makes customers leave this for something else}
- **Switching costs:** Technical: H/M/L | Contractual: H/M/L | Emotional: H/M/L
---
After all alternatives:
# Alternative Mapping: {product/market}
*Generated: {date}*
## The Job to Be Done
{1-2 paragraphs describing the core job customers are hiring for, in customer language}
## Direct Competitors
### {Competitor Name}
- **Type:** Direct competitor
- **Hired for:** {specific job}
- **Strengths:** {bulleted}
- **Limitations:** {bulleted}
- **Best for:** {customer profile}
- **Switching triggers:** {what makes people leave}
- **Switching costs:** Technical: H/M/L | Contractual: H/M/L | Emotional: H/M/L
[Repeat for each direct competitor]
## Adjacent Alternatives
[Same structure for adjacent tools]
## Manual / Status Quo Alternatives
[Same structure for manual processes, spreadsheets, doing nothing]
## Alternative Landscape Summary
| Alternative | Type | Job Match | Key Strength | Key Limitation |
|---|---|---|---|---|
| ... | ... | ... | ... | ... |
## Key Insights
- {insight about the competitive alternative landscape}
- {insight about gaps or opportunities}
## Data Gaps
- [What you couldn't find and why it matters]
Save to: {project-name}/raw/alternative-mapping.md---
Agent A2: Customer Intelligence
Research task: Map the voice of the customer for {product description}
Context: {product summary from intake}
Category: {product category}
Top competitors: {list from intake, if any}
RESEARCH PROTOCOL:
ROUND 1 — Review sites (4-5 searches):
- "G2 {product category} reviews"
- "Capterra {product category} reviews"
- "TrustRadius {product category}"
- "{top competitor 1} reviews {current year}"
- "{top competitor 2} reviews {current year}"
Focus on: what customers praise, what they complain about, exact language
they use to describe the problem and desired outcomes.
ROUND 2 — Community mining (4-5 searches):
- "what do you use for {problem} reddit"
- "{competitor} frustrations reddit"
- "switching from {competitor} reddit"
- "{problem} {customer type} Hacker News"
- "{product category} recommendations indie hackers" OR "quora {problem}"
Capture verbatim language — exact words matter for positioning.
ROUND 3 — Switching stories (3-4 searches):
- "migrated from {competitor 1} to {competitor 2}"
- "{product category} comparison {current year}"
- "why I switched from {competitor}" blog OR reddit
- "{competitor} vs {competitor} experience"
Focus on: what triggered the search, what sealed the decision, what
surprised them after switching.
ROUND 4 — Best-fit customer patterns (2-3 searches):
- "{competitor} case study"
- "{product category} power users"
- "{competitor} testimonial"
- "{product category} ROI" OR "{product category} results"
Look for: who gets the most value, what characteristics predict high
satisfaction, who pays willingly without negotiation.
Capture the following:
LANGUAGE MAP — exact words and phrases customers use to describe:
- The problem they're solving
- What they want (desired outcomes)
- How they evaluate alternatives
- What "better" means to them
PAIN HIERARCHY — ranked by frequency AND severity:
- Pain point
- Frequency (Common / Occasional / Rare)
- Severity (Deal-breaker / Frustrating / Annoying)
- Verbatim quote from a real source
JOBS TO BE DONE:
- Functional jobs (tasks they need to accomplish)
- Social jobs (how they want to be perceived)
- Emotional jobs (how they want to feel)
BEST-FIT CUSTOMER PROFILE:
- What characteristics predict high satisfaction?
- Who gets value fastest?
- Who pays willingly without price negotiation?
- Who becomes a champion/referrer?
SWITCHING TRIGGERS:
- What events trigger a search for alternatives?
- What makes someone finally switch?
- What objections prevent switching?
---
Output format:
# Customer Intelligence: {product/market}
*Generated: {date}*
## Language Map
### How customers describe the problem
- "{verbatim}" — {source}
- "{verbatim}" — {source}
### What "better" means to them
- "{verbatim}" — {source}
### Words they use to evaluate
- "{verbatim}" — {source}
## Pain Hierarchy
| Pain Point | Frequency | Severity | Example Quote |
|---|---|---|---|
| ... | Common/Occasional/Rare | Deal-breaker/Frustrating/Annoying | "..." |
## Jobs to Be Done
### Functional Jobs
- {job description}
### Social Jobs
- {job description}
### Emotional Jobs
- {job description}
## Best-Fit Customer Profile
{Description of characteristics that predict high satisfaction and fast value realization}
## Switching Triggers
### What triggers a search
- {trigger}
### What triggers the actual switch
- {trigger}
### What prevents switching
- {barrier}
## Key Insights for Positioning
- {positioning-relevant insight from customer data}
## Data Gaps
- [What you couldn't find and why it matters]
Save to: {project-name}/raw/customer-intelligence.mdWave 2: Market Frame & Trends
Read research-principles.md first.
---
Agent B1: Market Category Analysis
Research task: Identify and evaluate candidate market categories for {product description}
Context: {product summary from intake}
Competitive alternatives: {summary from Wave 1 alternative mapping}
Customer intelligence: {summary from Wave 1 customer intelligence}
GOAL:
Identify 3-5 candidate market categories the product could position into.
The right category triggers the right buyer expectations — it is the frame
of reference that tells buyers what to compare you to and what to expect.
THREE CATEGORY OPTIONS (from Dunford):
- Head-to-head (existing category): You're a better version of something
buyers already know (e.g., "CRM" or "project management"). Buyers have
established expectations. Win by being clearly better on dimensions that
matter.
- Big fish/small pond (subcategory): Take an existing category and add a
qualifier that makes you the leader of a narrower space (e.g., "CRM for
real estate agents", "AI-powered recruiting platform"). Best when existing
categories don't highlight your unique strength.
- Category creation: Define an entirely new category. Rare, expensive, and
risky — but powerful when nothing else frames your value well. Only
recommend if the evidence is overwhelming.
RESEARCH PROTOCOL:
ROUND 1 — How competitors frame themselves (4-5 searches):
- "{competitor 1} tagline" OR "{competitor 1} about page"
- "{competitor 2} LinkedIn description"
- "G2 {product category} category"
- "Capterra {product category} software directory"
- "{competitor} meta description site:{competitor domain}"
Capture: self-described categories, taglines, how they explain what they are.
ROUND 2 — How analysts define the space (3-4 searches):
- "Gartner {product category} market guide {current year}"
- "Forrester {product category} wave {current year}"
- "{product category} market map {current year}"
- "{product category} buyer guide {current year}"
Capture: analyst-defined categories, segment names, market boundaries.
ROUND 3 — How buyers search for solutions (3-4 searches):
- "how to choose a {product category}"
- "best {product category} for {customer type} {current year}"
- "{problem} software buyer guide"
- "what is {product category}" OR "{category term} vs {category term}"
Capture: category terms buyers use, search phrasing, buyer expectations.
ROUND 4 — Category dynamics (3-4 searches):
- "{product category} market size {current year}"
- "{product category} market growth" OR "{product category} trends"
- "{product category} consolidation" OR "{product category} fragmentation"
- "new {product category} startups {current year}"
Capture: growth trajectory, competitive density, room for new entrants.
For EACH candidate category, capture:
### {Category Name}
- **Type:** Existing / Subcategory / New
- **Buyer expectations:** {what buyers assume a product in this category includes}
- **Current leaders:** {who owns this category in buyers' minds}
- **Competitive density:** Low / Medium / High — {count of notable players}
- **Growth trajectory:** Growing / Stable / Declining — {evidence}
- **Pros:** {what expectations work in your favor}
- **Cons:** {what expectations work against you, table stakes you lack}
- **Dunford fit:** Does this frame make your unique strengths OBVIOUS? {yes/no + reasoning}
---
Output format:
# Market Category Analysis: {product}
*Generated: {date}*
## How Competitors Frame Themselves
| Competitor | Self-Described Category | Tagline | G2/Capterra Category |
|---|---|---|---|
| ... | ... | ... | ... |
## Candidate Categories
### Category 1: {name}
- **Type:** Existing / Subcategory / New
- **Buyer expectations:** {what buyers assume this category includes}
- **Current leaders:** {who dominates}
- **Competitive density:** Low / Medium / High — {count of notable players}
- **Growth:** Growing / Stable / Declining — {evidence}
- **Pros:** {what works in your favor}
- **Cons:** {what works against you, table stakes you lack}
- **Dunford fit:** Does this frame make your unique value obvious? {yes/no + reasoning}
[Repeat for 3-5 candidates]
## Category Comparison
| Category | Type | Leaders | Density | Your Fit | Risk |
|---|---|---|---|---|---|
| ... | ... | ... | ... | Strong/Moderate/Weak | H/M/L |
## Recommendation
{Which category and why. If subcategory: what qualifier? If none fits well: explain why and whether category creation is warranted.}
## Data Gaps
- {what couldn't be found, how to fill it}
Save to: {project-name}/raw/market-categories.md---
Agent B2: Trend & Timing Analysis
Research task: Identify market trends and timing signals for {product description}
Context: {product summary from intake}
Category candidates: {from Agent B1 or best-guess category from intake}
Customer intelligence: {summary from Wave 1 customer intelligence}
GOAL:
Identify market trends that could strengthen (or weaken) the product's
positioning, and assess whether the timing is right.
KEY PRINCIPLE:
Only include trends that genuinely change how buyers evaluate solutions.
"AI is hot" is not useful. "Buyers now expect AI-powered automation in
[category], and 60% of RFPs require it" is useful. Every trend must connect
to a concrete positioning implication.
RESEARCH PROTOCOL:
ROUND 1 — Industry trend reports (4-5 searches):
- "{product category} trends {current year}"
- "{industry} market outlook {current year}"
- "{product category} predictions {current year}"
- "Gartner top trends {industry} {current year}"
- "{product category} state of the market {current year}"
ROUND 2 — Technology adoption signals (3-4 searches):
- "{relevant technology} adoption rate {current year}"
- "Gartner Hype Cycle {industry} {current year}"
- "{relevant technology} enterprise adoption"
- "{product category} AI adoption" OR "{product category} automation trends"
Focus on: where the relevant technology sits on the adoption curve — is it
mainstream, early majority, or bleeding edge?
ROUND 3 — Behavioral and regulatory shifts (3-4 searches):
- "{customer type} buying behavior changes {current year}"
- "{industry} new regulations {current year}"
- "{industry} compliance requirements {current year}"
- "{customer type} generational shift" OR "{customer type} workflow changes"
Focus on: changes in how buyers work, buy, or comply that affect what they
need from solutions.
ROUND 4 — Timing signals (3-4 searches):
- "{product category} early adopter success stories"
- "{product category} failed startups" OR "{product category} too early"
- "{product category} market readiness"
- "{similar product} traction {current year}"
Focus on: is the market ready NOW? Are there predecessors that failed on
timing? Are early adopters already seeing results?
For EACH trend, capture:
### {Trend Name}
- **Type:** Technology / Behavioral / Regulatory / Economic
- **Evidence:** {what data supports this — cite sources}
- **Strength:** Strong / Emerging / Speculative
- **Direction for positioning:** Tailwind (helps) / Headwind (hurts) / Neutral
- **Timing:** Early / On-time / Late
- **Positioning implication:** {how this should affect positioning}
---
Output format:
# Trend & Timing Analysis: {product/market}
*Generated: {date}*
## Relevant Trends
### Trend 1: {name}
- **Type:** Technology / Behavioral / Regulatory / Economic
- **Evidence:** {what data supports this — cite sources}
- **Strength:** Strong / Emerging / Speculative
- **Direction for positioning:** Tailwind (helps) / Headwind (hurts) / Neutral
- **Timing:** Early / On-time / Late
- **Positioning implication:** {how this should affect positioning}
[Repeat for each relevant trend]
## Timing Assessment
{Overall assessment: Is NOW the right time for this positioning? What's the 12-18 month trajectory?}
## Trend Overlay Recommendation
{Which trend(s), if any, should be referenced in the positioning? Only recommend trends that genuinely amplify the value proposition. "None" is a valid answer — forced trend alignment weakens positioning.}
## Data Gaps
- {what couldn't be found}
Save to: {project-name}/raw/trends-timing.mdVerification Agent Protocol
After synthesis completes, spawn a Verification Agent (V1) that audits all deliverables for consistency, accuracy, and completeness. This step catches issues that individual agents and synthesis can miss.
When to Run
- After all positioning deliverables are written
- Before presenting the final output to the user
- Uses one agent: V1: Verification
Agent Task
The V1 agent reads ALL deliverable files (not raw files) and checks them against the rules below. It produces a verification-report.md in the project directory.
Universal Checks
These apply to every skill in the startup plugin:
1. Claims Without Source
Every quantitative claim must have a data label: [Data], [Estimate], [Assumption], or [Opinion]. Flag any number, percentage, or factual assertion without a label.
2. Internal Contradictions
Cross-check numbers and statements across deliverable files. Flag when:
- The same metric appears with different values in two files
- A claim in one file contradicts a claim in another
- Confidence ratings disagree (e.g., "High confidence" in one file, different data in another suggests Medium)
3. Confidence Rating Consistency
Verify that confidence ratings match the evidence:
- A claim with only one Tier 3 source cannot be rated High
- A claim with multiple Tier 1 sources should not be rated Low
- Every major section must have a confidence rating
4. Data Gaps Declared
Every deliverable must have a Data Gaps section. Flag:
- Files missing the Data Gaps section entirely
- Sections where data is clearly thin but no gap is declared
- Gaps mentioned in raw files that didn't make it into the synthesized deliverables
5. Flags Present
Every deliverable must end with Red Flags and Yellow Flags sections. Flag:
- Files missing these sections
- Files with "No flags identified" where the content clearly contains risks
6. Stale Data
Flag any data point older than 18 months that isn't marked as potentially outdated.
7. Duplicate Sources
Flag when the same source is used as "independent corroboration" in multiple places. Two claims both citing the same blog post don't have independent verification.
Skill-Specific Checks: startup-positioning
In addition to the universal checks above, verify:
Positioning Statement vs. Research
- The Moore positioning statement must use the exact best-fit customer profile from
positioning-doc.mdComponent 4 - The category in the statement must match the recommended category from
market-category-analysis.md - The differentiator must map to a verified unique attribute from Component 2
- The Neumeier Onliness Statement must pass: does "only" genuinely hold up given the competitive alternatives in
competitive-alternatives.md?
JTBD vs. Customer Intelligence
- Jobs-to-be-done referenced in the positioning must have evidence in
competitive-alternatives.md - Best-fit customer characteristics must connect to actual pain points from customer intelligence research
- Value themes must trace back to real customer language from the language map
Cross-Deliverable Coherence
- The messaging hierarchy in
messaging-implications.mdmust reflect the positioning priority frompositioning-doc.md - Category label must be consistent across all deliverables
- Words to use/avoid must not contradict the language used in positioning statements
- Freemium positioning (if present) must be consistent across
positioning-statement.mdandmessaging-implications.md
Validation Test Results
- If Neumeier Onliness Test is marked "Pass" but the basic statement contains qualifiers or hedging, flag it
- If Moore Template is marked "Pass" but any field is vague or generic, flag it
- If Mental Ladder test is marked "Pass" but the position requires more than 10 words to state, flag it
Output: verification-report.md
# Verification Report: {project-name}
*Generated: {date}*
## Summary
- **Critical issues:** {count}
- **Warnings:** {count}
- **Info:** {count}
## Critical Issues
Issues that could mislead decision-making. The process pauses here for user review.
### {Issue title}
- **File(s):** {affected files}
- **Section:** {section name}
- **Problem:** {description}
- **Suggested fix:** {how to resolve}
## Warnings
Issues that reduce quality but don't block decisions.
### {Issue title}
- **File(s):** {affected files}
- **Problem:** {description}
- **Suggested fix:** {how to resolve}
## Info
Minor improvements and observations.
- {observation}
- {observation}
## Verification Checklist
- [ ] All quantitative claims labeled
- [ ] No internal contradictions found
- [ ] Confidence ratings consistent with evidence
- [ ] Data gaps declared in all deliverables
- [ ] Red/Yellow flags present in all deliverables
- [ ] No stale data unmarked
- [ ] No duplicate-source false corroboration
- [ ] Positioning statements match research data (skill-specific)
- [ ] JTBD consistent with customer intelligence (skill-specific)
- [ ] Cross-deliverable coherence verified (skill-specific)
- [ ] Validation tests genuinely pass (skill-specific)Flow Control
- If Critical issues > 0: Pause. Show the user: "Verification found {N} critical issues that could affect decision-making." List them. Ask: "Should I fix these before continuing, or proceed as-is?"
- If only Warnings/Info: Show a one-line summary: "Verification complete: {N} warnings, {N} info items. See
verification-report.mdfor details." Continue.
Related skills
How it compares
Pick startup-positioning over startup-competitors when the goal is category and messaging framing—not battle cards and pricing reverse-engineering alone.
FAQ
Which frameworks does startup-positioning combine?
startup-positioning combines April Dunford's positioning methodology with JTBD discovery, Moore positioning statements, and Neumeier's Onliness Test. It outputs Dunford 5+1 positioning docs plus alternatives maps and category analysis.
How many research agents does startup-positioning use?
startup-positioning runs 2 sequential research waves with 4 parallel research agents. Waves map competitive alternatives and market categories before synthesis into positioning documents and messaging implications.