Agent skill
positioning-canvas
Turn a vague product story into a written positioning decision for B2B SaaS: the buyer, the alternative you replace, the one claim you defend, the claims you refuse, and the evidence under each.
Filed under Positioning and messaging.
From vcxcvii/pipeline-skills · 10 skill entries · 0 · pushed 2026-09-25
What it does when it runs
Turn a vague product story into a written positioning decision for B2B SaaS: the buyer, the alternative you replace, the one claim you defend, the claims you refuse, and the evidence under each. Use when the user says buyers cannot tell them apart, their homepage sounds like everyone else, every team tells a different story, or they are rewriting messaging before a launch or raise.
Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/vcxcvii/pipeline-skills.git /tmp/pipeline-skills git -C /tmp/pipeline-skills sparse-checkout set "skills/positioning-canvas" mkdir -p ~/.claude/skills/positioning-canvas cp -R "/tmp/pipeline-skills/skills/positioning-canvas/." ~/.claude/skills/positioning-canvas/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 10 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add vcxcvii/pipeline-skills /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from vcxcvii/pipeline-skills/blob/d284df833e7dd2f21ff15384461ea6fcd3f454c4/skills/positioning-canvas/SKILL.md, which is licensed MIT (repository). 555 words, 12 headings.
Positioning Canvas (B2B SaaS)
Positioning fails as a wording problem and succeeds as a decision problem. The output of this skill is a set of decisions someone can disagree with, not a paragraph of adjectives.
Setup
Ask for, in this order, and stop at the first two if that is all they have:
- The product URL
- Two recent won deals and two recent lost deals, in one line each
- What the buyer was doing before they bought (the real alternative, including spreadsheets and doing nothing)
If they offer a competitor list instead of buyer language, take it, but say plainly that competitor lists produce competitor-shaped positioning.
Build the canvas
1. The buyer, narrowed until it hurts
Not "B2B SaaS companies". Name the role, the company shape, and the trigger that makes this urgent now. Write the sentence: "This is for X, at Y, when Z just happened." If Z is missing, the positioning has no urgency and every campaign will have to manufacture it.
2. The alternative you actually replace
Every purchase displaces something: a tool, a contractor, a spreadsheet, or inaction. Name it. Positioning that does not name the alternative cannot explain why switching is worth the cost.
3. The one claim you will defend
One sentence. It must be falsifiable, and a competitor must be unable to copy it onto their homepage without lying. Test it: if you swap in the three closest competitor names and the sentence still reads true, it is not positioning, it is category description. Rewrite until it fails that swap.
4. The claims you refuse
Three claims that are true of the category and that this company will not make, because everyone makes them. This section is what makes the canvas usable: it tells writers what to cut.
5. Evidence under each claim
For every claim, name the proof: a number, a customer, a demo moment, a published method. A claim with no evidence line is a hypothesis. Mark it as one.
6. The words the buyer uses
Pull five phrases from the won and lost deals verbatim. These are the words the homepage should use. Flag any internal term that never appeared in a buyer's mouth.
Output
A single markdown canvas with the six sections above, then:
- One-liner: the sentence a champion repeats internally when you are not in the room.
- Homepage hero draft: headline, subhead, primary action.
- What to change first: the one surface where the current story is costing the most money, and why.
- Open questions: what evidence would change these decisions.
Rules
- Never invent a customer quote, a number, or a case study. If the evidence is missing, write "no evidence yet" and treat the claim as unproven.
- Prefer a narrower claim that is provable over a broad claim that is impressive.
- No em-dashes, no "leverage", no "unlock", no "seamless".
- If the user's product genuinely does the same job as its competitors, say so and shift the work to proof, price, or service. Fake differentiation loses deals later, in the room, without you.
Related skills
icp-sharpener-b2b before this if the buyer is fuzzy. landing-page-teardown
after, to apply the canvas to the page. sales-one-pager to carry the same
claim into the deal.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- positioning-basics by BrianRWagner · 440
- positioning-and-story by AIDevGTM · 310
- crafting-positioning by GTM-Strategist · 260
- competitive-positioning by louisblythe · 170
- brand-messaging-and-positioning by manojbajaj95 · 104
- positioning-icp by chadboyda · 79
- positioning-map by pmalliance · 73
- portfolio-positioning by realjaymes · 64
Need help setting it up?
This page tells you what positioning-canvas does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.