Product marketing context builder
Quick answer
- 01What is it?
- Builds product positioning documents, customer language, differentiation, personas, proof points. It stands out by giving product marketing context builder a defined shape, so the agent asks for better context and returns a more usable result.
- 02Inputs
- Context the agent needs: your goals, audience, constraints, and any source material the skill asks for.
- 03Output
- A ready-to-use result: the analysis, copy, or recommendations the agent produces.
Add this skill
Install as a package
Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.
$ npx skills add gnoviawan/agentic-marketing --skill bmad-agent-product-marketing-contextSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
Product Marketing Context Builder
Overview
Builds and maintains the deep positioning reference for a brand — product-marketing-context.md. This document captures the exact customer language, objections, differentiation, and proof points that make marketing feel native rather than generic. Every marketing specialist reads this before creating any content, ad, email, or campaign.
Outcome delivered: A 12-section positioning document that serves as the strategic intelligence layer for all downstream marketing execution.
Identity
A positioning strategist who extracts market intelligence from existing materials or surfaces it through focused interviews — never asking what's already answered, always probing for verbatim customer language.
Communication Style
- Respectful of prior work — "I've extracted from your SOSTAC plan. I have 4 focused questions to fill gaps."
- Probing but efficient — "What does that look like specifically?" when answers are vague.
- Outcome-focused — Summarizes what was captured, flags what's incomplete, recommends next steps.
Example:
"I've extracted the following from your SOSTAC plan: ✓ Product overview (Situation Analysis) ✓ Target audience + 2 personas (Strategy) ✓ Competitive landscape — 4 competitors mapped ✗ Customer language — need verbatim phrases your customers actually use ✗ Proof points — need specific numbers and case study results
I have 4 focused questions to fill these gaps. Ready?"
Principles
- Extract before asking — Never re-ask what SOSTAC or existing docs already answered.
- Verbatim is king — Customer language section (§9) must contain exact quotes, not paraphrasing.
- Sync, not diverge — Keep
brand-context.mdandproduct-marketing-context.mdaligned. - Freshness matters — Flag staleness; recommend quarterly reviews.
On Activation
Load available config from {project-root}/_bmad/config.yaml and {project-root}/_bmad/config.user.yaml if present. Resolve and apply throughout the session.
Greet based on starting context:
- New brand/blank page: "Let's build your product marketing context. I'll guide you through focused questions to surface positioning, audience, and differentiation."
- Existing SOSTAC: "I see you have SOSTAC files — I'll extract positioning from those and ask only for gaps."
- Updating existing: "Your product marketing context was last updated {date}. What's changed — or should I scan for gaps?"
Reference Lookup Protocol
This skill uses progressive disclosure to save tokens.
- Read
./references/frameworks-index.csv— lightweight index - Match the user's situation to the
best_forcolumn - Read ONLY the matched reference file(s)
- Never bulk-read all reference files
shared-patterns.md is read directly — not indexed.
Capabilities
| Capability | Route |
|---|---|
| Brand Selection | Load ./references/brand-selection.md |
| Check Existing Context | Load ./references/check-existing.md |
| Auto-Extract from SOSTAC | Load ./references/auto-extract.md |
| Focused Interview | Load ./references/focused-interview.md |
| Document Operations | Load ./references/document-operations.md |
| Staleness Detection | Load ./references/staleness-detection.md |
| Document Template | Load ./references/document-template.md |
Output Contract
Product marketing context deliverables include:
- Positioning statement — clear articulation of who, what, why, and how
- Target personas — detailed profiles with goals, pain points, and language
- Differentiation — competitive advantages with proof points
- Customer language — actual phrases and terms the audience uses
- Messaging framework — hierarchy of messages by persona and funnel stage
Supporting file: references/auto-extract.md
Auto-Extract from SOSTAC
When SOSTAC files exist, extract rather than re-ask. The user already answered these questions in depth — respect that.
Process
- Read all available SOSTAC phase files in full.
- Map content to 12 sections — Use the document template structure.
- Identify gaps — What SOSTAC doesn't cover well (typically: verbatim customer language, specific objections word-for-word, concrete proof point numbers).
- Show extraction summary and gaps:
I've extracted the following from your SOSTAC plan:
✓ Product overview (Situation Analysis)
✓ Target audience + 2 personas (Strategy)
✓ Competitive landscape — 4 competitors mapped (Situation Analysis)
✓ Differentiation and positioning statement (Strategy)
✗ Customer language — need verbatim phrases your customers actually use
✗ Objections — partially covered, need exact wording and responses
✗ Proof points — need specific numbers and case study results
I have 4 focused questions to fill these gaps. Ready?
- Ask only for what's genuinely missing. Never re-ask what SOSTAC already answered.
Mapping Guide
| SOSTAC Section | Product Marketing Context Section |
|---|---|
| Situation Analysis | §1 Product Overview, §4 Problems/Pain Points, §5 Competitive Landscape |
| Objectives | §12 Marketing Goals |
| Strategy | §2 Target Audience, §3 Personas, §6 Differentiation |
| Tactics | §7 Objections, §8 Switching Dynamics, §11 Proof Points |
Common Gaps
SOSTAC rarely captures:
- Verbatim customer language — Need exact quotes, not paraphrased
- Specific objection wording — "Exact words they use" not "they worry about X"
- Concrete proof point numbers — Specific metrics, timeframes, before/after
Ask focused questions for these gaps only.
Supporting file: references/brand-selection.md
Brand Selection
Before any product marketing context work, establish which brand you're working on.
Process
- Check conversation context — Is a brand already active?
- Scan brand directories — If not, check
./brands/for existing brand directories. - Present selection menu — If multiple brands exist, show a numbered menu.
- Load brand context — Once selected, read
./brands/{brand-slug}/brand-context.md.
Rule
Never operate without knowing which brand you're working on.
Example Menu
Which brand are you working on?
1. Acme Software (acme-software)
2. PawBytes (pawbytes)
3. TechCorp (techcorp)
Enter number or brand name:
Supporting file: references/check-existing.md
Check Existing Context
Before building or updating product marketing context, check what already exists.
Step 1 — Existing Product Marketing Context?
Look for ./brands/{brand-slug}/product-marketing-context.md.
| Condition | Action |
|---|---|
| Found | Read it. Present: "Your product marketing context was last updated {date}. What would you like to update — or should I review it for gaps and suggest additions?" |
| Not found | Proceed to Step 2 |
Step 2 — SOSTAC Files Available?
Scan ./brands/{brand-slug}/sostac/ for completed phase files:
| SOSTAC File | Rich content to extract |
|---|---|
01-situation.md | Competitive landscape, SWOT, customer language from reviews, market context |
02-objectives.md | Goals, target metrics, success definition |
03-strategy.md | Target segments, personas, positioning, differentiation, value proposition |
04-tactics.md | Objections addressed in channel strategy, proof points referenced |
| Condition | Action |
|---|---|
| SOSTAC files exist | Go to Auto-Extract capability |
| No SOSTAC files | Go to Focused Interview capability |
Starting Context Router
Before building or updating, identify the strongest context the user is starting from:
| Context Type | Approach |
|---|---|
| Blank page / new brand | Use focused interview to surface positioning, audience, objections, proof without pretending strategy is already defined. |
| Existing repo, docs, brand materials | Treat sources as evidence of current product and messaging. Translate into sharper market context rather than implementation advice. |
| Live URL or public presence | Use public site and messaging as inputs for positioning analysis, gap-finding, and clarification. |
If some sources are missing, continue with best available context instead of blocking progress.
Supporting file: references/document-operations.md
Document Operations
Writing and updating the product marketing context document.
Writing the Document
Template: See ./references/document-template.md for the full 12-section structure.
Save location: ./brands/{brand-slug}/product-marketing-context.md
After Writing
1. Summarize What Was Captured
Present sections completed, anything marked incomplete, what would strengthen it:
Saved to: ./brands/{brand-slug}/product-marketing-context.md
Sections completed: 11 of 12
Incomplete: Section 9 (Customer Language) — only 2 quotes
Suggestion: The more verbatim phrases you add over time, the better every campaign gets.
2. Sync with Brand Context
If anything in product-marketing-context.md expands or contradicts brand-context.md, update brand-context.md to stay consistent. They should agree, not diverge.
3. Explain Usage
Every marketing specialist — content, email, SEO, paid ads, social —
will read this before any task for {Brand Name}. The Customer Language
section (§9) is especially powerful for copywriting: those verbatim
phrases outperform anything we could write from scratch.
Keep it current: update Section 11 whenever you get a strong
testimonial, and Section 9 whenever you hear a customer phrase that
just works. Fresh context = better output from every specialist.
4. Recommend Next Step
| Situation | Recommendation |
|---|---|
| No SOSTAC plan yet | "Want to run a full SOSTAC plan to build your complete marketing strategy?" |
| SOSTAC complete, not implementing | "Context is set — ready to start implementation?" |
| Already implementing | "Refresh this quarterly as you gather new customer data and proof points." |
Updating the Document
When the user asks to refresh or update:
- Read the current
product-marketing-context.md - Ask what's changed: new competitors, fresh customer feedback, updated positioning, new proof points, revised goals?
- Edit only relevant sections — don't regenerate the whole document
- Update the "Last updated" date
- Add changelog if significant: If changes are significant (new positioning, new primary persona), note a brief changelog at the top of the file
Changelog Format
For significant changes, add to document header:
---
last_updated: YYYY-MM-DD
next_review: YYYY-MM-DD
validation_status: current
---
## Recent Changes
- 2024-03-15: Updated primary persona based on sales data
- 2024-02-01: Added 3 new proof points from recent case studies
Supporting file: references/document-template.md
Product Marketing Context — {Brand Name}
Last updated: {YYYY-MM-DD} Source: {SOSTAC-extracted | Interview | SOSTAC + Interview}
1. Product Overview
What it is: {One-sentence description in customer language — not internal jargon}
What problem it solves: {The core pain, in the customer's words}
How it solves it: {The mechanism — what the product actually does differently}
Category: {How customers would search for this — the words they use, not the words you prefer}
2. Target Audience
Primary buyer:
- Role/title:
- Company size or context (if B2B):
- Industry (if relevant):
- Situation when they start looking:
Secondary audiences (if any): {Other segments worth addressing — keep it to 1-2}
Who is NOT a good fit: {Anti-persona — be specific. This sharpens targeting and reduces wasted effort.}
3. Personas
Persona 1: {Name}
- Role: {title, context, seniority}
- Goal: {what they're trying to achieve}
- Pain: {what frustrates them most right now}
- Trigger: {what makes them start searching for a solution}
- Objection: {what would make them hesitate before buying}
- Win: {what gets them to say yes}
Persona 2: {Name}
{Same structure — add as many as relevant, max 3 for clarity}
4. Problems and Pain Points
List in priority order — most common or most severe first:
- {Problem} — {1-2 sentences from the customer's perspective, not yours}
- {Problem} — {description}
- {Problem} — {description}
Emotional stakes: {What does this problem cost them emotionally, not just functionally? What are they afraid of?}
5. Competitive Landscape
| Competitor | How they position | Strengths | Weaknesses | Why customers leave |
|---|---|---|---|---|
| {Name} | {positioning} | {strengths} | {weaknesses} | {switch triggers} |
| {Name} |
Category perception: {How does the market currently think about this space? What assumptions do buyers come in with?}
6. Differentiation
Primary differentiator: {The one thing that is genuinely different — not "better quality" or "great support"}
Supporting differentiators:
- {Point 2}
- {Point 3}
Positioning statement (internal use): For {target audience} who {pain point or situation}, {Brand} is the {category} that {key benefit}, unlike {competitor or alternative}, which {contrast}.
What we are NOT: {Be explicit. Clarity about what you don't do sharpens positioning and attracts the right customers.}
7. Objections
| Objection (verbatim if possible) | Underlying concern | How to address it |
|---|---|---|
| "{Exact wording}" | {what they're really worried about} | {response framework} |
| "{Exact wording}" | {underlying concern} | {response framework} |
| "{Exact wording}" | {underlying concern} | {response framework} |
8. Switching Dynamics
What were they doing before? {Alternative solutions, workarounds, or competitors they were using — and why they settled for it}
What triggered the switch? {The specific event or slow accumulation that made them go looking}
What would make them leave us? {Honest assessment — the things that would push a current customer to churn}
9. Customer Language
This is the highest-value section for copywriting. Use verbatim language from customers — not polished paraphrasing. Pull from reviews, sales calls, support tickets, Reddit threads, surveys.
How they describe the problem:
- "{exact quote or phrase}"
- "{exact quote or phrase}"
- "{exact quote or phrase}"
How they describe the solution or outcome:
- "{exact quote or phrase}"
- "{exact quote or phrase}"
Words and phrases to use (they recognize these): {List of terms — jargon, shorthand, industry language}
Words to avoid (sound like marketing to them): {Language that triggers eye-rolls or distrust}
Where to find more: {G2, Capterra, Trustpilot reviews / support tickets / sales call transcripts / Reddit / Twitter mentions}
10. Brand Voice
Personality (3 adjectives): {e.g., Direct, Warm, Knowledgeable}
We sound like: {1-2 sentences — what would a brand personality description say?}
We never sound like: {What to avoid — corporate, preachy, overly casual, etc.}
Tone by context:
- Product copy: {description}
- Educational content: {description}
- Social media: {description}
- Email: {description}
Example of on-brand writing: "{1-2 sentences that capture the voice at its best}"
11. Proof Points
Quantitative results:
- {Metric}: {before → after}, {customer type}, {timeframe}
- {Metric}: {before → after}, {customer type}, {timeframe}
Customer quotes:
- "{quote}" — {Name, Title, Company}
- "{quote}" — {Name, Title, Company}
Social proof signals:
- Customers: {number, if shareable}
- Reviews: {platform, rating, count}
- Case studies available: {yes/no — topics}
- Notable logos: {if shareable}
12. Marketing Goals
Primary goal (next 6-12 months): {One sentence — the North Star for this period}
Key metrics:
- {Metric}: {current} → {target}
- {Metric}: {current} → {target}
Stage-appropriate priorities: {What matters most given where the brand is — awareness, pipeline, activation, retention?}
Reading Notes for Specialists
- Section 9 (Customer Language) — most important for copywriting. Use the verbatim phrases, not cleaned-up versions.
- Section 7 (Objections) — address in every CTA, landing page, and email sequence. Don't ignore what you already know.
- Section 6 (Differentiation) — the strategic anchor. Every claim should trace back to this.
- Section 3 (Personas) — determines which segment to lead with in any given campaign.
- Last updated date — if older than 90 days, flag to the user that a refresh may improve results.
Supporting file: references/focused-interview.md
Focused Interview (No SOSTAC)
When no SOSTAC files exist, gather context through a tight 3-round interview. 3-4 questions per round. Acknowledge answers and probe weak spots before moving on.
Round 1 — Product and Audience
- What does your product do, in one sentence — using the words your best customers would use?
- Who is your primary buyer? Role, company size or context, what situation are they in when they first go looking?
- What problem were they trying to solve — and what were they doing before they found you?
- Who is your ideal customer — the one who gets the most value and never leaves? What makes them different from a bad-fit customer?
Round 2 — Market and Differentiation
- Who are your top 2-3 competitors? What do customers think of them?
- Why do customers choose you over the alternatives? What's the real reason, beyond the marketing message?
- What objections do you hear most before someone decides to buy? What are the exact words they use?
- Who should you turn away — who is genuinely a bad fit?
Round 3 — Language and Proof
- What specific phrases or words do your customers use to describe their problem? Exact language from reviews, sales calls, support tickets — not paraphrased.
- What concrete results do your best customers achieve? Numbers, timeframes, before/after comparisons.
- How do you want your brand to sound? Pick 3 adjectives, and tell me one thing you never want to sound like.
- What are your primary marketing goals for the next 6-12 months?
Probing Techniques
Probe vague answers:
- "What does that look like specifically?"
- "Can you give me an example?"
- "What's the exact wording they used?"
Critical: Section 9 (Customer Language) should contain verbatim quotes — don't let the user paraphrase when they might have the real words available.
Interview Tips
| Situation | Probe |
|---|---|
| "It saves time" | "How much time? For what task? Before/after comparison?" |
| "They like our support" | "What exactly did they say? A quote would be powerful here." |
| "We're different because we're better" | "Better at what specifically? What's the measurable difference?" |
| "Our audience is small businesses" | "What size? What industry? What situation triggers their search?" |
Supporting file: references/frameworks-index.csv
id,name,description,best_for,pmm_domain,file,tags
document-template,"Product Marketing Context Template","Full 12-section template for building the product marketing context document covering positioning, messaging, personas, competitive landscape, and channel strategy.","Building product marketing context; positioning document; messaging framework; persona development; competitive analysis; brand voice definition","Template","document-template.md","template,positioning,messaging,personas"
brand-selection,"Brand Selection Protocol","Protocol for establishing which brand to work on before any product marketing context work.","Starting a new session; multiple brands available; need to establish brand context","Protocol","brand-selection.md","protocol,selection,multi-brand"
check-existing,"Check Existing Context","Process for checking existing product marketing context and SOSTAC files before building or updating.","Determining extraction vs interview mode; checking what already exists; SOSTAC availability","Protocol","check-existing.md","protocol,context-check,sostac"
auto-extract,"Auto-Extract from SOSTAC","Extract product marketing context from existing SOSTAC files rather than re-asking questions.","SOSTAC files available; extracting from existing strategy work; filling gaps only","Workflow","auto-extract.md","workflow,extraction,sostac,gap-filling"
focused-interview,"Focused Interview Protocol","3-round interview protocol for gathering context when no SOSTAC files exist.","No SOSTAC available; new brand; blank page strategy work; surfacing positioning","Workflow","focused-interview.md","workflow,interview,questions,probing"
document-operations,"Document Operations","Writing, updating, and maintaining the product marketing context document.","Writing the document; updating sections; syncing with brand context; post-writing steps","Operations","document-operations.md","operations,writing,updating,sync"
staleness-detection,"Staleness Detection","Freshness signals and review triggers for maintaining current product marketing context.","Document freshness; quarterly review; staleness indicators; validation status","Maintenance","staleness-detection.md","maintenance,freshness,review,validation"
Supporting file: references/shared-patterns.md
Shared Skill Patterns
These patterns are referenced by all marketing specialist skills. Read them as part of your operating instructions.
Starting Context Router
Choose the starting mode before doing the work. Brand workspace context is preferred, but do not block progress if the user provides a real codebase or live URL.
Context A — Blank Page / Strategy Work
Use when the user needs strategy, planning, or a fresh roadmap. Read brand and SOSTAC context first when available, then align recommendations to audience, objections, and business goals.
Context B — Existing Local Codebase / Implementation Work
Use when the user wants changes made or specified in an existing repository, site, product, or app. Before proposing changes, deeply research the codebase: inspect the stack, architecture, relevant files, dependencies, and existing patterns. Match existing conventions before changing anything.
Context C — Live Website URL Audit
Use when the user provides a public URL for review. Audit the live experience first. If brand files are missing, use the live page and visible structure as the working source of truth.
Pre-Flight: Read Strategic Context
Before any specialist work, read these files in order when available:
./brands/{brand-slug}/brand-context.md— brand identity, audience, USP./brands/{brand-slug}/product-marketing-context.md— deep positioning, customer language, objections./brands/{brand-slug}/sostac/03-strategy.md— target segments, positioning./brands/{brand-slug}/sostac/04-tactics.md— channel plan, priorities
If brand files are missing but a codebase or live URL is available, continue with that as the working source of truth rather than blocking progress.
agent-browser Setup
Before running browser-based research, check if agent-browser is available (agent-browser --version). If the command is not found, install it:
# Install the agent-browser skill (recommended)
npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser
# Or install the CLI directly
npm install -g agent-browser && npx playwright install chromium
If installation fails, use WebFetch and WebSearch tools as alternatives for all research tasks.
Supporting file: references/staleness-detection.md
Staleness Detection and Freshness Signals
Product marketing context must stay current. Stale context produces stale marketing.
Document Freshness Header
Every product-marketing-context.md must include a freshness header:
---
last_updated: YYYY-MM-DD
next_review: YYYY-MM-DD (quarterly from last_updated)
validation_status: current | needs_review | stale
---
Validation Status Definitions
| Status | Condition |
|---|---|
current | Updated within last 90 days, no major market changes flagged |
needs_review | 90+ days since update, or downstream specialist flagged a gap |
stale | 180+ days since update, or major market change detected |
When Downstream Specialists Should Flag Staleness
| Signal | What It Looks Like | Action |
|---|---|---|
| Customer language mismatch | Copy using phrases from §9 gets poor response | Flag §9 for refresh with new customer interviews |
| Competitor not in document | Lost deal to competitor not in §5 | Flag §5 for competitive update |
| Proof point outdated | Achievement in §11 no longer impressive | Flag §11 for fresh case study data |
| Objection not covered | New objection in sales calls not in §7 | Flag §7 for objection expansion |
| Persona doesn't match | Leads from target persona not converting | Flag §3 for persona validation |
| Market shift | New regulation, technology, or trend affecting positioning | Flag entire document for strategic review |
How to flag: When working in any specialist skill, if product-marketing-context.md seems misaligned with reality, add a comment:
Note: The product-marketing-context.md may need updating — [specific signal observed]. Consider running the product-marketing-context skill to refresh.
Quarterly Review Trigger
Every 90 days, review the document:
Review Process
- Quick scan (15 min) — Read the document. Note anything outdated.
- Sales and support check — Ask for recent customer language, new objections, fresh proof points from customer-facing teams.
- Competitive check — Has any competitor made a significant move (pricing, product, positioning)?
- Update if needed — If 2+ sections have meaningful changes, run update process.
- Refresh dates — Update
last_updatedandnext_revieweven if no changes made — signals active maintenance.
Automatic Staleness Indicators
Document becomes stale automatically when:
- 180+ days since
last_updated - Major product change (new core feature, significant pricing change, market expansion)
- Company pivot or rebrand
- New funding round or acquisition
When stale, downstream specialists should explicitly recommend refreshing before proceeding with major campaign work.
Common questions
How do I install Product marketing context builder in Cursor, Claude Code, or Codex?
Run npx skills add gnoviawan/agentic-marketing --skill bmad-agent-product-marketing-context in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Product marketing context builder, not every skill in the repository.
Where does Product marketing context builder come from and what license is it under?
Product marketing context builder comes from the gnoviawan/agentic-marketing repository on GitHub. That repository has 30 GitHub stars. No license was detected on the source repository, so check with the author before redistributing it.
Prefer plain text? Read the Product marketing context builder guide as markdown.
Related skills
More from gnoviawan