skills/messaging/SKILL.md
Build messaging frameworks, positioning statements, messaging matrices, elevator pitches, and narrative arcs from your library. Use when user says "messaging framework", "positioning statement", "elevator pitch", "messaging matrix", "narrative arc", or asks to align or structure messaging.
npx skillsauth add octavehq/lfgtm messagingInstall 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.
Generate structured messaging frameworks — positioning statements, messaging matrices, elevator pitches, and narrative arcs — all derived from your library's products, personas, Motion ICP cells, and competitive intelligence.
/octave:messaging [mode] [--product <name>] [--persona <name>] [--competitor <name>]
/octave:messaging # Interactive mode
/octave:messaging matrix # Persona x use case messaging matrix
/octave:messaging framework # Full messaging framework
/octave:messaging positioning # Positioning statement
/octave:messaging elevator # Elevator pitches (15s/30s/60s/2min)
/octave:messaging narrative # Company/product narrative arc
/octave:messaging value-props # Value proposition hierarchy
When the user runs /octave:messaging:
If no mode specified, ask:
What messaging artifact do you need?
STRATEGIC
1. Messaging Framework - Complete: pillars, proof points, key messages by audience
2. Positioning Statement - Problem → solution → differentiation → proof
3. Narrative Arc - Situation → complication → resolution story
TACTICAL
4. Messaging Matrix - Persona × use case grid with tailored messages
5. Value Prop Hierarchy - Primary → secondary → supporting value props
6. Elevator Pitches - 15-second through 2-minute versions
Your choice:
Then ask for focus:
What's the focus?
1. [Product 1 from library]
2. [Product 2 from library]
3. Entire company / all products
4. Specific use case or segment
Your choice:
# Get all core entities for messaging context
list_all_entities({ entityType: "product" })
list_all_entities({ entityType: "persona" })
list_all_entities({ entityType: "segment" })
list_all_entities({ entityType: "use_case" })
list_all_entities({ entityType: "competitor" })
# Get full product details
get_entity({ oId: "<product_oId>" })
# Get the Motion(s) and Motion ICP narratives for this offering
list_motions()
list_motion_icps({ motionOId: "<motion_oId>" })
find_motion_icp({ motionIcpOId: "<motion_icp_oId>", includeLearnings: true }) # per persona × segment narrative
# Get proof points for evidence
search_knowledge_base({
query: "<product> results metrics outcomes",
entityTypes: ["proof_point", "reference"]
})
# Get competitive positioning
search_knowledge_base({
query: "<product> differentiation unique advantage",
entityTypes: ["competitor"]
})
# Get brand voice
list_all_entities(entityType: "brand_voice")
# Get conversation insights for what resonates
list_findings({
query: "value propositions that resonated positive reactions",
startDate: "<90 days ago>",
eventFilters: { sentiments: ["POSITIVE"] }
})
See messaging-framework.md for the messaging framework mode template.
See positioning-statement.md for the positioning statement mode template.
See messaging-matrix.md for the messaging matrix mode template.
See elevator-pitches.md for the elevator pitches mode template.
See narrative-arc.md for the narrative arc mode template.
See value-prop-hierarchy.md for the value prop hierarchy mode template.
After generating any messaging artifact:
What would you like to do next?
1. Generate another messaging artifact
2. Create a persona-specific version
3. Save key messages back into Motion ICP narratives (Strategic narrative, Benefits and impacts, etc.)
4. Generate campaign content from this messaging
5. Export this framework
6. Done
If the user wants to save messaging back to the library:
# Fold the new messaging into the relevant Motion Playbook's Motion ICP narrative sections
# (Strategic narrative, Benefits and impacts, Pains and consequences) for the targeted
# persona × segment cells.
update_motion_playbook({
motionPlaybookOId: "<motion_playbook_oId>",
instructions: "Update Strategic narrative and Benefits and impacts for the [persona] × [segment] cell(s) to incorporate: <key messages>"
})
# Or update product positioning
update_entity({
entityType: "product",
oId: "<product_oId>",
instructions: "Update positioning to: [new positioning statement]"
})
list_all_entities - List products, personas, segments, use cases, competitorsget_entity - Get full entity detailssearch_knowledge_base - Find proof points, references, competitive intellist_all_entities (entityType: "brand_voice") - Brand voice for tone consistencylist_findings - What resonates in real conversationslist_motions - Motions for the offeringlist_motion_icps - Persona × segment matrixfind_motion_icp - Per-cell narrative + Learning Loop learningsgenerate_content - Generate messaging artifactsupdate_motion_playbook - Save messaging into Motion Playbook narrative sections (Strategic narrative, Benefits and impacts, Pains and consequences) for the targeted Motion ICP cellsupdate_entity - Update product positioningNo Products Found:
No products in your library.
Messaging frameworks need product information as a foundation. Run
/octave:library create productfirst, or describe your product and I'll work from that.
No Personas Found:
No personas defined yet.
I can generate a basic messaging framework from your product, but persona-specific messaging requires persona definitions. Run
/octave:library create personato add personas.
No Proof Points:
No proof points found to support the messaging.
I'll generate the framework with placeholder evidence. Mark items tagged [NEEDS EVIDENCE] and add proof points as they become available.
/octave:positioning - Complete visual positioning system as HTML document (the visual counterpart to this skill)/octave:campaign - Generate campaign content from your messaging/octave:pmm - Create collateral that uses this messaging/octave:launch - Build a launch plan around this messaging/octave:brainstorm messaging-angles - Brainstorm new angles/octave:library - Update library entities with finalized messagingtools
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.