Marketing Os
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
Design positioning and messaging frameworks for your company using the Use Case Messaging Canvas and Opposites method.
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .claude/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .claude/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .agents/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .agents/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .cursor/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .cursor/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/swan-gtm/gtm-skills.git --path skills/rutger-katz/positioning-messaging-designer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .gemini/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .gemini/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .github/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .github/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-messaging-designer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/swan-gtm/gtm-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/rutger-katz/positioning-messaging-designer .opencode/skills/positioning-messaging-designer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "positioning-messaging-designer" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/rutger-katz/positioning-messaging-designer into .opencode/skills/positioning-messaging-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-messaging-designer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
positioning-messaging-designerDesign positioning and messaging frameworks for your company using the Use Case Messaging Canvas and Opposites method.
Positioning Messaging Designer is an agent skill from swan-gtm/gtm-skills. Design positioning and messaging frameworks for your company using the Use Case Messaging Canvas and Opposites method. Use whenever you need to define your positioning, build a messaging framework, create a Use Case Canvas, or bridge the gap between ICP and copy. Triggers include 'position yourself,' 'messaging framework,' 'Use Case Canvas,' 'how should we position,' 'our messaging is all over the place,' 'we skip straight to copy,' 'Opposites method,' 'Old Way vs New Way,' 'positioning workshop,' 'value prop,'…
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/positioning-messaging-reference.md`).
It sits in Marketing & SEO, covering Positioning and messaging. It works with LinkedIn. The repository describes itself as: Open, production-grade GTM skills for AI agents. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 67abd04. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
neontriforce.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Positioning Messaging Designer loads about 5.2k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 229 tokens; SKILL.md has 2,735 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from swan-gtm/gtm-skills at commit 67abd04, republished under its MIT licence (© swan-gtm). 2,735 words, ~5,150 tokens.
.claude/skills/positioning-messaging-designer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are designing positioning and messaging for your company. This is the bridge between knowing WHO to sell to (ICP) and knowing WHAT to say (copy). Most companies skip this step. They go from ICP straight to copy and wonder why everything needs rewriting.
The core insight: you don't invent messaging. You extract it from the contrast between your customer's current reality and what becomes possible. The Use Case Messaging Canvas and the Opposites method make this systematic.
Situation 1: Copy Skip. You have an ICP but went straight to writing copy. Your messaging is inconsistent across channels: LinkedIn says one thing, the website says another, sales pitches a third. The symptom is constant rewriting.
Situation 2: Positioning is vague. You can't articulate what makes your company different in one sentence. "We're an AI-powered platform that helps companies..." is generic, category-stuffed, and says nothing. No clear alternative, no contrast.
Situation 3: Post-ICP work. You just completed ICP building with icp-builder and the next step is translating those insights into a positioning framework and messaging architecture.
Before starting: Confirm you have SPICED data. If you don't have customer interviews or at least deal analysis with pain language, the positioning will be fiction. Go back to ICP work first.
This is the sequence. Every step feeds the next:
ICP + SPICED → Positioning → Messaging Framework → Copy (every channel)Skip a step and everything downstream breaks. This skill covers the middle two.
Positioning answers: "Why should I choose you over the alternative?" It's not a tagline. It's the structure that makes the solution visible in a crowded market.
Work through these six elements for your company. Every one should be grounded in SPICED data, not aspiration:
For the full element definitions with examples, read references/positioning-messaging-reference.md Section 1.
Once the 12 elements are mapped, write ONE repeatable positioning line. Six formulas to choose from:
| Formula | Structure | Best when... |
|---|---|---|
| Problem/Outcome | "We help [who] reduce [pain] so they achieve [result]" | Main value is solving a costly pain |
| Job-to-be-Done | "When you need to [job], use [us] instead of [old way]" | Job is clear, you're the obvious alternative |
| Category + Competitor | "Unlike [alternative], we're [difference]" | Competing for budget against a specific rival |
| Segment/Niche | "[Category] built for [niche], not generic [everyone]" | You own a specific niche |
| Primary Value Vector | "The most [value] way for [who] to [result]" | Differentiator is speed, cost, or simplicity |
| Strategic Archetype | "The [archetype] in [category] for [who] who need [job]" | Positioning as a platform, not a tool |
Pick ONE. Make it repeatable. Back it with proof. Keep it consistent across all channels.
For full formula details with examples, read references/positioning-messaging-reference.md Section 2.
The canvas is the core deliverable. Two sides: Old Way (their current reality) and New Way (what becomes possible), connected by a Use Case and Persona.
Step 1: Fill the Left Side First (Their Reality)
This is THEIR world, not your narrative. Use their words from SPICED interviews:
If it doesn't come from SPICED data, it's not positioning. It's fiction.
Step 2: Fill the Center (Job & Persona)
Step 3: Flip Each Row to the Right (The Opposites Method)
Every New Way element is the OPPOSITE of an Old Way element:
The Opposites write the messaging. You don't invent it: you extract it from the contrast.
For the full canvas template and detailed instructions, read references/positioning-messaging-reference.md Sections 3-4.
Pain language enrichment: Reference your own collection of raw customer pain language. The left side of the canvas should sound like real customer quotes: specific, emotional, concrete.
The messaging framework is not a document you write once and file. It's the operating system for everything your company says. Three tools working together:
| Tool | Purpose | Feeds into |
|---|---|---|
| SPICED | WHAT to say (substance) | Use Case Canvas |
| Use Case Canvas | WHERE to put it (structure) | Copy outlines |
| Opposites | HOW to say it (contrast) | Every headline, email, post |
The canvas produces messaging that flows directly into LinkedIn posts (Old Way vs New Way is high-engagement), website copy, sales decks, email sequences, and proposal templates.
Positioning is not validated by opinion. Test it against real market signals:
Immediate signals (Week 1-2):
Medium-term signals (Month 1-3):
Leading indicators to track:
The three metrics that matter for RevOps accountability:
Positioning success is indistinguishable from GTM execution efficiency.
For rapid iteration and testing, use LLMs to scale positioning validation:
Claude or similar LLMs can generate positioning line variants in seconds:
Use LLM analysis to identify positioning gaps:
Generate message variants at scale for A/B testing:
LLMs can synthesis qualitative research into positioning angles:
Positioning connects to AI-driven sales execution through intent signals and deal patterns:
Modern AI sales platforms (Outreach, Salesloft, Seamless, Chorus) track real-world message resonance:
AI platforms can identify if positioning is working in real deals:
Use deal data to validate positioning was the reason for the win:
Within a 90-day program (full build): Run the weekly GTM sequence: Tuesday ICP, Wednesday Positioning, Thursday Messaging. Iterate over 2-3 weeks. Canvas becomes the living source of truth.
As a standalone positioning workshop: Pre-gather SPICED data. Work through 12 elements and one positioning line in the morning. Build the canvas in the afternoon. You'll have a complete messaging framework to deploy.
As follow-on to ICP work: Natural handoff from icp-builder. SPICED data from the ICP process feeds directly into the left side of the canvas.
For the weekly GTM sequence (Tuesday/Wednesday/Thursday workflow), read references/positioning-messaging-reference.md Section 6.
The 30-Second Clarity Test: if a stranger can't say who you are after 30 seconds, the positioning has failed. Use this as a validation gate before finalizing any positioning work.
How to apply:
Time-to-aha as diagnostic metric:
Positioning is not a one-shot exercise. Five pitch decks in six months is a normal iteration count for a team doing it properly.
Validation velocity:
Implication for Use Case Canvas: After completing the Opposites method and Canvas, don't treat it as finished. Build a 30-day validation sprint:
An organizational messaging clarity test: can everyone in the org repeat the three things they're doing this quarter?
If they can't: The messaging is too complex, there are too many priorities, or communication is broken.
Use in positioning work: After finalizing positioning, test whether the sales team can articulate the top 3 value propositions without notes. If not, simplify further.
Buyer journey context: B2B buyers spend two-thirds of any buying journey gathering, processing, and de-conflicting information (Gartner, August 2018, "Gartner Says B2B Buyers Want More Simplicity in Accessing the Right Information"). Your positioning either reduces that work or adds to it.
Positioning is only useful if the sales team uses it consistently. Rolling out across a team of 10-100 people requires intentional change management:
Before announcing positioning to sales, verify the sales leadership actually believes it:
Week 1: Positioning Workshop
Week 2-3: Enablement
Week 4: Soft rollout
Week 5+: Full rollout
Three simple metrics:
"I don't think this positioning works."
"Our customers don't care about this alternative."
When building positioning, watch for these patterns:
| File | When to read | What's inside |
|---|---|---|
references/positioning-messaging-reference.md | Always: the full methodology | 12 positioning elements, 6 positioning formulas, Use Case Canvas structure, Opposites method, weekly GTM sequence, blank canvas template |
Built by Neon Triforce
© swan-gtm, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/rutger-katz/positioning-messaging-designer of swan-gtm/gtm-skills.
Open the folder on GitHubat commit 67abd04
Positioning Messaging Designer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Positioning Messaging Designer this skillswan-gtm/gtm-skills | 172 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Marketing OsYuzzyuk/marketing-os | 540 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Content Idea GeneratorBrianRWagner/ai-marketing-claude-code-skills | 441 | — | ~1.7k | Automated safety check: Pass | None | |
| LinkedIn Authority BuilderBrianRWagner/ai-marketing-claude-code-skills | 441 | — | ~1.9k | Automated safety check: Pass | None | |
| B2b Brand Marketingarnabbagxd/Brand-building-skills | 729 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Running MarketingGTM-Strategist/gtm-strategist-skills | 264 | — | ~7.8k | Automated safety check: Pass | MIT |
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
BrianRWagner/ai-marketing-claude-code-skills
Produces content ideas for LinkedIn, X, newsletters or short video from your positioning statement, in quick, standard or deep planning modes.
BrianRWagner/ai-marketing-claude-code-skills
Builds a LinkedIn thought-leadership content system, from positioning check and content pillars to formats and posting rhythm, in quick, standard or deep modes.
arnabbagxd/Brand-building-skills
Build and execute brand marketing strategy for B2B companies — thought leadership, ABM brand layer, trust signals, LinkedIn presence, long sales cycle brand touchpoints, and enterprise credibility.
GTM-Strategist/gtm-strategist-skills
A skill your agent uses when the user wants to build an ongoing marketing engine, create a content strategy, set up social media publishing, plan influencer partnerships, or run email and paid ad…
gooseworks-ai/goose-skills
Competitor intelligence system. An agent skill from gooseworks-ai/goose-skills.
swan-gtm/gtm-skills
Annual and quarterly revenue plan construction, top-down vs bottoms-up reconciliation, plan versioning, stretch goal handling, and FP&A-RevOps collaboration for B2B revenue teams.
swan-gtm/gtm-skills
A skill your agent uses when setting up AI-powered personalization, building Clay or lemlist workflows, or automating prospect research — 6 AI personalization prompts (lemlist style) plus 2 email…
swan-gtm/gtm-skills
A skill your agent uses when a list of people already exists and someone needs to know who on it is worth contacting — event or webinar attendees, registrants, a prospecting export, a CRM segment, a…
swan-gtm/gtm-skills
A skill your agent uses when you need to know what people are saying about a brand across the web and social — "monitor brand mentions", "what are people saying about [brand] this week", "run a…
swan-gtm/gtm-skills
Use this skill before staging a prospect and before drafting any first touch, when a segment has gone silent, and when deciding whether an account is genuinely cold.
swan-gtm/gtm-skills
Use this skill on a monthly cadence to detect champions and heavy users of your paying customers who changed jobs, verify the move against live LinkedIn data, score the new company, and surface…
Works with
Categories
Design positioning and messaging frameworks for your company using the Use Case Messaging Canvas and Opposites method. Positioning Messaging Designer is an agent skill from swan-gtm/gtm-skills. Design positioning and messaging frameworks for your company using the Use Case Messaging Canvas and Opposites method.
Positioning Messaging Designer fits situations like: you need to define your positioning; build a messaging framework; create a Use Case Canvas; bridge the gap between ICP and copy.
Run `npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a claude-code`. Or copy the skill folder (skills/rutger-katz/positioning-messaging-designer in swan-gtm/gtm-skills) into .claude/skills/positioning-messaging-designer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a codex`. Or copy the skill folder (skills/rutger-katz/positioning-messaging-designer in swan-gtm/gtm-skills) into .agents/skills/positioning-messaging-designer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add swan-gtm/gtm-skills --skill positioning-messaging-designer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/positioning-messaging-designer, .gemini/skills/positioning-messaging-designer, .github/skills/positioning-messaging-designer and .opencode/skills/positioning-messaging-designer in your project.
SKILL.md names no scripts, command-line tools or credentials: Positioning Messaging Designer is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: neontriforce.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Positioning Messaging Designer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Positioning Messaging Designer: Marketing Os (Yuzzyuk/marketing-os, 540 stars), Content Idea Generator (BrianRWagner/ai-marketing-claude-code-skills, 441 stars), LinkedIn Authority Builder (BrianRWagner/ai-marketing-claude-code-skills, 441 stars) and B2b Brand Marketing (arnabbagxd/Brand-building-skills, 729 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
swan-gtm (a GitHub organization) maintains it in swan-gtm/gtm-skills, which has 172 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.
Source: swan-gtm/gtm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.