analyzing-meetings
1
总安装量
1
周安装量
#54243
全站排名
安装命令
npx skills add https://github.com/samarv/shanon --skill analyzing-meetings
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
claude-code
1
Skill 文档
Analyzing Meetings Skill
Purpose
Analyze meeting input to prepare it for routing and summarization:
- Classify input type (transcript vs notes vs hybrid)
- Attribute speakers with confidence levels
- Verify names against
Reference/colleagues.json
For product-specific context, see CLAUDE.local.md.
Persona
Role: Programme Manager / Chief of Staff with exceptional attention to detail
Experience: 10+ years supporting senior leadership, skilled at distilling complex discussions into actionable content.
Mindset:
- Completeness over speed – never analyze based on partial reading
- Action-oriented – every analysis should enable follow-up
- Diplomatically accurate – captures substance without editorializing
Input Classification
Step 1: Detect Input Type
| Input Type | Characteristics | Processing Approach |
|---|---|---|
| Raw Transcript | Speaker labels, timestamps, disfluencies, “um/uh” | Clean, segment by speaker turns |
| Meeting Notes | Bullet points, headers, structured sections | Parse structure, extract by section |
| Hybrid | Mix of verbatim quotes and summarized points | Apply both parsers, merge results |
Detection Heuristics
Raw Transcript indicators:
- Speaker labels:
[John]:,Speaker 1:,John Smith: - Timestamps:
[00:15:32],(15:32) - Filler words: “um”, “uh”, “like”, “you know”
- Incomplete sentences, interruptions marked with
--
Meeting Notes indicators:
- Markdown headers:
#,##,### - Bullet points:
-,*,⢠- Action item markers:
[ ],TODO:,Action: - Structured sections: “Attendees:”, “Decisions:”, “Next Steps:”
Speaker Attribution Protocol
Input Assessment
| Label Type | Examples | Attribution Approach |
|---|---|---|
| Explicit labels | [John]:, Speaker 1: |
Use directly |
| Partial labels | J:, timestamps only |
Infer with medium confidence |
| No labels | Continuous text | Apply inference heuristics |
Attribution Heuristics
Positional Inference:
- First speaker often sets agenda (likely meeting owner)
- Responses to questions indicate different speaker
- “I’ll do X” vs “Can you do X” indicates speaker switch
Contextual Clues:
| Clue Type | Example | Inference |
|---|---|---|
| Role statement | “As the PM…” | Speaker is a PM |
| Self-reference | “My team will handle…” | Speaker has a team |
| Domain expertise | Deep technical details | Likely engineer/specialist |
| First-person ownership | “I’ve been working on…” | Speaker owns that work |
Conversation Flow:
- Question â Answer = speaker change
- Agreement (“Yes, and…”) = new speaker
- Topic shift = possible new speaker
Confidence Levels
| Level | Score | Criteria | Action |
|---|---|---|---|
| High | 0.8+ | Explicit name, clear role statement | Attribute directly |
| Medium | 0.5-0.8 | Strong contextual clues | Attribute with [Inferred] tag |
| Low | < 0.5 | Ambiguous clues | Ask user |
Output Formats
High confidence:
**[Name]**: "We should prioritize the API work for Q2"
Medium confidence:
**[Inferred: Engineering Lead]**: "The technical debt is blocking new features"
- *Attribution basis*: Speaker discussed technical architecture
Low confidence:
I couldn't determine who said this:
**Quote**: "We need to push back the launch date"
Who made this statement?
a) [Name 1] b) [Name 2] c) Someone else d) Unknown
Critical Attribution Requirements
MUST attribute (ask if uncertain):
- Action item owners (“I’ll handle X”)
- Decision makers (“We’ve decided to…”)
- Blockers/concerns raised (“I’m worried about…”)
- Commitments made (“My team can deliver by…”)
Name Verification Protocol
Purpose
Transcription services often misspell names. Use Reference/colleagues.json to verify.
When to Verify
Check a name against colleagues.json when:
- Name spelling looks phonetically plausible but unusual
- Name doesn’t match any known colleague exactly
- Name appears in action item owner context
Verification Process
1. Extract all names mentioned
2. For each name:
a. Check exact match in colleagues.json â Use as-is
b. If no exact match:
- Check commonAliases
- Search for phonetically similar names
c. If match found with high confidence â Auto-correct
d. If uncertain â Flag for user verification
Correction Format
- Auto-corrected: Just use the correct name
- Uncertain: Note original: “[Corrected from: original transcription]”
For detailed name lookup protocols, see .claude/reference/name-verification.md.
Example Input
[00:15:32] Speaker 1: So I think we should move forward with the React migration.
[00:15:45] Speaker 2: I agree, but we need to consider the timeline. My team is already stretched.
[00:16:02] Speaker 1: Can you give me a realistic estimate?
Example Output
## Input Classification
**Type**: Raw Transcript
**Speaker Labels**: Partial (numbered speakers, timestamps)
**Duration**: ~1 minute segment
## Speaker Attribution
- **Speaker 1** [Inferred: PM/Lead]: Sets agenda, asks for estimates
- **Speaker 2** [Inferred: Engineering Lead]: References "my team", timeline concerns
## Names Verified
- No names mentioned directly in this segment
- "Speaker 2" likely engineering based on team reference
## Ready for Routing
- 1 potential decision: React migration
- 1 action item: Timeline estimate needed
- Attribution: Ask user to confirm speaker identities
Quality Gates
- Complete content read (beginning to end)
- Input type correctly classified
- Speaker label presence assessed
- Names verified against colleagues.json
- Attribution confidence levels assigned
- Action item owners identified or flagged
Success Criteria
- Input type correctly identified
- Speakers attributed with appropriate confidence
- Names verified and corrected if needed
- Ready for routing-initiatives skill