ishan0410

Pgai Voice Bot — Data skill for Claude Code

Data community

Voice bot that calls an AI healthcare phone agent as a simulated patient: LiveKit Agents pipeline (Deepgram STT, Claude, Cartesia TTS) over Twilio SIP, with recordings, transcripts, and automated bug.

How to install Pgai Voice Bot

This entry records only its repository, not the path inside it, so there is no exact command to give. Open ishan0410/pgai-voice-bot and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Pgai Voice Bot does

Voice bot that calls an AI healthcare phone agent as a simulated patient: LiveKit Agents pipeline (Deepgram STT, Claude, Cartesia TTS) over Twilio SIP, with recordings, transcripts, and automated bug analysis.

Alternatives in Data

  • Bug Bounty Master Workflow — Full pipeline: Recon -> Learn -> Hunt -> Validate -> Report 924 ★
  • Memex — Open-source, local-first AI journal app for iOS and Android 697 ★
  • Vibesec — Helps write secure code by preventing common vulnerabilities including IDOR, XSS, SQL injection, SSRF, and wea 687 ★

README

Pretty Good AI: patient voice bot

A Python voice bot that phones Pretty Good AI's test line (**+1-805-439-8008**, the only number it can dial) and plays a realistic patient calling *Pivot Point Orthopedics*. It books, reschedules, cancels, asks for refills, pushes on edge cases, and then turns each call into a recording, a transcript, and a bug analysis.

  • Pipeline mode, not speech-to-speech. Built on LiveKit Agents: phone → LiveKit SIP → Deepgram STT → Claude (patient) → Cartesia TTS → phone.
  • Scenario-driven, not scripted. Each scenario gives the caller a profile, a goal, facts, and habits. The LLM improvises every line from what the clinic's agent actually says.
  • One command per call. python -m app.run call 04 starts the worker, dials, records both sides, writes the transcript, and runs the bug analysis.

How it works and why: [ARCHITECTURE.md](ARCHITECTURE.md). What changed after listening to calls: [ITERATION_LOG.md](ITERATION_LOG.md). Findings: [BUG_REPORT.md](BUG_REPORT.md). Every call: [calls/INDEX.md](calls/INDEX.md).

Repository layout

app/                 the voice bot
  agent.py           LiveKit worker: dials, runs the patient session, captures events
  run.py             CLI: check / list / call / finalize / analyze / report
  safety.py          destination allowlist (+18054398008 only)
  persona.py         scenario -> patient system prompt
  scenarios.py       scenario schema + validation
  barge_in.py        deliberate talk-over for the interruption scenario
  text_filters.py     token + stage-direction filtering on the LLM stream
  audio.py           trims/mixes the recording to MP3 + stereo OGG
  finalize.py        worker output -> transcript.txt, metadata.json, recordings
analysis/            post-call bug analysis (timing heuristics + LLM review) and BUG_REPORT.md
scenarios/           13 YAML scenarios (one per call type / edge case)
calls//     one folder per call (see "Outputs")
scripts/