skills/analyzer/SKILL.md
Analyze email threads, call transcripts, and conversations for resonance, adherence to messaging, and competitive differentiation. Use when user says "analyze this call", "how did the email land", "score this thread", "conversation analysis", or pastes conversation content to evaluate.
npx skillsauth add octavehq/lfgtm analyzerInstall 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.
Analyze email threads, call transcripts, and sales conversations against your Octave library. Evaluates messaging resonance, Motion ICP narrative adherence, and competitive differentiation. Provides actionable insights, suggested improvements, and draft follow-ups.
/octave:analyzer [--type email|call|chat]
/octave:analyzer # Interactive - paste content
/octave:analyzer --type email # Analyze email thread
/octave:analyzer --type call # Analyze call transcript
When the user runs /octave:analyzer:
What would you like me to analyze?
1. Paste an email thread
2. Paste a call transcript
3. Paste a chat/message thread
4. Provide a file path
(Paste content below or tell me the file path)
Accept pasted content or read from file. Content can be:
For Email: Extract:
For Call Transcript: Extract:
For Chat: Extract:
Use MCP tools to gather context:
Research external participants:
# Get external participant info
find_person({
searchMode: "specific_person",
email: "<external email>", # or
firstName: "<name>",
companyName: "<company>"
})
# Get company info
find_company({
domain: "<domain from email>" # or inferred from signature
})
# Match to persona
qualify_person({
person: { email: "<email>", jobTitle: "<title>" },
additionalContext: "Identify which persona this person matches"
})
Get library context:
# Find the right Motion + Motion ICP cell for this conversation
list_motions()
list_motion_icps({ motionOId: "<motion_oId>" })
find_motion_icp({ motionIcpOId: "<motion_icp_oId>", includeLearnings: true })
Run three analysis dimensions:
Did our messaging land? What signals indicate engagement or disengagement?
Use MCP to get persona details:
# Search for messaging we used
search_knowledge_base({
query: "<key phrases from our messages>",
entityTypes: ["persona", "use_case"]
})
# Compare to persona pain points
get_entity({ oId: "<matched_persona_oId>" })
Evaluate:
Did we follow the Motion ICP narrative? What did we miss?
Use MCP to get the Motion ICP cell narrative:
# Get the matched Motion ICP cell (persona × segment)
find_motion_icp({ motionIcpOId: "<matched_motion_icp_oId>", includeLearnings: true })
Compare conversation to the Motion ICP narrative:
Did we position against competitors effectively?
Use MCP to get competitor details:
# Check for competitor mentions
search_knowledge_base({
query: "<competitor names or hints from conversation>",
entityTypes: ["competitor"]
})
# Get competitor details
get_entity({ oId: "<competitor_oId>" })
Evaluate:
See conversation-output-template.md for the Conversation Analysis output template.
What would you like to do next?
1. Deep dive on a specific analysis area
2. Get more suggestions for [resonance / adherence / differentiation]
3. Refine the follow-up message
4. Generate content to address gaps
5. Compare to another conversation
6. Save insights to deal notes
7. Done
Your choice:
| Score | Meaning | Signals | |-------|---------|---------| | 9-10 | Strong engagement | Multiple questions, shared details, expressed urgency | | 7-8 | Good engagement | Engaged responses, some interest signals | | 5-6 | Neutral | Polite but non-committal | | 3-4 | Weak | Short responses, delayed replies | | 1-2 | Disengaged | Objections, pushback, ghosting |
| Score | Meaning | Signals | |-------|---------|---------| | 9-10 | Full adherence | All Motion ICP narrative elements used appropriately | | 7-8 | Good adherence | Most elements used, minor gaps | | 5-6 | Partial adherence | Some elements used, key gaps | | 3-4 | Weak adherence | Few elements used, off-narrative | | 1-2 | Non-adherent | Didn't follow the Motion ICP narrative |
| Score | Meaning | Signals | |-------|---------|---------| | 9-10 | Strong positioning | Clear differentiation, competitive landmines set | | 7-8 | Good positioning | Some differentiation, mostly positioned | | 5-6 | Neutral | Didn't address competition directly | | 3-4 | Weak positioning | Competitor strengths uncountered | | 1-2 | Poor positioning | Lost competitive ground |
find_person - Identify external participantsfind_company - Get company contextqualify_person - Match to personalist_motions - List all Motions in the workspacelist_motion_icps - List Motion ICP cells for a Motionfind_motion_icp - Get full Motion ICP cell narrative (Strategic narrative, Pains and consequences, Benefits and impacts, Methodology, References) for adherence analysisget_entity - Get persona, competitor detailssearch_knowledge_base - Find relevant messaging, proof pointsgenerate_content - Draft follow-up messagesgenerate_email - Generate email responsesFrom: [email protected]
To: [email protected]
Subject: Re: Quick question about your platform
[Message content]
---
On Jan 15, [email protected] wrote:
> [Previous message]
[00:00] Sales Rep: Thanks for joining...
[00:15] Prospect: Happy to be here...
or
Sales Rep: Thanks for joining...
John (Acme): Happy to be here...
Me: Hey John, following up on our conversation
John: Thanks for reaching out
Me: Did you have a chance to review the proposal?
No Content Provided:
Please paste the content you'd like me to analyze, or provide a file path.
I can analyze:
- Email threads
- Call transcripts
- Chat messages
- Meeting notes
Cannot Identify Participants:
I couldn't identify the external participant.
Can you tell me:
- Who is the prospect? (name, company, title)
- What stage is this deal in?
This helps me match to the right Motion ICP cell.
No Matching Motion ICP:
I couldn't find a Motion ICP cell that matches this conversation.
I'll analyze against general best practices, but for better insights:
- Tell me which Motion (offering + motion type) this falls under
- Or create a Motion for this offering if one don't exist yet
/octave:research - Deep research on participants/octave:generate - Generate follow-up content/octave:pmm - Create collateral to address gaps/octave:audit - Ensure Motion ICP cells have complete narratives/octave:pipeline - Deal coaching based on conversation analysis/octave:insights - Aggregate patterns across many conversationstools
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.