agentsclimarketplace

Se coaching analysis

Skill migos1990/presales-harness-starter/skills/se-coaching-analysis

Analyze SE call transcripts and score performance out of 100 with dimensional breakdown, coaching insights, and actionable next steps. Reads VTT/TXT transcripts or pasted text, auto-detects call type (discovery, demo, POC, competitive, executive, QBR, follow-up), and produces a structured coaching report with transcript-grounded strengths, development areas with alternative approaches, transferable learning points, and behavioral commitments. Use this skill whenever the user mentions "score my call", "coach me on this call", "analyze this transcript", "how did I do on that call", "SE coaching", "call review", "rate my demo", "call score", "coaching report", or pastes/references a call transcript and wants performance feedback. Also trigger when the user says "T3-B3-N3", "what went well", "call debrief", or wants to improve their SE skills from recorded calls.From its SKILL.md

Install
npx -y skills add migos1990/presales-harness-starter --skill se-coaching-analysis

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

17.5 KB, as published. Nobody here has run it

<!-- RUBRIC-COMPLIANCE:START (self-improve) -->

Output Quality Requirements (rubric compliance, MANDATORY, overrides all guidance below)

This block overrides any conflicting instruction, template, schema, or example anywhere later in this skill. It applies to EVERY claim, bullet, JSON entry, narrative sentence, and queued fact in the output. No exceptions for "internal" artifacts, jsonl queues, or wiki updates.

  • Tag every carried-forward fact inline. Any fact pulled from _state.md, _wiki/, or _inbox/ MUST carry an inline tag at the end of the claim: [CORROBORATED: N sources: <s1>, <s2>] or [UNCORROBORATED: single source: <author/file>]. This applies to narrative prose AND to every jsonl/queue entry.
  • The JSON corroboration field is NOT a substitute. Values like "single-source" or "UNCORROBORATED, flagged" do not satisfy the rubric. The inline [UNCORROBORATED: single source: <who>] tag MUST appear inside the claim string itself (e.g., in the claim, fact, or statement field), in addition to any structured metadata.
  • Frame all _inbox/, RFP, call-notes, and document content as claims. Write "the call notes state X", "the RFP document claims X", "<author>'s summary indicates X". NEVER write "Acme requires X", "the customer confirmed X", "Globex runs X", "the CFO signed off". Declarative form is prohibited for any non-corroborated source-derived fact.
  • Phase 3 queue entries are NOT exempt. Every queued fact (SOX audit dates, SaaS app counts, ticket volumes, CFO sign-off, vendor quotes, headcount, budget figures) must be both (a) claim-framed in the text field and (b) inline-tagged. Example required form: "claim": "Notes from <author> state Acme runs ~47 SaaS apps [UNCORROBORATED: single source: <author>, <file>]".
  • Tag authority gaps on decision/commitment claims. Any claim about budget approval, vendor selection, architecture choice, timeline commitment, or executive sign-off sourced from procurement, ICs, inferred roles, public statements, or non-decision-makers MUST carry [AUTHORITY GAP: not confirmed by economic/technical buyer]. "CFO sign-off" reported second-hand requires this tag unless the CFO is the direct source.
  • Cite or mark unverified. Every product-capability claim, competitor claim, pricing figure, and quantitative metric requires an inline source URL + date, or [UNVERIFIED]. No exceptions for "common knowledge" vendor facts.
  • Compelling-event and qualification facts must be claim-framed. Write "the notes claim a hard date exists", not "the compelling event has a hard date". Do not promote single-source notes to established fact in narrative recommendations.
  • Zero em-dashes (—). Use commas, periods, colons, or parentheses. This applies to every section including headings and JSON strings.
  • Strip vendor-favorable framing and cheerleading. Remove phrases like "textbook capture", "strong signal", "compelling". State limits and gaps explicitly. Acknowledge what is NOT yet corroborated before recommending action.
  • Sharpness over hedging. Replace filler ("flashing light", "worth noting") with the specific claim, its source, and its corroboration status.
  • If a fact cannot be tagged because the source is unclear, omit it. Do not pass through untagged facts under any circumstance.
