Claude
Skills
Sign in
Back

analyze-transcript

Included with Lifetime
$97 forever

Analyze meeting transcripts to extract requirements, decisions, and action items. Specialized extraction for conversational content.

Writing & Docs

What this skill does


# Analyze Transcript Command

Extract requirements and decisions from meeting transcripts and conversational content.

## Usage

```bash
/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

```text
"We decided that..."
"The conclusion is..."
"Going with [option]..."
"Agreed: ..."
"Decision: ..."
```

### Action Item Markers

```text
"Action: [name] will..."
"TODO: ..."
"[Name] to follow up on..."
"We need to..."
"Next step: ..."
```

### Requirement Discussions

```text
"The system should..."
"Users need to be able to..."
"It must handle..."
"Requirements: ..."
"Feature request: ..."
```

### Concern Markers

```text
"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]:` or `Name:`
- `**Name**:`
- Speaker labels in transcript format

### Step 3: Extract Content

Spawn `document-miner` agent with transcript-specific extraction patterns.

Extract:

1. Requirements (explicit and implicit)
2. Decisions
3. Action items
4. 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

```yaml
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

```bash
/requirements-elicitation:analyze-transcript ./meetings/sprint-planning.md
```

Output:

```text
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

```bash
/requirements-elicitation:analyze-transcript ./calls/client-call.txt \
  --speakers "JD:ClientCEO,SM:SalesManager,PM:ProductManager" \
  --domain "enterprise-deal"
```

Output:

```text
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

```bash
/requirements-elicitation:analyze-transcript ./meetings/*.md --domain "q1-planning"
```

Output:

```text
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

```yaml
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

```bash
# 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:

1. Review all flagged conflicts
2. Validate low-confidence extractions
3. Follow up on open concerns
4. Assign action items if not already done

Related in Writing & Docs