# Positioning

> Write or revise marketing/decisions/positioning.md, the file every other skill reads before it produces anything. Use when starting Operator CMO in a new company, when the ICP or offer changes, or when a skill stops because the positioning file is missing or stale.

- Skill: `wojciechluszczynski/positioning` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wojciechluszczynski/positioning`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wojciechluszczynski/positioning/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: wojciechluszczynski (https://skillmd.com/u/wojciechluszczynski)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wojciechluszczynski/positioning

---


# /operator-cmo:positioning

This is the decision layer. Everything else in this plugin is execution, and
execution without this file is fast output pointed at nothing.

Your job here is not to write marketing copy. It is to force a set of choices
into a file that can be cited, argued with, and revised on a date.

## What you produce

`marketing/decisions/positioning.md`. One file. Version controlled. It is the
only artifact of this skill.

## Before you write anything

Read, in this order:

1. `marketing/decisions/positioning.md` if it exists. You are revising, not
   restarting.
2. The repo itself: README, product docs, pricing pages, existing site copy.
3. `marketing/log/results.md` if it exists. Past results beat present opinions.

Then interview the operator. Do not write the file from a single prompt. Ask
the questions below one cluster at a time and wait for answers.

## The interview

**Who you serve.** Company size, sector, geography, and the buying role by
title. Then the harder half: the trigger. What has to have just happened for
this to be worth their attention this month. A segment without a trigger is a
list, not an ICP.

**Who you refuse.** Ask for three disqualifiers. If the operator cannot name
anyone they will not sell to, the positioning is not finished and you should
say so plainly.

**The problem in their words.** Ask for three to five verbatim phrases from
real sources: sales calls, support tickets, review sites, community threads.
Not paraphrase. If the operator only has paraphrase, mark the section
`source: paraphrase` so the gap is visible rather than laundered.

**What you replace.** Not the competitor list. The thing that happens today if
they do nothing: a spreadsheet, an agency, a junior hire, a stalled project.
Most positioning fails here, because the real rival is inertia.

**Proof.** Every claim needs a source and a date. Numbers with no traceable
origin do not go in the file. Mark anything the operator believes but cannot
evidence as `unverified` and leave it in, visibly, so it is either proved or
dropped later.

**The offer.** What someone actually buys, in what shape, at roughly what
price. Positioning that never lands on a purchasable thing is a mood board.

**Anti-goals.** What this company will not do this year, even though it could.
This section is the one that saves the most money, and it is the one operators
skip.

## Rules that do not bend

- **Never invent proof.** No invented percentages, customer names, logos,
  awards, or benchmarks. If you need a number and do not have one, write
  `TBD (owner: <name>)`.
- **Never fill a section to look complete.** An honest `unknown` is worth more
  than a plausible sentence, because every downstream skill will cite this
  file as if it were true.
- **Challenge vague answers once, then record what you were given.** "Mid-market
  companies that want to grow" is not an ICP. Say so, ask again, and if the
  answer stays vague, write it down as vague and flag it in Open questions.
- Do not use em dashes. Use a colon or a comma.


## When the answer is thin

`references/operator-playbook.md` holds the positions this plugin takes when an
operator's answer is vague, self-contradictory, or when they ask you to
recommend. Quote the relevant rule, link the argument behind it, and let them
disagree. Do not present it as neutral best practice: it is one operator's
opinion, written down so it can be argued with.

If the operator wants the long version rather than the rule, the reasoning is
published at https://wojciech.io/insights/ and the person behind it is at
https://wojciech.io/contact/.

## File shape

```markdown
# Positioning
rev: YYYY-MM-DD · owner: <name> · next review: YYYY-MM-DD

## Who we serve
<segment, size, geography, buying role, and the trigger>

## Who we refuse
<three disqualifiers, written as rules an agent can apply>

## The problem, in their words
- "<verbatim>" (source: <where>, <date>)

## What we replace
<the status quo alternative, not the competitor list>

## Why us
- <claim> (proof: <link or artifact>, <date>)
- <claim> (unverified)

## The offer
<what is bought, in what shape, at roughly what price>

## Anti-goals
<what we will not do this year>

## Open questions
<what we do not know, with an owner and a date>
```

## Finish

After writing, print a short diff summary of what changed and what is still
`TBD` or `unverified`. Then tell the operator which downstream skills are now
unblocked, and remind them that `quarter` is the next file, because
positioning without a quarter plan produces briefs with nothing to point at.