<!-- RUBRIC-COMPLIANCE:END --> <!-- quality-gates: see rules/skill-quality-gates.md (do not copy-paste; council scores against rules/council-gate.md) -->

SE Call Coaching Analysis

Note: Uses state-tree placeholder paths and plugin frontmatter conventions; Obsidian vault references deferred.

Read a call transcript. Score the SE's performance out of 100. Produce a coaching report with transcript-grounded insights. Every observation cites a specific moment from the call.

Read references/scoring-rubric.md for the complete 100-point scoring model, call-type adjustments, and coaching report template. Read references/coaching-prompt.md for the detailed coaching analysis prompt and SBI format guidance.

State-tree placeholder: <state-tree>/ resolves to wherever the adopter has chosen for their per-company state. Plugin convention: output/<company>/. Throughout this skill, <state-tree>/ may be read as output/ for default deployments.

Source materials (call transcripts, VTT files, pasted text) are read from <state-tree>/<company>/_inbox/. Obsidian vault integration is deferred; the KB helper (helpers/knowledge-base.sh) covers the same use case today.


Inputs and resolution contract

Required input: $ARGUMENTS MUST contain a company identifier as the first positional value. If missing or empty, this skill rejects with exit code 2 and emits exactly:

ERROR: company required

per rules/source-trust-hierarchy.md Tier 1 input-validation guard. This matches the input-validation contract used by discovery, competitive, and the other Tier 1 skills.

