Marketing Os
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
A skill your agent uses when positioning or messaging is the real problem — building or rebuilding a messaging framework or messaging house, a value proposition, homepage or website copy, taglines…
$ npx skills add swan-gtm/gtm-skills --skill positioning-and-messaging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-and-messaging --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/chris-rodde/positioning-and-messaging .claude/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .claude/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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/chris-rodde/positioning-and-messagingType 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-and-messaging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-and-messaging --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/chris-rodde/positioning-and-messaging .agents/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .agents/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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-and-messaging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-and-messaging --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/chris-rodde/positioning-and-messaging .cursor/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .cursor/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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/chris-rodde/positioning-and-messaging--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-and-messaging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install swan-gtm/gtm-skills positioning-and-messaging --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/chris-rodde/positioning-and-messaging .gemini/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .gemini/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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-and-messagingInstalls 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-and-messaging -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/chris-rodde/positioning-and-messaging .github/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .github/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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-and-messaging -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-and-messaging --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/chris-rodde/positioning-and-messaging .opencode/skills/positioning-and-messaging && 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-and-messaging" agent skill from https://github.com/swan-gtm/gtm-skills/tree/main/skills/chris-rodde/positioning-and-messaging into .opencode/skills/positioning-and-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "positioning-and-messaging", 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-and-messagingA skill your agent uses when positioning or messaging is the real problem — building or rebuilding a messaging framework or messaging house, a value proposition, homepage or website copy, taglines…
Positioning And Messaging is an agent skill from swan-gtm/gtm-skills. Use this skill when positioning or messaging is the real problem — building or rebuilding a messaging framework or messaging house, a value proposition, homepage or website copy, taglines and headlines, category definition, competitive differentiation, ICP or buyer personas, a sales narrative or pitch-deck story, launch messaging, or an audit of existing copy, decks, or sites. Also use it when the team says their messaging feels generic, inconsistent, unclear, or "isn't landing," or that nobody can explain what…
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `GETTING-STARTED.md`, `references/audit-mode.md` and `references/dunford-positioning.md`).
It sits in Marketing & SEO, covering Positioning and messaging. The repository describes itself as: Open, production-grade GTM skills for AI agents. The licence is MIT.
4 steps, taken from the step headings 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.
No URLs in SKILL.md.
From 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 And Messaging loads about 4.5k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 209 tokens; SKILL.md has 2,494 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,494 words, ~4,546 tokens.
.claude/skills/positioning-and-messaging/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Positioning is a decision. Messaging is the expression of that decision. Most bad messaging is not a writing problem — it is an undecided or unevidenced positioning problem being papered over with adjectives.
This skill runs a four-stage sequence drawn from four practitioners, each covering the others' blind spots. Run them in order. The order is the method.
| Stage | Question | Source | Output |
|---|---|---|---|
| 0. Evidence | Why did people actually switch — and what stopped the ones who didn't? | Bob Moesta | Demand brief |
| 1. Decision | Where do we compete, and what can only we claim? | April Dunford | Positioning decision |
| 2. Expression | Can a stranger tell what this is in five seconds? | Fletch PMM | Messaging and homepage copy |
| 3. Narrative | What changed in the world that makes this urgent? | Andy Raskin | Strategic narrative |
Why this order matters. Narrative is the most enjoyable stage and the most dangerous starting point. A team that begins with the story invents a world, names a category, and writes a manifesto — and then discovers none of it maps to a real buyer, a real shortlist, or a real reason anyone switched. That team ends up with several competing heroes and no differentiation that survives a competitor's feature page. Evidence constrains the decision; the decision constrains the words; the words constrain the story. Each stage should feel like it narrows options, not opens them.
Announce which stage you are in and what would have to be true to move on. If the user wants to jump ahead, say what is being skipped and what risk that carries, then do what they ask. The sequence is a default, not a cage.
All four stages feed one artifact: the Messaging Framework document. Read references/framework-document.md for the full annotated outline, and read it early — knowing what the document needs makes each stage collect the right things rather than requiring a second pass.
The document has three layers, ordered by how often they are read:
In front of all three sits the one page — the one-liner, the category, the segment, the three claims, the real alternative, and the strongest proof. Write it last, from everything else. It is what the team actually memorizes and the single most commonly missing section.
The test of the artifact is not whether it is well argued. It is whether a salesperson who missed the workshop can open it and write an on-message email in five minutes.
New users: point them to GETTING-STARTED.md, which covers inputs, time, who to involve, and what to do if they have no transcripts. Don't make them read it before you begin — establish the three things below in conversation instead.
references/audit-mode.md first — inherited language is the main source of drift.Ask for these early, and say plainly what is missing and what that costs:
If the user has no transcripts, do not stall. Offer the fallbacks in GETTING-STARTED.md — switch interviews they can run now, review-site mining, structured sales debriefs, support tickets — proceed with what exists, and label the evidence as weak in the final document rather than presenting assumptions as findings.
When evidence comes from sales calls rather than switch interviews, say so in the demand brief: the customer is reacting to a pitch, so push and pull are partly contaminated, anxiety is well captured, and habit is weakest.
Read references/moesta-demand.md.
You are reconstructing real decisions, not collecting opinions. What people say they want is unreliable; what they did is evidence.
Do:
Output a demand brief: the struggling moment, the forces, the language inventory, and the top three anxieties and habits blocking a switch.
Gate: you can state, in a customer's words, what made someone switch and what stops the rest. If all you have is what the company believes the problem is, you are not through this stage.
Read references/dunford-positioning.md.
Assemble the components in this order. Each one constrains the next:
Apply the table-stakes test to every claimed differentiator: search the top two or three competitors' current marketing and check whether they already claim it. If they do, it is not differentiation, however true it is. Do this live with web search; do not rely on what you or the user remembers about competitors.
Output a positioning decision in the template at the end of this file.
Gate: every differentiator has survived the table-stakes test, and the value ladder terminates in something a budget owner cares about.
Read references/fletch-execution.md.
Compress the decision into language a stranger understands immediately. The formula:
For [segment] trying to [job], we're better than [alternative] because [differentiation].
Enterprise buyers are not served by abstraction. If a reader cannot tell what the product does from the headline, the copy has failed regardless of how senior the audience is. Aspirational abstraction only works for companies whose brand awareness already answers the question.
Run every line through the specificity tests in the reference file — the stranger test, the competitor-swap test, the inversion test. Any sentence a competitor could put on their own site unchanged is dead copy.
Output the messaging set: headline, subhead, three value props with proof, the "what it is" line, differentiation section, and objection handling.
Gate: someone outside the company can read the headline and subhead and correctly say what the product does and who it is for.
Read references/raskin-narrative.md.
Now expand the same decision into a story for the deck, the keynote, and internal alignment. Five elements, in order:
Never open with your product, your company, your funding, or your logo wall. And never tell the buyer their current approach is stupid; that puts them on the defensive and ends the conversation. Name the shift that made their approach stop working. The shift did it, not them.
Gate: the narrative and the homepage say the same thing at different altitudes. If they contradict, the narrative is wrong, because the decision came first.
These are the failure modes this skill exists to prevent. Check for them at every stage.
The two templates below are working artifacts produced during the stages. They are inputs to the Messaging Framework document, not substitutes for it — see references/framework-document.md for how they fold into the final deliverable.
Competitive alternatives — what customers do if we don't exist, ranked
Unique attributes — capabilities the alternatives lack, facts only
Value — laddered "so what?", ending in money, risk, or time
Best-fit customers — triggers that predict intense care, plus disqualifiers
Market category — the frame, and why it makes our value obvious
What we are not — explicit boundaries
Table stakes — true things competitors also claim, labeled as suchThe one-liner — segment + job + alternative + differentiation
Homepage — headline, subhead, what it is, three value props with proof, CTA
By surface — outbound, social, deck, demo, with one worked example each
By audience — only where the value genuinely differs
Objection handling — one per real anxiety or habit from Stage 0
Words we use / words we avoid / words we are retiringGETTING-STARTED.md — user-facing setup guide: what inputs are needed, what to do without transcripts, time and people requiredreferences/framework-document.md — the Messaging Framework document itself: full annotated outline, evidence standard, quote and proof handling, maintenancereferences/moesta-demand.md — switch interviews, Four Forces, interview question bank, language inventoryreferences/dunford-positioning.md — the components, the ten-step process, positioning styles, the table-stakes testreferences/fletch-execution.md — the formula, homepage structure, specificity tests, common copy failuresreferences/raskin-narrative.md — the five elements, deck structure, alignment guidancereferences/audit-mode.md — how to critique an existing framework, deck, or homepage against all four methodsThis skill synthesizes publicly published methods. It is not affiliated with, endorsed by, or reviewed by any of the practitioners named. Any errors in these summaries belong to the skill, not to them. Always point users to the primary sources, which go far deeper than any summary:
Represent each method accurately. Where they disagree — for example, Fletch deliberately keeps jobs-to-be-done language out of its own framework — note the disagreement rather than blending it away.
© 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 7 other files (references) in skills/chris-rodde/positioning-and-messaging of swan-gtm/gtm-skills.
Open the folder on GitHubat commit 67abd04
Positioning And Messaging 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 And Messaging this skillswan-gtm/gtm-skills | 172 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Marketing OsYuzzyuk/marketing-os | 540 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Revenue Centric Designheliocosta-dev/revenue-centric-design | 740 | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| Startup Positioningferdinandobons/startup-skill | 1.2k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Stanley Druckenmiller Investmenttradermonty/claude-trading-skills | 3k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| B2b Playbookweilun88313/B2B-Playbook | 203 | — | ~3.1k | Automated safety check: Pass | Proprietary |
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
heliocosta-dev/revenue-centric-design
Playbook for designing SaaS and startup products that convert, retain, and monetize — landing pages & CRO, checkout & forms, onboarding/activation, churn reduction, pricing psychology, dashboards…
ferdinandobons/startup-skill
Market positioning strategy using the April Dunford framework, enriched with JTBD discovery, Moore positioning statement, and Neumeier's Onliness Test.
tradermonty/claude-trading-skills
Druckenmiller Strategy Synthesizer - Integrates 8 upstream skill outputs (Market Breadth, Uptrend Analysis, Market Top, Macro Regime, FTD Detector, VCP Screener, Theme Detector, CANSLIM Screener)…
weilun88313/B2B-Playbook
Turn B2B marketing work into evidence-aware outputs using market, positioning, demand, account-program, lifecycle, and tool-selection guidance.
onvoyage-ai/gtm-engineer-skills
Researches a company from its URL and produces a Brand DNA file covering positioning, audience, competitors, voice, and messaging.
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…
Categories
A skill your agent uses when positioning or messaging is the real problem — building or rebuilding a messaging framework or messaging house, a value proposition, homepage or website copy, taglines…. Positioning And Messaging is an agent skill from swan-gtm/gtm-skills. Use this skill when positioning or messaging is the real problem — building or rebuilding a messaging framework or messaging house, a value proposition, homepage or website copy, taglines and headlines, category definition, competitive differentiation, ICP or buyer personas, a sales narrative or pitch-deck story, launch messaging, or an audit of existing copy, decks, or sites.
Positioning And Messaging fits situations like: messaging is the real problem — building; rebuilding a messaging framework; messaging house; A value proposition.
Run `npx skills add swan-gtm/gtm-skills --skill positioning-and-messaging -a claude-code`. Or copy the skill folder (skills/chris-rodde/positioning-and-messaging in swan-gtm/gtm-skills) into .claude/skills/positioning-and-messaging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add swan-gtm/gtm-skills --skill positioning-and-messaging -a codex`. Or copy the skill folder (skills/chris-rodde/positioning-and-messaging in swan-gtm/gtm-skills) into .agents/skills/positioning-and-messaging 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-and-messaging -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-and-messaging, .gemini/skills/positioning-and-messaging, .github/skills/positioning-and-messaging and .opencode/skills/positioning-and-messaging in your project.
SKILL.md names no scripts, command-line tools or credentials: Positioning And Messaging is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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 And Messaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k 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 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Positioning And Messaging: Marketing Os (Yuzzyuk/marketing-os, 540 stars), Revenue Centric Design (heliocosta-dev/revenue-centric-design, 740 stars), Startup Positioning (ferdinandobons/startup-skill, 1.2k stars) and Stanley Druckenmiller Investment (tradermonty/claude-trading-skills, 3k 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.