Analyze Transcript Command
Extract requirements and decisions from meeting transcripts and conversational content.
Usage
/requirements-elicitation:analyze-transcript ./meetings/kickoff-notes.md
/requirements-elicitation:analyze-transcript ./transcripts/stakeholder-call.txt --domain "checkout"
/requirements-elicitation:analyze-transcript ./notes/*.md --speakers "PM:ProductManager,TL:TechLead,UX:Designer"
Arguments
| Argument | Required | Description |
|----------|----------|-------------|
| transcript-path | Yes | Path to transcript file or glob pattern |
| --domain | No | Domain name for organizing output |
| --speakers | No | Speaker role mapping (format: abbreviation:Role) |
What It Extracts
Requirements
- Explicitly stated requirements
- Implied requirements from discussions
- Feature requests and suggestions
Decisions
- Agreed-upon approaches
- Technology choices
- Scope decisions
Action Items
- Commitments made
- Follow-up tasks
- Assignments
Concerns
- Risks identified
- Issues raised
- Open questions
Extraction Patterns
Decision Markers
"We decided that..."
"The conclusion is..."
"Going with [option]..."
"Agreed: ..."
"Decision: ..."
Action Item Markers
"Action: [name] will..."
"TODO: ..."
"[Name] to follow up on..."
"We need to..."
"Next step: ..."
Requirement Discussions
"The system should..."
"Users need to be able to..."
"It must handle..."
"Requirements: ..."
"Feature request: ..."
Concern Markers
"I'm concerned about..."
"Risk: ..."
"Issue: ..."
"What if...?"
"Problem: ..."
Workflow
Step 1: Load Transcript
Read the transcript file(s) using the Read tool.
Step 2: Identify Speakers
If --speakers provided, use the mapping. Otherwise, attempt to identify speakers from patterns like:
[Name]:orName:**Name**:- Speaker labels in transcript format
Step 3: Extract Content
Spawn document-miner agent with transcript-specific extraction patterns.
Extract:
- Requirements (explicit and implicit)
- Decisions
- Action items
- Concerns and risks
Step 4: Attribute and Weight
For each extraction:
- Note the speaker (if identifiable)
- Apply weighting based on speaker role
- Record surrounding context
Step 5: Save and Report
Save to .requirements/{domain}/transcripts/
Report summary of findings.
Speaker Weighting
speaker_weights:
product_owner: high # Business requirements
technical_lead: high # Technical constraints
stakeholder: high # Domain requirements
developer: medium # Implementation insights
designer: medium # UX requirements
unknown: low # Needs validation
Examples
Basic Transcript Analysis
/requirements-elicitation:analyze-transcript ./meetings/sprint-planning.md
Output:
Analyzing: sprint-planning.md
Speakers identified:
- PM (ProductManager): 45 statements
- TL (TechLead): 32 statements
- DEV (Developer): 28 statements
Extraction Results:
REQUIREMENTS (8):
- REQ-TR-001: "Users shall receive email notifications for order status" [PM, High]
- REQ-TR-002: "API response time must be under 200ms" [TL, High]
...
DECISIONS (3):
- DEC-001: "Use PostgreSQL for primary database" [TL]
- DEC-002: "Target launch date: Q2 2025" [PM]
...
ACTION ITEMS (5):
- ACT-001: "TL to create database schema document"
- ACT-002: "PM to get stakeholder sign-off"
...
CONCERNS (2):
- CONCERN-001: "Third-party API reliability" [TL]
- CONCERN-002: "Training timeline for new features" [PM]
Saved to: .requirements/sprint-planning/transcripts/TR-sprint-planning.yaml
With Speaker Mapping
/requirements-elicitation:analyze-transcript ./calls/client-call.txt \
--speakers "JD:ClientCEO,SM:SalesManager,PM:ProductManager" \
--domain "enterprise-deal"
Output:
Analyzing: client-call.txt
Speaker Mapping Applied:
- JD → ClientCEO (weight: high)
- SM → SalesManager (weight: medium)
- PM → ProductManager (weight: high)
REQUIREMENTS from ClientCEO (5):
- REQ-TR-001: "Must integrate with SAP" [JD, High confidence]
- REQ-TR-002: "Support 50,000 concurrent users" [JD, High confidence]
...
REQUIREMENTS from ProductManager (3):
- REQ-TR-006: "Dashboard customization needed" [PM, High confidence]
...
Saved to: .requirements/enterprise-deal/transcripts/TR-client-call.yaml
Multiple Transcripts
/requirements-elicitation:analyze-transcript ./meetings/*.md --domain "q1-planning"
Output:
Found 4 transcripts matching pattern
Processing:
1. kickoff-meeting.md ........ 12 requirements, 4 decisions
2. technical-review.md ....... 8 requirements, 6 decisions
3. stakeholder-feedback.md ... 15 requirements, 2 decisions
4. sprint-planning.md ........ 5 requirements, 3 decisions
Cross-Transcript Analysis:
- Total requirements: 40
- Duplicates detected: 6 (consolidated to 34)
- Conflicting statements: 2 (flagged for review)
Summary saved to: .requirements/q1-planning/transcripts/summary.yaml
Output Format
Saved YAML Structure
transcript_analysis:
file: "sprint-planning.md"
analyzed_date: "2025-12-25T14:30:00Z"
domain: "{domain}"
speakers:
- abbreviation: PM
role: ProductManager
statement_count: 45
weight: high
- abbreviation: TL
role: TechLead
statement_count: 32
weight: high
requirements:
- id: REQ-TR-001
text: "System shall send email notifications for order status changes"
speaker: PM
speaker_role: ProductManager
context: "Discussion about customer communication"
original_quote: "We need email notifications when orders change status"
confidence: high
type: functional
decisions:
- id: DEC-001
text: "Use PostgreSQL for primary database"
speaker: TL
context: "Database technology selection"
rationale: "Team expertise and scalability needs"
action_items:
- id: ACT-001
text: "Create database schema document"
assignee: TL
due_date: null # If not specified
context: "Follow-up from database decision"
concerns:
- id: CONCERN-001
text: "Third-party API reliability during peak hours"
raised_by: TL
context: "Integration discussion"
severity: medium
conflicts:
- items: [REQ-TR-003, REQ-TR-015]
description: "Conflicting performance targets"
resolution_needed: true
Integration
Follow-Up Commands
# Check for gaps after transcript analysis
/requirements-elicitation:gaps
# Interview stakeholders about concerns raised
/requirements-elicitation:interview "Technical Lead" --context "API reliability concerns"
# Consolidate with other sources
/requirements-elicitation:discover "{domain}" --sources transcripts,documents
Best Practices
Transcript Preparation
For best results, transcripts should:
- Clearly identify speakers
- Use consistent formatting
- Include timestamps (optional but helpful)
- Separate topics with headers
Review Recommendations
After analysis:
- Review all flagged conflicts
- Validate low-confidence extractions
- Follow up on open concerns
- Assign action items if not already done