| name | audio-transcript-review |
| description | Review and enrich elder-care audio transcripts from plan-of-care meetings, IDT calls, facility phone calls, voicemail, payer calls, JFS/ODM calls, or staff conversations. Supports local Whisper/Parakeet transcription outputs, speaker labeling/diarization reconciliation, timestamped statement attribution, casework evidence tagging, transcript-quality triage, and routing into admin logs, appeals, complaints, Medicaid disputes, legal-referral packets, and case-context ledgers. |
Audio Transcript Review
Use this skill when a user has a recording, transcript, diarization output, voicemail, plan-of-care meeting, discharge-planning call, or facility/staff phone call that needs to be turned into auditable casework evidence.
This workflow is built for privacy-first use: raw audio, transcripts, diarization files, prompt packets, logs, and findings stay in the user's private case workspace and remain out of git.
When to invoke
- The user mentions plan-of-care meeting audio, IDT meeting audio, discharge-planning calls, voicemail, facility phone recordings, payer calls, JFS/ODM calls, speaker attribution, diarization, Whisper, Parakeet, transcript cleanup, transcript review, or audio evidence.
- The user has a machine transcript and wants to determine who said what, when it was said, and how it maps to the case.
- The user needs evidence candidates for Medicare/SNF appeals, LTC-vs-home narrative disputes, Medicaid/JFS disputes, quality complaints, billing/records issues, admin interaction logs, or legal-referral packets.
Business outcomes
- Insurance appeal — preserve facility or payer statements about skilled need, unsafe discharge, therapy status, equipment, medications, oxygen, home-health readiness, or discharge-plan gaps.
- LTC vs. home narrative dispute — identify who stated the resident's goal, who disputed the goal, and whether staff attributed an LTC plan to the patient/family.
- Medicaid / financial dispute — capture statements about applications, withdrawals, signatures, authorized representative status, spend-down, copay, or business-office pressure.
- Quality / complaint support — preserve statements about falls, medication issues, missed services, unsafe discharge, incident handling, staffing, grievances, or records withholding.
- Administrative chronology — create a timestamped, speaker-attributed record that can feed
admin-interaction-log, case-context-ledger, appeal supplements, legal-referral packets, and state-agency complaints.
Guardrails before processing audio
-
Recording authorization — ask before transcribing, and do not proceed on an unresolved answer. Ask the user:
- In what state was the recording made? If it was a call, where was each other participant?
- Was every participant told they were being recorded, or did someone not know?
- Was it made in a private setting — a resident's room, a closed care-plan meeting, a phone call?
Two separate bodies of law apply and satisfying one does not satisfy the other: wiretap/eavesdropping law governs the call (some states require only one party's consent, a minority require all parties, and the rule for phone calls can differ from in-person), and long-term-care electronic monitoring statutes separately govern recording inside a facility, where the roommate's rights under 42 CFR 483.10 are also implicated.
If not every participant knew, say plainly: the recording may have been unlawful to make in that state, and if so it may also be unlawful to share, may be inadmissible, and may affirmatively damage the case. Recommend the user confirm their state's rules — with counsel, the Long-Term Care Ombudsman, or their state bar's referral line — before transcription and before any use outside their own household.
Do not transcribe over an unresolved answer, and never carry an unresolved recording's content into a complaint, appeal, or letter. This skill does not advise on recording law. See DISCLAIMERS.md at the repository root.
-
Keep originals immutable. Do not alter the original audio. Work from a copy or derived transcript in a private output folder.
-
PHI stays local. Do not paste identifying quotes or raw transcript excerpts into chat unless the user explicitly asks.
-
No medical/legal advice. Surface timestamped, attributed evidence candidates and open questions for human review.
-
Never guess speaker identity. If attribution is unclear, label speakers as Unknown speaker A/B and list the evidence needed to resolve identity.
Recommended pipeline
Step 1 — Intake and case context
Collect only the inputs needed for the requested pass:
- Audio file path(s), transcript path(s), or diarization output path(s).
- Meeting/call type: plan-of-care meeting, IDT meeting, facility phone call, voicemail, payer call, JFS/ODM call, family call, or other.
- Known speaker roster and roles, if available.
- Optional
case-context/ folder. Read case_profile.md, issue_log.md, evidence_register.md, and open_questions.md when present.
- Output root. Default to a sibling private folder such as
<audio-stem>-transcript-review/.
Step 2 — Preserve source metadata
Before analysis, create a small source note in the private output root:
- Original filename and path.
- SHA-256 hash of the audio/transcript when feasible.
- Recording date/time, participants, and source of the file if known.
- Chain-of-custody note: who provided it, when, and whether any edits/conversions were made.
Step 3 — Transcribe or normalize transcript
If there is no transcript, use LOCAL_AUDIO_OFFLOAD.md to plan local transcription first. Prefer local tools such as Parakeet, Whisper, whisper.cpp, faster-whisper, or a user-approved local service. Do not launch transcription until the user explicitly approves.
If a transcript exists, normalize it without losing original content:
- Preserve timestamps as supplied.
- Preserve raw speaker labels even when they are wrong; add corrected labels separately.
- Keep exact original wording for quoted evidence. Use cleaned summaries only as secondary notes.
- Mark low-confidence spans as
inaudible, overlap, crosstalk, uncertain-wording, or needs-audio-check.
Step 4 — Speaker attribution and enrichment
Build or update a speaker_map.md / speaker_map.json with:
- Speaker label, likely name, role/title, organization, confidence, evidence for identity, and unresolved ambiguities.
- Distinguish known identity from voice cluster. A voice cluster is not a person until verified.
- Use role labels when names are unknown:
Facility social services, Therapy staff, Nursing, Business office, Payer representative, Family/POA, Resident/patient.
Step 5 — Review transcript for casework evidence
Use TRANSCRIPT_REVIEW_PROMPT.md for human, sub-agent, Copilot CLI, Claude CLI, or local-model review. For long transcripts, run scripts/plan_transcript_review.py to create prompt packets and a manifest.
Each review pass should produce:
- Timestamped statement attribution table.
- Findings with tags:
APPEAL, LTC-DISPUTE, MEDICAID, QUALITY, TIMELINE, and when needed RECORDS, BILLING, LEGAL, ADMIN.
- Transcript-quality and speaker-confidence notes.
- Candidate admin-log entries.
- Case-context update recommendations.
Step 6 — Validate against source audio
Before using any quote in a filing or complaint:
- Spot-check high-value statements against the source audio.
- Verify speaker identity, timestamp, and exact wording.
- Keep a
needs-audio-check list for statements that are strategically important but uncertain.
- If local models were used, sample-check enough chunks to detect systematic hallucination, speaker drift, or quote-cleanup errors.
Step 7 — Route outputs
- Strong, verified statements →
case-context-ledger evidence register.
- Facility/staff calls or voicemail →
admin-interaction-log candidate entries.
- Discharge-plan or skilled-need statements →
snf-appeal-supplement / appeal draft inputs.
- Contradictions, admissions, or unsafe-discharge statements →
state-agency-complaint or legal-referral inputs.
- Missing records, refusal to provide documents, or billing records references →
hipaa-records-request or medicaid-caseworker-correspondence as applicable.
Optional local offload
For expensive first passes, combine this skill with local-analysis-offload:
- Deterministic local tools:
ffmpeg, Parakeet, Whisper/whisper.cpp/faster-whisper, diarization tools, media metadata extraction.
- Local LLM/VLM families: Qwen, GLM, Gemma, or similar models via Ollama, LM Studio, llama.cpp, vLLM, or another user-controlled runtime.
- Safe jobs for less-intelligent local models: transcript cleanup proposals, speaker-cluster consistency checks, timestamp table extraction, first-pass tagging, contradiction candidate lists, and quality flags.
- Human/strong-model review remains required for high-stakes findings, final quote selection, clinical/legal framing, or anything that will be filed externally.
Outputs
Use a private output root such as:
<case-output>/audio-transcript-review/
├── source_note.md
├── transcript_normalized.md
├── speaker_map.md
├── transcript_review_plan.md
├── prompts/
├── outputs/
├── logs/
├── <prefix>_Enriched_Transcript.md
├── <prefix>_Transcript_Findings.md
└── <prefix>_Transcript_Findings.json
Related skills
local-analysis-offload — plan local transcription, diarization, OCR/image, VLM, or local LLM jobs.
case-context-ledger — preserve verified statements and unresolved questions.
admin-interaction-log — convert staff/facility communications into a dated factual log entry.
snf-records-review — reconcile audio statements against facility-authored records.
snf-appeal-critique — rank audio evidence in the hostile-reviewer evidentiary hierarchy.
state-agency-complaint, medicaid-caseworker-correspondence, and legal-referral-intake-packet — downstream drafting from verified, cited transcript evidence.