Guide · Agent skill
How to use the Voice Call Post-Processing agent skill (voice-post-call)
Updated · written with AI from the project's own documentation and checked against our catalogue data
voice-post-call is an agent skill from the gbrain recipes for voice agents. It tells an AI agent what to do after a voice call with an AI persona ends: transcribe the audio, write a summary and verbatim transcript into a meeting page in the knowledge base, link people and companies mentioned, and post a short summary to a messaging app. This guide explains what the skill does, how to install it, how to trigger it and what it needs before it can run.
Quick start
- 1Set up the host repository. Make sure you have a gbrain host repository with the voice-agent service running.
- 2Configure transcription and summarization. Confirm Whisper transcription via gbrain transcription works and that you have a separate LLM for summarization.
- 3Add messaging credentials. Put Telegram, Slack or Discord credentials in the host repo .env file.
- 4Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder.
- 5Opt in to log_to_brain if you want mid-call logging. Enable log_to_brain in tools-allowlist.local.json, since it is an optional operation and is off by default.
- 6Implement the call-end handler. Write a post-call handler in your host repo that reads the captured audio and transcript on connection close and runs the pipeline.
- 7Test with a call and check the brain page. Make a test call, then confirm a meetings/ page was written and the summary appeared in your messaging app.
What is an agent skill and what does this one do?
An agent skill is a folder with a SKILL.md file that tells an AI agent how to handle a particular task. When a request matches the skill's triggers, the agent follows the instructions in the file.
This skill covers post-call handling for a voice session. The pipeline has six stages: capture the call audio, transcribe it with Whisper via gbrain transcription, summarize it with a separate LLM call, write a meeting page, cross-link entities, and post the summary to Telegram, Slack or Discord.
- Writes to meetings/ or voice-calls/ in the brain
- Page includes frontmatter, a Summary section, a verbatim Transcript block quote, an audio link and an Entities mentioned list
- Appends timeline entries to people or company pages that were mentioned
- Posts the summary after the brain page is written
Install the voice-post-call skill
Download the ZIP from this page and unzip it. For a personal setup, put the folder in ~/.claude/skills/. For a single project, put it in that project's .claude/skills/ folder.
In the Claude apps, you can instead upload the ZIP under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/
- Project: .claude/skills/ inside the project folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Check what the skill needs before you trigger it
The skill is a blueprint for a working pipeline, not a standalone app. Installing the file does not give you transcription, summarization or messaging. You need the host repository and its services in place first.
The source lists these requirements: a gbrain host repository with the voice-agent service, Whisper transcription via gbrain transcription, a separate LLM for summarization, messaging credentials (Telegram, Slack or Discord) in the host repo .env file, and an operator-implemented call-end handler for automatic processing.
- gbrain host repository with the voice-agent service
- Whisper transcription via gbrain transcription
- A separate LLM for summarization
- Messaging credentials (Telegram, Slack or Discord) in the host repo .env
- Operator-written call-end handler for automatic processing
Understand the two firing paths
Path A is persona-initiated. During a call, the voice persona can call log_to_brain over the WebRTC data channel. This only works if the operator opts in through tools-allowlist.local.json, because log_to_brain is in OPTIONAL_OPS.
Path B is a call-end handler. The shipped server.mjs has no automatic call-end handler, so nothing runs when the connection closes. You have to write that handler in your host repo. Until you do, calls where the persona never logs are not processed.
- Path A: opt-in, works mid-call through log_to_brain
- Path B: not shipped; operator implements it on connection close
- If both fire, the second is idempotent and updates the existing page
Trigger the skill with natural requests
The skill routes on these trigger phrases: after the call, call ended, summarize the call, call transcript, voice call summary and post call summary. Use plain wording that matches one of them.
The triggers are the canonical list in the frontmatter, so requests that do not resemble them may not route to the skill.
- "Summarize the call with Venus from this morning"
- "The call ended, post the call summary"
- "Show me the call transcript from yesterday"
- "After the call, write the meeting page and link the people mentioned"
Read the brain page the skill writes
Each call produces a markdown page with frontmatter (type, subtype, persona, date, duration_sec, caller, rating, issues, audio_url), a Summary of three to five sentences, a verbatim Transcript in a block quote, an audio link, an Entities mentioned list and a Timeline entry.
The transcript is meant to be exact. The summary is the agent's interpretation and is kept separate from it.
- Frontmatter fields include persona, duration_sec and audio_url
- Transcript is verbatim, not paraphrased
- Citation format: [Source: voice call with <persona>, YYYY-MM-DD HH:MM PT]
Safety notes: scripts, network and private data
The skill does not run scripts, but it does use the network. It sends audio to transcription and an LLM, and it posts summaries to external messaging services.
The pipeline stores full verbatim transcripts and audio files. The skill file does not describe consent or retention controls, so decide those yourself before recording anyone. Do not use it for calls that must stay private unless you add those controls.
- Runs scripts: no
- Uses network: yes (transcription, LLM, messaging)
- Stores full transcripts and audio files
- No consent or retention guidance in the file
What people use it for
- A developer building a voice assistant on gbrain saves every call as a meeting page automatically once the call-end handler is in place.
- An operator running the gbrain voice-agent service keeps a consistent record format for each call with the same frontmatter fields.
- A team posts a short call summary to a Slack or Telegram channel while the full transcript stays in the brain.
- Entity cross-links add a timeline entry to a person or company page each time they come up in a call.
Frequently asked questions
How do I install the voice-post-call skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps you can upload the ZIP under Settings → Capabilities → Skills.
What do I need to run voice-post-call?
You need a gbrain host repository with the voice-agent service, Whisper transcription via gbrain transcription, a separate LLM for summarization, messaging credentials for Telegram, Slack or Discord in the host repo .env, and a call-end handler you write yourself.
Is voice-post-call free to use?
The skill is licensed under MIT. The source does not list prices for the services it depends on, so check the cost of your transcription, LLM and messaging providers separately.
Why isn't my call being processed automatically?
The source says the automatic call-end trigger is not shipped. Without an operator-written handler, only calls where the persona calls log_to_brain are processed, and only if you opted in through tools-allowlist.local.json.
Can I use this instead of a phone app's call summary?
Not really. The source describes it as needing a self-hosted voice-agent setup with its own transcription and messaging wiring. A phone app's built-in summary is simpler if you do not need a self-hosted knowledge base.
Is it safe for private calls?
Be cautious. The pipeline stores full verbatim transcripts and audio and posts summaries to external messaging services, and the file does not describe consent or retention controls. Add those controls yourself before using it for sensitive calls.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use voice-post-call if you are building a voice assistant on gbrain or already run its voice-agent service and want a consistent, searchable record of every call. Skip it if you just want a summary from a phone app, or if you need calls to stay private, since the skill stores full transcripts and audio and the automatic trigger is something you must build yourself.
Download the skill