stefanoskarakasis/Product-Marketing-Skills

interview-summary

Turns raw customer interview transcripts into structured discovery outputs anchored in JTBD theory, with signal-level pattern detection and confidence scoring.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/stefanoskarakasis/Product-Marketing-Skills --skill interview-summary

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

interview-summary — Customer Discovery Synthesis Engine

Transforms raw interview transcripts into structured intelligence. Not a transcription service. A synthesis engine that extracts Jobs, surfaces patterns, and flags contradictions with your positioning or ICP. Built on JTBD theory. Sharpened for B2B product and GTM contexts.


Trigger

  • When: Any customer or prospect interview needs synthesis into structured discovery output.

This includes: discovery calls, win/loss debriefs, churn interviews, competitive research interviews, onboarding feedback, feature validation calls, or any call where you need to extract Jobs, map solutions, and flag contradictions with your positioning or ICP.

  • Not for:
  • interview-summary is not a transcription tool — use Otter.ai or Fireflies for that.
  • interview-summary is not for analyzing your own positioning or messaging in isolation.

If you need to check whether your messaging lands with buyers, route to positioning-messaging or gaccs-brief.

  • interview-summary is not for building buyer personas from scratch without interviews.

No dedicated persona-building skill exists yet; this skill synthesizes existing transcript data only.

  • Example prompts:
  • "Summarize this customer discovery call and flag which Jobs matter most"
  • "I have a win/loss interview — help me extract what we lost and why"
  • "Process this transcript. Flag any positioning signal that contradicts our current narrative"
  • "Churn interview debrief — what Job did we fail to deliver on?"

Inputs

  • Args: Path to a transcript file (.txt, .md, .pdf), pasted plain text,

structured note dump, or Otter/Fireflies/Rev transcription output. Optional: interview context (interviewee role, company, interview purpose). Free format — transcript alone is sufficient; context makes synthesis sharper.

  • Defaults: If no context provided, skill asks three orientation questions.

If interviewee segment unknown, default to "Unclassified" in ICP match. If no interview type specified, default to "Discovery".

  • Context keys:
  • /foundation/brain.md — optional. Section 2 (ICP, including the confirmed beachhead segment) and Section 3 (Alternatives & Positioning), used only to validate the ICP match and to compare named alternatives. Never used to shape what the transcript says.
  • Brain contract: Reads Sections 2, 3. Writes: none. Never writes to: Sections 1 to 8. Customer words, objections and switching forces from a summary are stored by product-marketing-context (Add material) after you approve the Brain Diff.
  • /context/meta-patterns.md — optional; recurring patterns the user has logged from prior interviews

Connectors (Optional)

ConnectorWhat it adds
~~call recordingsTranscripts pulled instead of pasted
~~emailCustomer email threads
No connectors? Paste the material and I'll work from that. The output has the same shape. Pulled facts are drafts: each is tagged with category, tool and date, and nothing is written until you confirm.

Pre-flight

  • If /context/meta-patterns.md exists in the user's workspace, check for recurring patterns they've logged from prior interviews. If one applies, surface a guardrail prompt before Step 1. Skip silently if the file doesn't exist.
  • Load /foundation/brain.md if it exists. Extract: Section 2 (ICP, including the confirmed beachhead segment) and Section 3 (Alternatives & Positioning).

If missing, surface non-blocking notice: "No brain context. Synthesis will be transcript-isolated."

  • Accept transcript in any format: pasted text, uploaded file (.txt, .md, .pdf),

or structured notes. Read the full file before producing output.

  • Identify interview type (Discovery / Validation / Win-loss / Churn / Competitive / Other)

from context or ask in intake step.


Steps

Step 1: Orientation & Context Load

  • If no context provided, ask: "Who is this? (role, company, segment) | What was the purpose? | What are you trying to learn?"
  • Load /foundation/brain.md and extract ICP, Positioning, Beachhead Segment for validation.
  • Declare interview type and confidence upfront.

Step 2: Intake & Pre-Synthesis Audit

  • Read transcript in full.
  • Run silent pre-synthesis audit: Does it have ≥1 identifiable Job? Current solution? Satisfaction signals? Verbatim quotes?
  • If too sparse, surface: "Coverage too thin. What I can extract: [list]. Proceed with caveats or follow up?"
  • If adequate: proceed to synthesis.

Step 3: JTBD Synthesis & Pattern Matching

  • Extract Jobs (functional, emotional, social).
  • For each Job: Desired outcome, Importance, Satisfaction level, Verbatim signal.
  • If /context/meta-patterns.md exists, check whether any cross-skill pattern logged there applies.
  • Flag any new signal worth tracking: is this a new Job type or pattern the user hasn't seen before?

Step 4: Validation Against Context

  • ICP match: Does this interviewee match the ICP? Flag if not.
  • Anti-ICP discovery: Does this interview surface a signal that suggests this segment is a poor fit? (e.g., "Long procurement cycles are a blocker").
  • Positioning signal: Does what they said validate or contradict current positioning?
  • Beachhead alignment: Does this person represent the beachhead or an adjacent segment?
  • Objection discovery: Any new objection or anti-persona signal?