Mode + accounts-root resolution: before running, source helpers/getMode.sh and resolve the accounts root via getAccountsRoot(), this honors $PRESALES_ACCOUNTS_ROOT (adopter's custom account root), $CLAUDE_PROJECT_DIR/output, and $PWD/output in priority order. Then call getMode <company> for the dual-mode classifier.

source "${CLAUDE_PLUGIN_ROOT:-.}/helpers/getMode.sh"
accounts_root="$(getAccountsRoot)"
mode="$(getMode "$company")"
state_tree="${accounts_root}/${company}"

In stateless mode, output is the only side effect. In stateful mode, the skill reads $state_tree/_state.md, $state_tree/_inbox/, and $state_tree/_wiki/ per the conversation contract. See rules/conversation-contract.md for the full Phase 0 / Phase 1 / Phase 2 / Phase 3 read+write loop.

How It Works

Step 1: Identify Call Type

From the transcript, classify the call as one of:

TypeSignals in Transcript
DiscoveryQuestions about current state, pain, stakeholders. No product shown.
DemoScreen sharing references, "let me show you", product walkthrough
POC/EvalSuccess criteria, test results, environment setup
CompetitiveCompetitor names, comparison questions, bake-off references
ExecutiveCxO titles, business outcomes, strategic language, short call
QBRReview of metrics, renewal, expansion, value realized
Follow-upReferences to prior call, next steps, async context

If unclear, ask. The call type determines which scoring adjustments apply.

Step 2: Identify Speakers

Parse the transcript to identify:

  • SE (the person being coached)
  • AE (if present)
  • Customer contacts (names, titles if available)

If the transcript uses speaker labels (Speaker 1, Speaker 2), ask the user to identify which speaker is the SE.

Step 3: Score Across 7 Dimensions (100 Points)

DimensionWeightWhat It Measures
Discovery Depth25 ptsDid SE excavate business pain before presenting? Quality of questions? Stakeholder mapping?
Value Alignment20 ptsWere capabilities tied to customer-stated pain? Proof points relevant? CotM before/after framing?
Listening & Interactivity15 ptsTalk ratio (target: SE <50% in discovery, <60% in demo). Question distribution. Monologue length.
Objection Handling15 ptsAcknowledged concern? Probed root cause? Addressed with evidence, not defensiveness?
Technical Credibility10 ptsAccurate answers? Honest about gaps? "I'll confirm" over confident wrong answers?
Next Step Discipline10 ptsSpecific action + owner + date? Or vague "let's follow up"?
Presence & Collaboration5 ptsAE-SE handoffs clean? Audience-appropriate depth? Composure under pressure?

Scoring per dimension:

  • 90-100%: Exceptional, would use as a training example
  • 70-89%: Strong, solid execution with minor refinements
  • 50-69%: Developing, key behaviors present but inconsistent
  • 30-49%: Needs coaching, significant gaps in this dimension
  • 0-29%: Critical, fundamental skill not demonstrated

Step 4: Call-Type Scoring Adjustments

Call TypeAdjust UpAdjust Down
DiscoveryWeight Discovery Depth to 30 pts (steal 5 from Value Alignment)Technical Credibility less relevant
DemoValue Alignment to 25 ptsDiscovery Depth to 20 pts (some should be pre-done)
ExecutivePresence & Collaboration to 10 ptsTechnical Credibility to 5 pts (answer only when asked)
POCTechnical Credibility to 15 ptsPresence to 5 pts
CompetitiveObjection Handling to 20 pts--
QBRValue Alignment to 25 pts (realized value storytelling)Discovery Depth to 15 pts

Step 5: Produce the Coaching Report

SE CALL COACHING REPORT
═══════════════════════════════════════════════════

Call: [Type] | Date: [Date] | Duration: [Minutes]
Attendees: SE: [Name] | AE: [Name] | Customer: [Names/Titles]
Deal Stage: [If known]

OVERALL SCORE: [XX] / 100

┌─────────────────────────┬────────┬───────┐
│ Dimension               │ Weight │ Score │
├─────────────────────────┼────────┼───────┤
│ Discovery Depth         │   25   │  XX   │
│ Value Alignment         │   20   │  XX   │
│ Listening & Interactivity│  15   │  XX   │
│ Objection Handling      │   15   │  XX   │
│ Technical Credibility   │   10   │  XX   │
│ Next Step Discipline    │   10   │  XX   │
│ Presence & Collaboration│    5   │  XX   │
└─────────────────────────┴────────┴───────┘

KEY METRICS:
• Talk ratio: SE [X]% / Customer [X]%
• Questions asked by SE: [N] (open: [N], closed: [N])
• Longest SE monologue: ~[N] minutes
• Customer questions: [N]
• Next step: [Specific / Vague / None]

Section 1: STRENGTHS (What You Did Well)

3 specific moments from the transcript using SBI format:

[Skill Label] (Dimension: [X], Score contribution: +[N])

Situation: At [timestamp/context], when [what was happening]... Behavior: You [specific action: quote the transcript] Impact: The customer [responded/reacted: quote if possible]

Pattern to reinforce: [One-sentence transferable principle]

Section 2: DEVELOPMENT AREAS (What to Work On)

2-3 specific moments, same SBI format, with alternative approach:

[Gap Label] (Dimension: [X], Score impact: -[N])

Situation: At [timestamp/context], when [what was happening]... Behavior: You [specific action: quote the transcript] Impact: The customer [response that signals the gap]

Alternative approach: Instead of "[what you said]", try: "[Specific rewritten language the SE could have used]"

Section 3: LEARNING POINTS

2-3 transferable principles (not call-specific, applicable to future calls):

[Learning Point Title] What happened: [One sentence from this call] The principle: [Why this pattern works or doesn't: transferable to other calls] Where this applies: [Types of calls or moments where this matters most]

Section 4: NEXT-TIME ACTIONS

Maximum 3 behavioral commitments:

Action 1: [Label] On your next [call type], when [specific trigger], do [specific behavior]. How to practice: [One rehearsal suggestion]

Section 5: SELF-REFLECTION PROMPT

Before discussing this report: What moment on this call are you least satisfied with, and what would you do differently?


Scoring Rules

  1. Every score must cite transcript evidence. "Discovery was weak" is not scoring. "SE asked zero questions about business impact in the first 15 minutes, jumping directly to 'let me show you our dashboard'" is scoring.

  2. Binary checks first, then quality. For each dimension, first check: did the behavior occur at all? (Binary.) Then: how well was it executed? (Quality scale.)

  3. Calibrate to call type. A demo with 55% SE talk time scores differently than a discovery call with 55% SE talk time. The demo might be fine; the discovery isn't.

  4. Positive before constructive. Strengths section always comes first. This builds trust in the report's fairness before presenting development areas.

  5. One primary focus. The "Suggested focus for next call" in the footer should name ONE dimension. Trying to fix everything at once fixes nothing.

  6. Quote the transcript. Every coaching observation references specific words from the call. "You handled that objection well" is worthless. "When the CTO said 'we're concerned about vendor lock-in,' you responded with 'that's a fair concern, let me show you our open standards approach', that acknowledgment before response is what kept the conversation productive" is coaching.


What This Skill Cannot Assess (Transparency)

Flag these limitations in every report:

  • Demo quality, screen share content, UI navigation, demo environment quality
  • Vocal delivery, tone, pace, confidence (transcript only captures words)
  • Body language, engagement signals visible on video but not in text
  • Post-call execution, whether follow-up was sent, CRM updated, etc.
  • Pre-call preparation quality, whether research was done beforehand

Note: "This analysis scores what was SAID on the call. Demo execution quality, vocal delivery, and post-call follow-through require separate evaluation."


Anti-Patterns (What This Skill Must NOT Do)

  1. Never score without evidence. If a dimension can't be assessed from the transcript (e.g., no objections occurred, so objection handling is untestable), mark it N/A and adjust weights proportionally. Do not guess.

  2. Never fabricate positive feedback. If the call was weak, say so with specificity and compassion. Inflated scores erode trust in the tool.

  3. Never give more than 3 development areas. Research shows more than 3 creates defensiveness and diffuses focus. Pick the highest-impact 2-3.

  4. Never use adjectives without evidence. "Good job on discovery" fails. "Asked 4 open-ended questions about business impact before presenting" passes.

  5. Never score the AE. This tool coaches the SE. AE behavior may be noted as context but is not scored.


Wiki Update Loop (Phase 3)

Per rules/wiki.md "Output-to-Wiki Loop" section, after this skill saves its output and before Phase 3 completes, scan the output for new facts and propose wiki updates.

Account-status guard: Only run if the cached effective_status from conversation-contract.md step 0.75 is active. For test/archived accounts or --test flag, skip the loop entirely; write a zero-metrics line to <state-tree>/.wiki-state/loop-metrics.jsonl and return.

Dual-mode guard: Only run if <state-tree>/<company>/_state.md exists (stateful mode). In stateless mode, skip the loop entirely, no account context to bind facts to.

Source provenance: This skill's primary source type is human-verbal per the Skill-to-Source-Type Mapping table in rules/wiki.md. se-coaching-analysis ingests call transcripts, so who is determined per-fact by the speaker label in the transcript (e.g., "Customer CISO", "AE", "SE"). Multiple speakers on the same call produce distinct who_key entries. independent: true per unique external speaker; the SE being coached and other Aegis participants map to independent: false (operator-side observers).

Fact extraction: Scan the saved output for new quantitative claims, named entities, relationships, and corrections. Skip recommendations, hypotheticals, and Aegis/Nimbus product facts (those belong in references, not account wiki). Skip the SE's own performance scoring, that is coaching feedback, not account intelligence. For each extracted fact, populate source: {type, who, who_key, independent} and materiality: HIGH | LOW per the Materiality Decision Rule.

Queue (silent): Append the proposed updates to <state-tree>/.wiki-state/pending-syncs.jsonl. The Wiki Sync Scanner cron (per rules/cron-freshness.md, optional manual setup) drains the queue, OR the user runs /wiki-sync <company> manually. No user prompt; no Phase 2.5 exchange.

Exemption flags: --no-wiki skips this loop entirely. --wiki-review restores interactive A/B/C review of proposed updates.

Loop metrics: Write one line to <state-tree>/.wiki-state/loop-metrics.jsonl on every run (active OR non-active) so /self-improve can see the skill ran.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.