Systems Lab

Agent skill

gtm-context

Builds and maintains the shared GTM context file (the "GTM brain") at .agents/product-marketing.md that every other skill in this pack reads, so the user never has to explain their product, customer, and positioning twice.

activeReaches the webInstructions only1,524 words

Filed under Prospecting and list building.

From Theo7777/gtm-skills · 13 skill entries · 1 · pushed 2026-10-01

What it does when it runs

Builds and maintains the shared GTM context file (the "GTM brain") at .agents/product-marketing.md that every other skill in this pack reads, so the user never has to explain their product, customer, and positioning twice. Use at the start of any new project, or when the user asks to "set up context", "set up the GTM brain", "create a product marketing context", "describe my product", "who is my ICP", "update our positioning file", "add this to our context", or shares a website, docs, or repo and wants the foundations captured. Also use to update one section, reconcile conflicting information, or migrate an older context file. Reads and extends an existing product-marketing file rather than overwriting it.

Automated analysis of the skill and the 2 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
  • example-invoicing.com
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about gtm-context

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/Theo7777/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/gtm-context"
mkdir -p ~/.claude/skills/gtm-context
cp -R "/tmp/gtm-skills/skills/gtm-context/." ~/.claude/skills/gtm-context/

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 ↗

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.

Reproduced in full from Theo7777/gtm-skills/blob/21df471416b83c64d3eafbbb56a3234a70f17e6b/skills/gtm-context/SKILL.md, which is licensed MIT (repository). 1,524 words, 13 headings.

GTM context

This skill builds and maintains one file: .agents/product-marketing.md. It holds the product, customer, positioning, messaging, proof, and voice decisions that every other skill in the pack reads before asking questions.

One good file saves the same five questions being asked in every skill. It also keeps copy, ads, and outreach consistent, because they all draw on the same source.

Before you start

Look for an existing file, in this order:

  1. .agents/product-marketing.md (canonical location)
  2. .claude/product-marketing.md
  3. .agents/product-marketing-context.md or .claude/product-marketing-context.md (older filename)

Then:

  • Canonical file exists: read it, summarise what it covers in five lines or fewer, list the gaps, and ask which to fill. Never overwrite it.
  • Only an older location exists: read it, then offer to move it to .agents/product-marketing.md. Move only on a yes. If the user says no, update it where it is.
  • Nothing exists: go to the fresh start workflow below.

The file may have been created by another skill pack, such as Corey Haines's product-marketing skill. Keep its headings exactly as they are and add any missing sections from this template after them. The heading map below shows how the two line up.

Compatibility with existing files

Other skills search the file by heading, so headings must stay stable. When extending a file:

  • Keep every existing heading and its wording, including title case and ampersands.
  • Put new content under the matching existing heading where one exists.
  • Add sections the file lacks at the end, before the changelog, using the headings in references/template.md.
  • Never delete content. Move superseded content to the changelog with a date.
This templateEquivalent heading in older or third-party files
Product overviewProduct Overview
Target audienceTarget Audience
PersonasPersonas
Jobs to be done and triggersTarget Audience (jobs), Switching Dynamics
Problems and pain pointsProblems & Pain Points
Competitive alternativesCompetitive Landscape
DifferentiationDifferentiation
Positioning statementnone, add it
Messaging building blocksnone, add it
Proof pointsProof Points
ObjectionsObjections
Customer languageCustomer Language
Brand voiceBrand Voice
Channelsnone, add it
GoalsGoals
Open questions and assumptionsnone, add it
ChangelogChangelog

What the file covers

The full template, with prompts under each heading, is in references/template.md. In short:

  1. Product overview: one-liner, primary anchor (category, use case, or competitive alternative), product type, and business model and pricing.
  2. Target audience: ideal customer profile with the use case, buyer and user roles, and anti-persona.
  3. Personas: for B2B, what each buying role cares about.
  4. Jobs to be done and triggers: job statements, the events that start a search, and the four switching forces.
  5. Problems and pain points: the core problem, its cost, and the emotional tension.
  6. Competitive alternatives: what customers use today, including doing nothing, and the problem with each.
  7. Differentiation: what you do differently and why that is better.
  8. Positioning statement: one short paragraph built from the sections above.
  9. Messaging building blocks: problem, product, audience, why better, benefits with proof, and how it works.
  10. Proof points: customers, stats, and quotes, each with a source.
  11. Objections: the top objections and the answer to each.
  12. Customer language: verbatim phrases, words to use, words to avoid, and a glossary.
  13. Brand voice: tone, style rules, and personality.
  14. Channels: where the audience is reached today and what is working.
  15. Goals: the business goal and the main conversion action.
  16. Open questions and assumptions: everything unconfirmed.
  17. Changelog: dated notes of what changed.

