skills/pmm/SKILL.md
Product marketing content generator for case studies, blog posts, datasheets, and FAQs. Use when user says "case study", "blog post", "datasheet", "FAQ", or asks for marketing collateral. For visual document output, prefer /octave:deck, /octave:one-pager, /octave:brief, /octave:proposal, or /octave:microsite.
npx skillsauth add octavehq/lfgtm pmmInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Interactive PMM assistant for creating sales collateral, landing pages, case studies, one-pagers, decks, and other marketing content—all infused with your brand voice and library messaging.
/octave:pmm [content-type]
/octave:pmm # Interactive mode - asks what you're creating
/octave:pmm one-pager # Product one-pager
/octave:pmm case-study # Customer case study
/octave:pmm landing-page # Landing page copy
/octave:pmm deck # Sales deck outline
/octave:pmm blog # Blog post / thought leadership
/octave:pmm datasheet # Technical datasheet
/octave:pmm faq # FAQ document
When the user runs /octave:pmm:
If no type specified, ask:
What would you like to create?
SALES ENABLEMENT
1. One-Pager - Single page product/solution overview
2. Sales Deck - Presentation outline and talking points
MARKETING CONTENT
3. Landing Page - Web page copy (hero, benefits, CTA)
4. Case Study - Customer success story
5. Blog Post - Thought leadership content
6. Datasheet - Technical specifications
OTHER
7. FAQ - Frequently asked questions
8. Something else - Describe what you need
TIP: For competitive battlecards, use /octave:battlecard
TIP: For objection handling guides, use /octave:enablement objections
Your choice:
Based on content type, ask targeted questions:
For One-Pager:
Let's create your one-pager. A few questions:
1. Which product/solution is this for?
[List products from library or "new/custom"]
2. Target audience?
[List personas from library or "general"]
3. Primary use case to emphasize?
[List use cases or "general overview"]
4. Key CTA (call-to-action)?
- Schedule a demo
- Start free trial
- Contact sales
- Custom: ___
5. Any specific proof points to include?
[List available proof points]
For Case Study:
Let's create your case study. A few questions:
1. Which customer/reference?
[List references from library or "new customer"]
2. Primary persona who would read this?
[List personas]
3. Key metrics to highlight?
- ROI / cost savings
- Time savings
- Performance improvements
- Custom metrics: ___
4. Desired length?
- Short (1 page, quick read)
- Standard (2-3 pages, detailed)
- Long-form (full story with quotes)
For Landing Page:
Let's create your landing page copy. A few questions:
1. What's the page for?
- Product overview
- Use case / solution
- Campaign / promotion
- Event / webinar
- Free trial signup
2. Target persona?
[List personas]
3. Primary CTA?
- Demo request
- Free trial
- Contact us
- Download resource
- Register for event
4. Tone?
- Professional / enterprise
- Friendly / conversational
- Bold / challenger
- Use default brand voice
For Blog Post:
Let's create your blog post. A few questions:
1. Topic or theme?
[Open text or suggest based on library]
2. Content angle?
- Thought leadership (industry trends)
- How-to / educational
- Customer story
- Product announcement
- Comparison / versus
3. Target persona?
[List personas]
4. Desired length?
- Short (500-800 words)
- Medium (1000-1500 words)
- Long-form (2000+ words)
5. SEO keywords to target? (optional)
Use MCP tools to gather library context:
# Always get brand voice
list_all_entities(entityType: "brand_voice")
# Get product info
get_entity({ oId: "<product_oId>" })
# Get persona details
get_entity({ oId: "<persona_oId>" })
# Get reference details (for case studies)
get_entity({ oId: "<reference_oId>" })
# Search for relevant proof points
search_knowledge_base({ query: "<topic>", entityTypes: ["proof_point"] })
# Get relevant use cases
search_knowledge_base({ query: "<topic>", entityTypes: ["use_case"] })
# Search for messaging
search_knowledge_base({ query: "<persona> pain points value" })
Use generate_content with structured instructions:
generate_content({
instructions: "<detailed content brief>",
person: { ... }, // if persona-targeted
company: { ... }, // if account-specific
customContext: "<library context gathered>"
})
Present the generated content with clear sections:
See one-pager-output.md for the One-Pager output template.
See case-study-output.md for the Case Study output template.
After presenting content, offer refinement options:
What would you like to do?
1. Adjust tone or style
2. Add/remove/expand sections
3. Re-generate using a saved agent
4. Create version for different persona
5. Make it shorter / longer
6. Add more proof points
7. Strengthen the CTA
8. Done - export final version
Your choice:
For each revision request, regenerate the specific section or full content as needed.
Export Options
==============
1. Copy as Markdown (for docs, Notion, etc.)
2. Copy as plain text
3. Copy as HTML
4. Save to file
Which format?
Always check for brand voices and apply:
list_all_entities(entityType: "brand_voice")
If multiple voices exist, ask:
Which brand voice should I use?
1. [Voice 1 name] - [description]
2. [Voice 2 name] - [description]
3. No specific voice (neutral professional)
Apply selected voice guidelines to all generated content.
This skill uses Octave's generate_content and generate_email tools by default. Two alternatives:
list_agents when relevant. See /octave:explore-agents.generate_* calls, gather Octave context, Claude writes directly. Offer when user wants more control.For the full interactive mode selector, use /octave:generate.
list_all_entities (entityType: "brand_voice") - Get available brand voiceslist_all_entities - List products, personas, etc.get_entity - Get full entity detailssearch_knowledge_base - Find relevant messaging, proof pointsgenerate_content - Primary content generation toolgenerate_email - For email-style content within collateral| Type | Key Inputs | Primary Library Sources | |------|------------|------------------------| | One-Pager | Product, persona, use case | Product, persona pain points, proof points | | Case Study | Reference customer | Reference (metrics, quotes), use case | | Landing Page | Product/campaign, persona, CTA | Product, persona, value props | | Blog Post | Topic, angle, persona | Use cases, proof points, messaging | | Datasheet | Product | Product (features, specs, capabilities) | | FAQ | Product/topic | Common objections, use cases | | Sales Deck | Offering, persona, Motion | Motion ICP narrative (Strategic narrative, Benefits and impacts), offering |
Missing Product:
No products found in your library.
To create effective collateral, I need product information. Run /octave:library create product to add your product first.
Missing Brand Voice:
No brand voice defined. I'll use a neutral professional tone.
For consistent messaging, consider creating a brand voice: This is done in the Octave web app under Settings > Brand Voices.
/octave:brainstorm - Generate content ideas before creating/octave:generate - Quick one-off content (emails, LinkedIn)/octave:library - Add/update entities used in content/octave:analyzer - Analyze existing content for improvements/octave:battlecard - Competitive battlecards with real deal evidence/octave:enablement - Sales enablement materials (objection guides, cheat sheets)/octave:positioning - Complete visual positioning system — message framework, anchors, strategy, persona messaging/octave:messaging - Build messaging frameworks before creating collateral/octave:campaign - Multi-channel campaign contenttools
Capture a brand's visual design system from its website and build a reusable component kit. Walks key pages on a domain (screenshots + HTML via the Octave scrape tool), derives design tokens (colors, type, spacing, radius, shadow), and produces a minimal component library (buttons, cards, headers, stats, tables, badges, hero, footer) as a self-contained HTML reference plus CSS tokens. Use when the user says "get brand components", "capture the brand", "build a component kit for <domain>", "make outputs look like <company>", or wants other skills to generate on-brand HTML for a target company.
tools
Define, run, and manage multi-step GTM workflows with human-in-the-loop execution. Use when user says "run a workflow", "show workflows", "create a workflow", "automate this process", or references workflow-based tasks.
development
Analyze won and lost deals for patterns, insights, and actionable learnings. Use when user says "win/loss analysis", "why did we lose", "deal patterns", "win themes", or asks about deal outcome trends. Do NOT use for visual HTML reports — use /octave:win-loss-report instead.
development
Generate visual win/loss analysis reports as self-contained HTML with CSS-based charts and data visualizations. Use when user says "win/loss report", "deal report", "visual analysis", or wants a formatted HTML version of deal outcome analysis. Do NOT use for text-based deal analysis — use /octave:wins-losses instead.