Step 5: Generate Structured Summary

  • Produce markdown summary with template structure.
  • All Metadata fields on separate lines; all Job fields on separate lines; separate Key Insights (analysis only) from Signal Quotes (verbatim only).
  • Include Action Items table with named owners and dates.
  • Include Flags section (contradictions with positioning or ICP) or explicitly mark "None detected".

Step 6: Surface Learnings

  • If a strategic signal surfaced (an ICP change, a positioning contradiction, a new pattern worth tracking),

name it explicitly and ask the user if and where they'd like it saved — their own notes, a brain-adjacent doc, or /context/meta-patterns.md if they maintain one. This skill does not write to any file on its own.

  • If an anti-ICP signal was discovered, flag it and ask if the user wants to update

/foundation/brain.md Section 2 themselves — offer to draft the wording, but don't write it. Step 7: Learning Close

  • Ask: "What surprised you most? Wish I'd flagged anything else?"
  • Ask: "Does this change your view of the most important Job?"
  • Ask: "Does this change how you want to describe the problem?"
  • Append one entry to /context/skill-sessions.md, in the format defined in product-marketing-context/.claude-plugin/skill-sessions-format.md (Type A — execution session), folding the answers to the three questions above into pattern:
`yaml
     type: execution
     skill: interview-summary
     session_date: [YYYY-MM-DD]
     pattern: [one falsifiable statement drawn from the three questions above,
       or "none" if nothing notable surfaced]
     source: [surprised / wrong / missing / N/A]

Write this row directly — do not ask the user for permission. This is a separate, mechanical log entry, distinct from the interview summary itself.


Outputs

  • Chat output format: Structured markdown summary with Metadata, Background, Current Solution, What they like, Problems (JTBD blocks),

Key Insights, Action Items table, Flags, Signal Quotes, Pattern Signal. All output in markdown, copy-paste ready for Notion, GitHub, or email.

  • Files written: /context/skill-sessions.md — one appended row per session, per Step 7.
  • External side effects: None beyond the session log above. The interview summary itself is never written to a file unless the user asks and confirms where.

Verification

  • [ ] Guardrails checked if /context/meta-patterns.md exists
  • [ ] Every summary includes Metadata with Date, Participants, Interview Type, Confidence, ICP Match.
  • [ ] Every Job block has: Job name, Desired outcome, Importance + evidence, Satisfaction + evidence, Verbatim signal.
  • [ ] Key Insights contain only analysis — no verbatim quotes (those go in Signal Quotes section).
  • [ ] Signal Quotes are verbatim, not paraphrased. Include speaker name and context.
  • [ ] Action Items table has named owners (not placeholders) and real dates (YYYY-MM-DD format).
  • [ ] Flags section is populated with contradictions, or explicitly states "None detected".
  • [ ] Session logged to /context/skill-sessions.md (Step 7).
  • [ ] ICP match is assessed (not defaulted to "Yes") — reasoning included if "Partial" or "No".
  • [ ] Anti-ICP signals are flagged and surfaced to the user, not silently dropped.
  • [ ] Positioning signals are noted in Key Insights or Flags, not omitted.
  • [ ] If sparse transcript: confidence is 🔴 Low and warning prepended.

Do Not Use For

  • Transcription — use Otter.ai, Fireflies, or Rev. This skill synthesizes, not transcribes.
  • Building personas from scratch — no dedicated skill exists yet. This skill processes existing interviews.
  • Analyzing your own positioning in isolation — use positioning-messaging or gaccs-brief.

Route: positioning-messaging for positioning audit, gaccs-brief for campaign messaging.


Operating Rules

  1. Context-first synthesis — Load /foundation/brain.md before synthesis, if it exists.

If missing, surface non-blocking notice. Synthesis is transcript-isolated if context missing.

  1. Full transcript read — Never summarize from a partial read. Read the complete file before output.
  2. Confidence calibration — Score (🟢 High / 🟡 Medium / 🔴 Low) based on transcript quality and completeness.

For 🔴 summaries, prepend explicit warning. Confidence must match input quality, not optimism.

  1. Every Job gets all five fields — Job, Desired outcome, Importance + evidence, Satisfaction + evidence, Verbatim signal.

No blank fields. No block text. Each on its own line.

  1. Verbatim quotes are sacred — Signal Quotes are exact verbatim. Key Insights are pure analysis, no quotes.

Never paraphrase a quote as verbatim. Never bury a quote in an insight.

  1. ICP match is assessed, not defaulted — If interviewee matches ICP: state "Yes". If partial match: state "Partial" with reason.

If doesn't match: state "No" with reason. Never default to "Yes" for convenience.

  1. Anti-ICP discovery is actionable — If interview surfaces a signal like "long procurement cycles", flag it explicitly.

Offer to draft an update for the user to make themselves. Don't suppress it.

  1. Positioning signals are explicit — If interview validates positioning, state it. If contradicts, flag it.

If neutral, mark as such. Don't suppress contradictions.

  1. Interview type shapes the synthesis — Win/loss emphasizes what we lost and why.

Churn emphasizes Job delivery failure. Discovery emphasizes new Jobs. Validation emphasizes confirmation or contradiction. Weighting differs by type; synthesis logic adapts.


Quality Gate

CheckStandardPass =
Guardrails surfaced/context/meta-patterns.md checked if it existsYes
Frontmatter completename, version, description, metadata presentYes
All required sectionsTrigger, Inputs, Pre-flight, Steps, Outputs, Verification, Do Not Use For, Operating Rules, Quality GateYes
Steps named and imperativeSteps in imperative formYes
Outputs specify all sub-fieldsChat format, side effectsYes
Verification is concreteCheckable checksYes

Summary Output Template

`markdown
---
# Interview Summary
interview-summary v2.3.0
---
## 📋 Metadata
**Date:** [Date and time]
**Participants:** [Interviewer name + role] | [Interviewee name + role + company]
**Interview type:** [Discovery / Validation / Win-loss / Churn / Competitive / Other]
**Confidence:** [🟢 High / 🟡 Medium / 🔴 Low]
**ICP match:** [Yes / Partial / No — one-line reason if not Yes]
**Anti-ICP signals:** [List if any, else "None detected"]
---
## 🏢 Background
[Role, company, team size, and context about their situation.]
---
## 🛠️ Current solution
[What they use today — tool, process, or workaround.]
---
## ✅ What they like about their current solution
- **[Strength label]:** [What Job it satisfies and how.]
---
## 🔴 Problems with their current solution
**Job:** [The functional task they're trying to get done]
**Desired outcome:** [What success looks like for them]
**Importance:** [Critical / High / Medium / Low] — [one-line evidence]
**Satisfaction:** [Not satisfied / Partially / Satisfied] — [one-line evidence]
**Verbatim signal:** *"[Exact quote if available]"*
[Repeat block per Job. Separate each with a line break.]
---
## 💡 Key insights
- [Unexpected finding or analytical observation — no quotes here, pure interpretation.]
---
## 📋 Action items
| Date | Owner | Action |
|------|-------|--------|
| YYYY-MM-DD | [Name] | [Specific action] |
---
## ⚠️ Flags
- **[Flag label]:** [What it contradicts and why it matters.]
---
## 🗣️ Signal quotes
> *"[Quote]"* — [Speaker, context. What makes this one irreplaceable.]
---
## 📊 Pattern signal
**New signal for tracking:** [Yes / No]
**Anti-ICP signal detected:** [Yes / No — specific signal]

Related Skills

Cross-reference when findings trigger downstream work:

  • product-marketing-context → Always load first. Use to validate ICP, Positioning, Beachhead.
  • gaccs-brief → Messaging hypothesis surfaced → route here for campaign brief.
  • pre-mortem → Risk or failure mode surfaced by customer → route here.
  • pmm-okrs → Success metric gap surfaces → route here for KR signal.

Commands

CommandWhat it does
/summarize [transcript or file]Run the full synthesis flow on a transcript
/summarize-quick [transcript or file]Output only: skips intake questions, produces summary immediately
/closeRun the Learning Close for the current session
/helpShow available commands

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
stefanoskarakasis
커뮤니티

brand-voice

Builds a persona-adaptive Voice & Tone guide (brand attributes, tone shifts by buyer type and channel, forbidden language), then deepens brain Section 4. Trigger with "how should we sound", "voice guide", "our copy feels off", "we sound like everyone else", "adapt tone for", or any request to define, apply, or audit how the brand communicates.

설치 수
0
GitHub Stars
7
업데이트
10월 25일
stefanoskarakasis
커뮤니티

buyer-personas

Maps the enterprise buying committee (Economic Buyer, Champion, Technical Evaluator, End User, Procurement) before any messaging, then builds Dunford-structured, alternatives-anchored personas ready for positioning-messaging. Trigger with "map our buying committee", "who do we need to win over", "build our buyer personas", "who kills our deals", or any request to identify or profile the people involved in a B2B purchase.

설치 수
0
GitHub Stars
7
업데이트
10월 25일
stefanoskarakasis
커뮤니티

customer-stories

Runs a B2B customer story from kickoff to customer approval: kickoff questions, internal brief, interview questions, a draft in one fixed structure, the customer review pack and an audit, with every stat and quote checked. Trigger on: "write a customer story", "kick off a case study", "customer interview questions", "prepare the customer review", "audit this customer story". Related: interview-summary, proof-points, writing-assistant.

설치 수
0
GitHub Stars
7
업데이트
10월 25일
stefanoskarakasis
커뮤니티

experiment-ideas

Generates several concrete, cost-efficient growth ideas, each with a channel, core message and cost-efficiency rationale, grounded in your brain's ICP, alternatives and market context. Trigger with "give me marketing ideas", "brainstorm growth tactics", "what should we try", "cheap ways to promote this", or any request to generate raw campaign or channel ideas before committing to one to test.

설치 수
0
GitHub Stars
7
업데이트
10월 25일