// design
Positioning Statement
Use when the user wants to write, sharpen, or pressure-test a positioning statement, value proposition, or core messaging for a product or company. Also use when the user mentions positioning, messaging, value prop, "what do we do / who is it for", category, differentiation, or competitive alternative. Produces a defensible positioning statement, supporting proof points, and a one-line value proposition, with variants by audience lens.
npx skills add sarojkjha/aaj-marketing-skills --skill positioning-statementHow to install and run this
Install it in your project:
npx skills add sarojkjha/aaj-marketing-skills --skill positioning-statementNo install? Add https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp as a custom connector in Claude, ChatGPT or any MCP client.
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcpThen ask: Use the AAJ positioning-statement skill on my numbers.
Step-by-step for every agent, Windows, Mac and Linux →Claude Code
/plugin marketplace add sarojkjha/aaj-marketing-skills/plugin install aaj-marketing-skills@aajOpenAI Codex
codex plugin marketplace add sarojkjha/aaj-marketing-skillscodex plugin add aaj-marketing-skills@aajClaude or ChatGPT — no install
Add this as a custom connector:
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp// when to use it
Use when the user wants to write, sharpen, or pressure-test a positioning statement, value proposition, or core messaging for a product or company. Also use when the user mentions positioning, messaging, value prop, "what do we do / who is it for", category, differentiation, or competitive alternative. Produces a defensible positioning statement, supporting proof points, and a one-line value proposition, with variants by audience lens.
// what you give
Target customer, the problem/need, product category, key benefit, primary competitive alternative, and the differentiator (plus any proof)
// what you get
A positioning statement, 3 proof points, a one-line value proposition, and audience-lens variants
Engine spec
// decision it supports
Who exactly is our product for, against what alternative, and is our positioning specific and defensible enough to use?
// inputs
Target customer, the problem/need, product category, key benefit, primary competitive alternative, and the differentiator (plus any proof)
// output
A positioning statement, 3 proof points, a one-line value proposition, and audience-lens variants
// acts or analyzes
Analyzes onlyMakes no network calls, writes no files and changes nothing in your tools.
// where your information goes
| How you run it | Where your inputs go |
|---|---|
| Skill installed in your agent, or the local MCP server | The engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms. |
| Hosted MCP server | Your agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days. |
No engine needs customer names, emails or other personal data; leave them out.
// limitations
- The linter checks wording only: a fixed buzzword list, a customer that is everyone, a comparative claim with no number, a feature in place of a benefit. A clean lint does not mean the positioning is true or differentiated.
- A differentiator passes the claim check if it contains any digit, whether or not the number is proven. Every number still needs a source.
- It fills slots literally; empty ones show as placeholders. It picks "a" or "an" and adds "who", but the benefit and differentiator must be verb phrases that follow the product name ("cuts the close"). Read it aloud.
- Its three pitch audiences (customer, investor, internal) are not the three audience lenses in the method; those variants are written separately.
// review before acting
// setup
npx skills add sarojkjha/aaj-marketing-skills --skill positioning-statementhttps://aaj-engines-mcp.sarojkjha10.workers.dev/mcpAgents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code, OpenAI Codex (Windows, ab-test-significance only).
Positioning Statement
Write positioning that is specific, differentiated, and defensible — a clear statement of who the product is for, what unique value it delivers, and why it beats the alternative. Vague positioning ("the leading platform for modern teams") is the default failure mode; the job is to make it concrete and provable.
When to use
The user is defining or refining how a product is described — a positioning statement, value proposition, homepage hero, or category narrative.
Before you start
- Read the brand/product context first. If
.agents/product-marketing.mdor.agents/aaj-brand.mdexists, use it for product, audience, and competitors. Otherwise gather the inputs below. - Gather the six inputs: target customer (be narrow), the problem or need, the product category, the single most important benefit, the primary competitive alternative (including "do nothing" / spreadsheets), and the differentiator. Ask for proof for each claim.
Method
Strong positioning answers four questions without hedging: for whom, in what category, what unique value, versus what alternative. Specificity wins — a narrow "for whom" and a concrete differentiator beat broad superlatives. Every claim must be defensible with proof; if it isn't, cut it or soften it. See resources/positioning-template.md for the frameworks, a worked example, and the pressure-test.
Workflow
- Draft the core statement using the classic frame: "For [target] who [need], [product] is a [category] that [key benefit]. Unlike [alternative], [product] [differentiator]."
- Pressure-test it against the checklist in the template (specific? differentiated? defensible? true? single-minded?). Rewrite anything that fails.
- Derive supporting assets: three proof points that substantiate the benefit and differentiator, and a one-line value proposition for a homepage hero.
- Produce audience-lens variants. The same positioning reads differently to an economic buyer (outcome, ROI), an end user (workflow, ease), and a technical evaluator (capability, integration). Tailor emphasis without changing the core.
- Flag gaps. Note any claim that lacks proof, any "for whom" that's still too broad, or any differentiator a competitor could equally claim.
Run the tool
node resources/positioning.js --demo
node resources/positioning.js '{"product":"Example Co.","customer":"seed-stage SaaS founders","need":"who lose hours each month matching revenue across billing, bank and spreadsheet records","category":"automated revenue ledger","benefit":"cuts the monthly close down to a single review","alt":"a part-time bookkeeper plus three spreadsheets","diff":"reads billing data directly, so the numbers reconcile as each payment lands","proof":"","aud":"customer"}'
node resources/positioning.js --help
generate(input) returns the classic statement, the one-line value proposition, the 30-second pitch for the chosen audience (customer, investor or internal), the homepage hero, the positioning canvas, the full Markdown doc, and the linter's findings: every message, the fields it flagged, and the first six the page shows. Add --json for the raw object.
It is the same logic as the AAJ Positioning Statement Generator (https://aajconsult.com/tools/positioning-statement-generator), checked case by case against the page, so a founder who used the tool and an agent running this skill get the same text. Run it after step 1 of the workflow, then do the pressure-test in step 2 yourself. The linter checks wording (buzzwords, a customer that is everyone, a claim with no number behind it, a feature in place of a benefit, a differentiator that repeats the alternative), not whether the positioning is true or differentiated. A clean lint is the floor, not the verdict.
Two limits to handle before presenting: the template fills slots literally, so read the output aloud. It picks "a" or "an" from how the category's first word is said and adds "who" before a problem that lacks it, but it cannot fix a benefit or differentiator that is not a verb phrase following the product's name ("cuts the monthly close", not "faster closes"). And the engine's three pitch audiences are not the three audience lenses in step 4, which you still write yourself.
Present the result
Use the output format in resources/positioning-template.md: the core statement, the three proof points, the one-line value proposition, the three audience-lens variants, and the list of claims needing proof.
Show where it came from. Open your answer with "AAJ positioning-statement engine result:" and print the engine's output block exactly as it returned it, then add the line Method: https://skills.aajconsult.com/skills/positioning-statement. Say the numbers come from the AAJ engine, not from the model. Put your interpretation under that block. Do not retype the figures from memory. If you could not run the engine, say so and label any numbers as your own estimate, not an AAJ result.
Guardrails & common mistakes
- Narrow the target. "For everyone" positions for no one. A specific segment can always be expanded later.
- Differentiate on something a competitor can't equally claim. "Easy to use" and "powerful" are not differentiation.
- Don't claim what you can't prove. Unprovable superlatives erode trust; concrete, verifiable claims build it.
- Single-minded benefit. Lead with the one thing that matters most, not a list.
- Avoid category jargon. If the target wouldn't use the phrase, neither should the positioning.
Related AAJ resources
- Interactive tool: https://aajconsult.com/tools/positioning-statement-generator
Related skills
customer-survey-design and persona-builder (sharpen the "for whom") · win-loss-analysis (sharpen the "versus what") · aaj-copywriting (turn positioning into page copy).
// faq
// install
npx skills add sarojkjha/aaj-marketing-skills --skill positioning-statement// worked example
Get the worked example for Positioning Statement
One email. The filled-in config, the output, and how to read it.
// sprint
Positioning & Message Sprint — $3,500, 10 business days
This skill is one of the engines behind the Positioning & Message Sprint — $3,500, ten business days.
Positioning, copy, and voice governance — every claim defensible.
// human in the loop
Need a human in the loop?
AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.