The top of the file carries a last_updated: YYYY-MM-DD line.

Which skills read which sections

SkillSections it relies on
positioning-messagingProduct overview, Target audience, Competitive alternatives, Differentiation, Positioning statement, Messaging building blocks, Proof points, Objections, Customer language, Brand voice
jtbd-researchTarget audience, Jobs to be done and triggers, Competitive alternatives, Customer language (and offers to add findings back)
icp-scoringTarget audience (including anti-persona), Jobs to be done and triggers, Goals
cold-outreachProduct overview, Target audience, Jobs to be done and triggers, Proof points, Objections, Brand voice, Customer language
ad-headline-makerDifferentiation, Messaging building blocks, Proof points, Objections, Customer language, Brand voice, Channels
ad-description-makerProblems and pain points, Messaging building blocks, Proof points, Customer language, Brand voice, Channels
linkedin-connection-analysisTarget audience, Personas, Goals

If a section is empty, those skills ask for it. Prioritise filling the sections the user's next task depends on.

Workflow

Fresh start

  1. Offer an auto-draft first. Ask for whatever the user has: a website URL, pitch deck, sales docs, call notes, or the product repo. Drafting from sources is faster and more accurate than an interview from nothing.
  2. Draft from sources. Read the homepage, pricing, about, and customer pages; the README and any docs in a repo; and any files the user shares. Fill every section you can. Mark anything inferred from marketing copy rather than stated as fact with (assumption).
  3. Show the gaps. List the empty or weak sections, most important first. The critical three matter most: what it does, who it is for, and how it differs.
  4. Interview in batches. Ask three to five related questions at a time, grouped by theme (for example, customer and use case, then alternatives and differentiation, then proof and voice). Never ask 30 questions in a row. Push for verbatim customer words, examples, and numbers.
  5. Stop when it is useful. A file with the critical three, proof, and voice rules is enough to start. Put everything else under open questions and assumptions.
  6. Confirm and save. Show the draft, ask what needs correcting, then write .agents/product-marketing.md with today's date on the last_updated line and a first changelog entry.
  7. Summarise. Show the summary described under output format.

If the user has no sources, skip steps 1 and 2 and start the batched interview.

Updating one section

  1. Read the whole file first, since a change in one section often affects others.
  2. Update only the section the user named. Keep its heading unchanged.
  3. Check related sections for knock-on effects. For example, a new audience may change personas, objections, and messaging building blocks. List those as suggestions and change them only on a yes.
  4. Update last_updated and add a changelog line saying what changed and why.

Conflicting information

When new input contradicts the file, or two sources disagree (for example, the website says "for enterprises" and the user says "for startups"):

  1. Do not silently pick one.
  2. Show both versions side by side, with where each came from.
  3. Ask which is current. If the user is unsure, record both under open questions and assumptions and mark the section (conflict: unresolved).
  4. Once resolved, update the section and log the old version in the changelog.

Writing rules for the file

  • Be specific enough to act on. "Heads of RevOps at 50 to 200 person B2B SaaS companies" beats "B2B companies".
  • Quote customers verbatim where possible and note the source.
  • Give every stat and quote a source. Unsourced proof goes under open questions and assumptions.
  • Mark every inference with (assumption).
  • Keep it short. Aim for a file a person can read in five minutes.
  • Use British English, the Oxford comma, sentence case headings (except where preserving existing headings), and no em dashes or emojis.

Output format

After saving or updating, show:

Saved to .agents/product-marketing.md (last_updated: YYYY-MM-DD)

Filled: [sections]
Updated this session: [sections]
Assumptions to confirm: [count], top three: [list]
Still empty: [sections]
Conflicts unresolved: [list or none]

Suggested next step: [the skill that fits the user's goal, for example positioning-messaging]

Quality checklist

  • Checked all three locations before creating anything.
  • Did not overwrite or delete existing content or rename existing headings.
  • The critical three (product anchor, audience with use case, and differentiation) are filled or flagged.
  • Every inference carries (assumption) and appears under open questions and assumptions.
  • Every stat and quote has a source.
  • Conflicts are shown to the user, not resolved silently.
  • Questions were asked in batches of three to five.
  • last_updated and the changelog are current.
  • The file contains no secrets, credentials, or personal data about individual customers beyond what they have published.

Credits

The idea of one shared product marketing context file that other skills read, and the .agents/product-marketing.md location, follow Corey Haines's marketingskills pack, which this skill is designed to stay compatible with. The section design, including positioning statement, messaging building blocks, channels, and open questions, is Theo Ohene's own and matches the positioning-messaging skill.

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

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.

Need help setting it up?

This page tells you what gtm-context 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.