Back to skills
SkillHub ClubShip Full StackFull Stack
voice-call-report
Imported from https://github.com/cncorp/arsenal.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Stars
11
Hot score
85
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B84.0
Install command
npx @skill-hub/cli install cncorp-arsenal-voice-call-report
Repository
cncorp/arsenal
Skill path: dot-claude/skills/voice-call-report
Imported from https://github.com/cncorp/arsenal.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: cncorp.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install voice-call-report into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/cncorp/arsenal before adding voice-call-report to shared team environments
- Use voice-call-report for development workflows
Works across
Claude CodeCodex CLIGemini CLIOpenCode
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: voice-call-report
description: Generate voice call reports showing transcriptions, scores, and score deltas as markdown files
---
# voice-call-report Skill
## Purpose
Generate formatted markdown reports for voice calls showing:
- Full transcription with speaker labels
- Conflict health per segment
- Call score after each segment
- Score delta showing impact of each statement
**Use this skill when:**
- User asks to see a voice call report
- User wants to analyze call scoring trajectory
- User asks "show me the impact of each message"
- User requests a transcript with scores
---
## Step 1: Get the Call SID
You need a `call_sid` to generate the report. Use the `sql-reader` skill to find recent calls:
```bash
arsenal/dot-claude/skills/sql-reader/connect.sh "
SELECT DISTINCT
m.provider_data->>'call_sid' as call_sid,
MIN(m.created_at) as call_started,
COUNT(*) as segments
FROM message m
WHERE m.provider_data->>'type' = 'voice_transcript'
AND m.provider_data->>'call_sid' IS NOT NULL
GROUP BY m.provider_data->>'call_sid'
ORDER BY call_started DESC
LIMIT 10;
"
```
---
## Step 2: Query Call Data
Use `sql-reader` to get the call transcript with scores:
```bash
arsenal/dot-claude/skills/sql-reader/connect.sh "
SELECT
(m.provider_data->>'segment_number')::int as seg,
COALESCE(m.provider_data->>'speaker', 'Unknown') as speaker,
COALESCE(me.enrichment_data->>'segment_conflict_health', '-') as conflict_health,
COALESCE((me.enrichment_data->>'call_score')::text, '-') as score,
m.content as transcript
FROM message m
LEFT JOIN message_enrichment me ON me.message_id = m.id
WHERE m.provider_data->>'call_sid' = 'YOUR_CALL_SID_HERE'
AND m.provider_data->>'type' = 'voice_transcript'
ORDER BY (m.provider_data->>'segment_number')::int;
"
```
---
## Step 3: Format as Markdown Report
Create the report file at `tmp/reports/voice_call_CALL_SID.md`:
```markdown
# Voice Call Report
**Call SID:** CA1234...
**Generated:** YYYY-MM-DD HH:MM:SS
## Score Trajectory
| Seg | Speaker | Conflict Health | Score | Delta | Impact | Transcript |
|-----|---------|-----------------|-------|-------|--------|------------|
| 1 | Partner | Neutral | 50 | -- | Start | Hello... |
| 2 | Partner | Positive | 55 | +5 | Positive | I feel... |
| 3 | User | Negative | 48 | -7 | Negative | But you... |
## Summary
- **Starting Score:** 50
- **Final Score:** 72
- **Total Change:** +22
- **Most Positive Impact:** Segment 5 (+12)
- **Most Negative Impact:** Segment 3 (-7)
---
*Report generated by voice-call-report skill*
```
---
## Score Delta Calculation
For each segment with a score:
1. `delta = current_score - previous_score`
2. First segment shows `--` (no previous)
3. Segments without scores (pending/intervention) show `-`
**Impact categories:**
- `Very Positive`: delta > 10
- `Positive`: delta > 0
- `Neutral`: delta = 0
- `Negative`: delta > -10
- `Very Negative`: delta <= -10
- `N/A`: no score (pending message)
---
## Output Location
Save reports to: `tmp/reports/voice_call_{CALL_SID}.md`
The `tmp/` directory is gitignored.
---
## Common Violations
- **BANNED:** Generating reports without a valid call_sid
- **BANNED:** Outputting raw SQL results to the user (always format as markdown)
- **CORRECT:** Use `sql-reader` skill for database queries
---
## Troubleshooting
**Problem:** No data returned for call_sid
**Cause:** Call hasn't been processed or call_sid is incorrect
**Solution:** Check call exists with the query in Step 1
**Problem:** Score column shows NULL or dash
**Cause:** Message is pending/intervention type (no score computed)
**Solution:** This is expected - those messages don't affect the score
---
## Success Criteria
You've completed this skill when:
- [ ] Report is saved to `tmp/reports/`
- [ ] Report shows segment-by-segment scoring
- [ ] Score deltas are calculated correctly
- [ ] Report is readable markdown format