/voice-note-ingest
Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals/, concepts/, people/, companies/, ideas/, personal/, or voice-notes/ based on a decision tree. The user's exact words are the signal.
$ npx -y skills add garrytan/gbrain --skill voice-note-ingest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/voice-note-ingest
Context preview
The summary Claude sees to decide when to auto-load this skill.
Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals/, concepts/, people/, companies/, ideas/, personal/, or voice-notes/ based on a decision tree. The user's exact words are the signal.
SKILL.md
voice-note-ingest.SKILL.mdname: voice-note-ingest
version: 0.1.0
description: Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals/, concepts/, people/, companies/, ideas/, personal/, or voice-notes/ based on a decision tree. The user's exact words are the signal.
triggers:
- "voice note"
- "ingest this voice memo"
- "transcribe and file"
- "voice note ingest"
- "save this audio note"
- "audio message"
mutating: true
writes_pages: true
writes_to:
- voice-notes/
- originals/
- concepts/
- people/
- companies/
- ideas/
- personal/
voice-note-ingest — Exact-Phrasing Voice Capture
> **Convention:** see [conventions/quality.md](../conventions/quality.md) for > citation rules, back-link enforcement, and exact-phrasing requirements. > > **Convention:** see [_brain-filing-rules.md](../_brain-filing-rules.md) for > the filing decision protocol.
Iron Law
The user's **exact words** are the insight. Never paraphrase. Never clean up. The vivid, unpolished, stream-of-consciousness phrasing captures something that cleaned-up prose does not. Preserve it in block quotes. The Analysis section can interpret; the transcript section is sacred.
- ✅ `"The ambition-to-lifespan ratio has never been more fucked"`
- ❌ `User noted the tension between ambition and mortality`
When to invoke
The user sends an audio or voice message via any channel (Telegram, voice memo upload, openclaw audio attachment). The host agent typically provides the transcript text. If not, transcribe it with your host's transcription tool (Groq Whisper is fast and cheap; OpenAI Whisper works too — segment audio > 25MB via ffmpeg first).
The pipeline
1. STORE → Upload original audio to gbrain storage backend
(S3 / Supabase Storage / local — pluggable per
src/core/storage.ts).
2. TRANSCRIBE → Use the agent-provided transcript verbatim, OR
transcribe the audio yourself (see "When to invoke")
if no transcript was supplied.
3. ROUTE → Apply the decision tree (below) to find the right
destination directory.
4. WRITE → Create / update the destination brain page; preserve the
verbatim transcript in a block-quoted "User's Words"
section.
5. CROSS-LINK → For every entity mentioned (person, company), add a
timeline back-link from THEIR brain page to THIS one
(Iron Law per conventions/quality.md).Decision tree (where the content goes)
Apply in order. First match wins. If multiple categories apply, file to the primary directory and cross-link to the others.
1. **Original idea, observation, or thesis** — the user is expressing a novel thought, framework, or connection THEY generated. → `originals/<slug>.md`. Use the user's vivid language for the slug.
2. **About a world concept they encountered** — a framework or model someone else created that the user is referencing. → `concepts/<slug>.md`.
3. **About a specific person** — new information, opinion, or observation about someone. → Update `people/<person>.md` timeline.
4. **About a specific company** — new info about a company. → Update `companies/<company>.md` timeline.
5. **A product or business idea** — something that could be built. → `ideas/<slug>.md`.
6. **A personal reflection** — therapy-adjacent, emotional, identity. → Append to appropriate `personal/<slug>.md`.
7. **None of the above / random thought / doesn't fit cleanly** — → `voice-notes/YYYY-MM-DD-<slug>.md` (catch-all).
**Multiple categories?** Create the primary page, then cross-link to all others. If the voice note covers a person AND a novel idea, create the originals/ page AND update the person's timeline.
Brain page format
For ALL voice-note-derived pages, include this skeleton:
---
title: "[Title derived from content]"
type: [original | concept | voice-note | ...]
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [voice-note, relevant-tags]
sources:
voice-note:
type: voice_note
storage_path: "[gbrain storage URL or relative path]"
acquired: YYYY-MM-DD
acquired_via: "voice note from <channel>"
---
# Title
> Executive summary of what was said and why it matters.
## User's Words
> "Exact transcript, verbatim, preserving every word, hesitation, and verbal
> tic. This is the primary source material. Do not edit."
🔊 [Audio]([gbrain storage URL or relative path])
## Analysis
[What this means, why it matters, connections to other thinking. The
analysis is the agent's interpretation; the transcript above is sacred.]
## See Also
- [Related brain pages with relative links]
---
## Timeline
- **YYYY-MM-DD** | voice note from <channel> — [Brief description]Citation format
[Source: voice note, <channel>, YYYY-MM-DD]
Include timestamps when available:
[Source: voice note, <channel>, YYYY-MM-DD HH:MM PT]
Naming convention
- Audio files: `YYYY-MM-DD-<brief-slug>.<ext>` (e.g.,
`2026-04-13-rick-rubin-creative-philosophy.ogg`)
- Brain pages: match the slug of the destination directory.
Bulk vs. single
This skill handles ONE voice note at a time. Each is its own ingest cycle. No batching.
Anti-Patterns
- ❌ **Paraphrasing the transcript.** The exact words are the signal.
- ❌ **Cleaning up hesitations or filler words** ("um", "like", "you
know"). The texture matters.
- ❌ **Creating a page with no entity cross-links** when people/companies
were mentioned. Iron Law fail.
- ❌ **Skipping the audio storage step.** Always upload the original; the
brain page has a `🔊 [Audio]` link back to it.
Related skills
- `skills/signal-detector/SKILL.md` — same exact-phrasing pattern for
text-channel idea capture
- `skills/idea-ingest/SKILL.md` — for typed-text idea ingestion
- `skills/conventions/quality.md` — citation + back-link rules
Contract
This skill guarantees:
-
Read more
name: voice-note-ingest version: 0.1.0 description: Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals/, concepts/, people/, companies/, ideas/, personal/, or voice-notes/ based on a decision tree. The user's exact words are the signal. triggers: - "voice note" - "ingest this voice memo" - "transcribe and file" - "voice note ingest" - "save this audio note" - "audio message" mutating: true writes_pages: true writes_to: - voice-notes/ - originals/ - concepts/ - people/ - companies/ - ideas/ - personal/
voice-note-ingest — Exact-Phrasing Voice Capture
> **Convention:** see [conventions/quality.md](../conventions/quality.md) for > citation rules, back-link enforcement, and exact-phrasing requirements. > > **Convention:** see [_brain-filing-rules.md](../_brain-filing-rules.md) for > the filing decision protocol.
Iron Law
The user's **exact words** are the insight. Never paraphrase. Never clean up. The vivid, unpolished, stream-of-consciousness phrasing captures something that cleaned-up prose does not. Preserve it in block quotes. The Analysis section can interpret; the transcript section is sacred.
- ✅ `"The ambition-to-lifespan ratio has never been more fucked"`
- ❌ `User noted the tension between ambition and mortality`
When to invoke
The user sends an audio or voice message via any channel (Telegram, voice memo upload, openclaw audio attachment). The host agent typically provides the transcript text. If not, transcribe it with your host's transcription tool (Groq Whisper is fast and cheap; OpenAI Whisper works too — segment audio > 25MB via ffmpeg first).
The pipeline
1. STORE → Upload original audio to gbrain storage backend
(S3 / Supabase Storage / local — pluggable per
src/core/storage.ts).
2. TRANSCRIBE → Use the agent-provided transcript verbatim, OR
transcribe the audio yourself (see "When to invoke")
if no transcript was supplied.
3. ROUTE → Apply the decision tree (below) to find the right
destination directory.
4. WRITE → Create / update the destination brain page; preserve the
verbatim transcript in a block-quoted "User's Words"
section.
5. CROSS-LINK → For every entity mentioned (person, company), add a
timeline back-link from THEIR brain page to THIS one
(Iron Law per conventions/quality.md).Decision tree (where the content goes)
Apply in order. First match wins. If multiple categories apply, file to the primary directory and cross-link to the others.
1. **Original idea, observation, or thesis** — the user is expressing a novel thought, framework, or connection THEY generated. → `originals/<slug>.md`. Use the user's vivid language for the slug.
2. **About a world concept they encountered** — a framework or model someone else created that the user is referencing. → `concepts/<slug>.md`.
3. **About a specific person** — new information, opinion, or observation about someone. → Update `people/<person>.md` timeline.
4. **About a specific company** — new info about a company. → Update `companies/<company>.md` timeline.
5. **A product or business idea** — something that could be built. → `ideas/<slug>.md`.
6. **A personal reflection** — therapy-adjacent, emotional, identity. → Append to appropriate `personal/<slug>.md`.
7. **None of the above / random thought / doesn't fit cleanly** — → `voice-notes/YYYY-MM-DD-<slug>.md` (catch-all).
**Multiple categories?** Create the primary page, then cross-link to all others. If the voice note covers a person AND a novel idea, create the originals/ page AND update the person's timeline.
Brain page format
For ALL voice-note-derived pages, include this skeleton:
---
title: "[Title derived from content]"
type: [original | concept | voice-note | ...]
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [voice-note, relevant-tags]
sources:
voice-note:
type: voice_note
storage_path: "[gbrain storage URL or relative path]"
acquired: YYYY-MM-DD
acquired_via: "voice note from <channel>"
---
# Title
> Executive summary of what was said and why it matters.
## User's Words
> "Exact transcript, verbatim, preserving every word, hesitation, and verbal
> tic. This is the primary source material. Do not edit."
🔊 [Audio]([gbrain storage URL or relative path])
## Analysis
[What this means, why it matters, connections to other thinking. The
analysis is the agent's interpretation; the transcript above is sacred.]
## See Also
- [Related brain pages with relative links]
---
## Timeline
- **YYYY-MM-DD** | voice note from <channel> — [Brief description]Citation format
[Source: voice note, <channel>, YYYY-MM-DD]
Include timestamps when available:
[Source: voice note, <channel>, YYYY-MM-DD HH:MM PT]
Naming convention
- Audio files: `YYYY-MM-DD-<brief-slug>.<ext>` (e.g.,
`2026-04-13-rick-rubin-creative-philosophy.ogg`)
- Brain pages: match the slug of the destination directory.
Bulk vs. single
This skill handles ONE voice note at a time. Each is its own ingest cycle. No batching.
Anti-Patterns
- ❌ **Paraphrasing the transcript.** The exact words are the signal.
- ❌ **Cleaning up hesitations or filler words** ("um", "like", "you
know"). The texture matters.
- ❌ **Creating a page with no entity cross-links** when people/companies
were mentioned. Iron Law fail.
- ❌ **Skipping the audio storage step.** Always upload the original; the
brain page has a `🔊 [Audio]` link back to it.
Related skills
- `skills/signal-detector/SKILL.md` — same exact-phrasing pattern for
text-channel idea capture
- `skills/idea-ingest/SKILL.md` — for typed-text idea ingestion
- `skills/conventions/quality.md` — citation + back-link rules
Contract
This skill guarantees:
-
Search gives you raw pages. GBrain gives you the answer. It's the brain layer your AI agent has been missing — the only one that does synthesis, graph traversal, and gap analysis in one box.
Repo: garrytan/gbrain
Other skills on gbrain.
- /voice-persona-mars
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
Open skill - /voice-persona-venus
Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
Open skill - /voice-post-call
Post-call handling for a voice session — turn the transcript into a brain page, post the summary to the operator's messaging surface, archive the audio. Belt-and-suspenders: fires both from a tool the voice persona can call mid-call AND from the automatic call-end handler in
Open skill - /retrieval-reflex
When/what to retrieve — open the brain page for a salient entity before answering from memory.
Open skill - /academic-verify
Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a
Open skill - /archive-crawler
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml
Open skill

