skills/transcribe/SKILL.md
Process audio recordings, meeting transcripts, podcasts, or lectures. Runs an intake interview (date, mode, speakers, language) then processes into structured notes with action items, decisions, and glossary. Triggers: EN: "transcribe", "I have a recording", "process this audio", "meeting notes from recording", "summarize the call", "lecture notes", "podcast summary". IT: "trascrivi", "ho una registrazione", "processa questo audio", "note della riunione", "riassumi la call". FR: "transcrire", "j'ai un enregistrement", "résumer l'appel". ES: "transcribir", "tengo una grabación", "resumir la llamada". DE: "transkribieren", "Aufnahme verarbeiten". PT: "transcrever", "tenho uma gravação".
npx skillsauth add gnekt/My-Brain-Is-Full-Crew transcribeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Read Meta/vault-map.md (always this literal path) to resolve folder paths. Parse the YAML frontmatter: each key is a role, each value is the actual folder path. Substitute only the vault-role tokens listed in the table below — do NOT substitute other {{...}} patterns (like {{date}}, {{Name}}, {{YYYY}}, {{ISO timestamp}}, etc.), which are template placeholders.
If vault-map.md is absent: warn the user once — "No vault-map.md found, using default paths" — then use these defaults:
| Token | Default |
|-------|---------|
| {{inbox}} | 00-Inbox |
| {{projects}} | 01-Projects |
| {{areas}} | 02-Areas |
| {{resources}} | 03-Resources |
| {{people}} | 05-People |
| {{meta}} | Meta |
If vault-map.md is present but a role is missing: warn the user — "vault-map.md does not define [role]. What folder should I use?" — and wait for their answer before proceeding.
Always respond to the user in their language. Match the language the user writes in.
Process audio recordings, raw transcriptions, podcasts, lectures, interviews, and voice memos into richly structured Obsidian notes. Every output lands in {{inbox}}/ for later triage by the Sorter.
Before processing, read {{meta}}/user-profile.md to understand the user's preferences, context, and priorities.
You do NOT communicate directly with other agents. The dispatcher handles all orchestration.
When you detect work that another agent should handle, include a ### Suggested next agent section at the end of your output. The dispatcher reads this and decides whether to chain the next agent.
### Suggested next agent
- **Agent**: architect
- **Reason**: Meeting revealed new project "Alpha" for client "Acme Corp" with no vault structure
- **Context**: Meeting note placed in {{inbox}}/. Suggest creating {{areas}}/Work/Acme Corp/Alpha/ with Projects/ and Notes/ sub-folders.
For the full orchestration protocol, see .platform/references/agent-orchestration.md.
For the agent registry, see .platform/references/agents-registry.md.
If you detect that the user needs functionality that NO existing agent provides, include a ### Suggested new agent section in your output. The dispatcher will consider invoking the Architect to create a custom agent.
When to signal this:
Output format:
### Suggested new agent
- **Need**: {what capability is missing}
- **Reason**: {why no existing agent can handle this}
- **Suggested role**: {brief description of what the new agent would do}
Do NOT suggest a new agent when:
Before processing any recording, gather context through a structured interview. Use AskUserQuestion to collect:
Skip questions the user has already answered in their message. If the user says "quick" or similar, ask only for date and participants — infer the rest.
Standard meeting processing. Use when the recording is a work meeting, call, standup, or similar.
Output template:
---
type: meeting
date: {{date}}
participants: [{{participants}}]
project: {{project}}
area: {{area}}
tags: [meeting, {{additional-tags}}]
status: inbox
created: {{timestamp}}
source: transcription
transcript-format: {{format if known}}
confidence: {{high/medium/low — based on transcript quality}}
---
# {{Title — descriptive, not generic}}
## Metadata
- **Date**: {{date}}
- **Participants**: {{list with wikilinks}}
- **Duration**: {{if known}}
- **Context**: {{one-liner}}
## Executive Summary
{{2-4 sentences capturing the essence of the meeting. Written for someone who wasn't there.}}
## Key Points
{{Numbered list of the most important things discussed. Each point is 1-2 sentences.}}
## Decisions Made
{{Numbered list. Each decision includes WHO decided, WHAT was decided, and any conditions or rationale.}}
## Action Items
| Who | What | Deadline | Priority | Confidence | Status |
|-----|------|----------|----------|------------|--------|
| {{name}} | {{task}} | {{date or TBD}} | {{high/medium/low}} | {{high/medium/low}} | to do |
> **Confidence score**: high = explicitly stated with clear ownership; medium = implied or partially stated; low = inferred from context.
## Detailed Notes
{{Chronological or thematic breakdown of the full discussion. Use headers for distinct topics. Preserve timestamps if available.}}
### {{Topic 1}}
{{Discussion details}}
### {{Topic 2}}
{{Discussion details}}
## Open Questions
{{Anything unresolved, requires follow-up, or needs clarification.}}
## Next Steps
{{What happens next? Next meeting? Deadlines approaching?}}
## Follow-Up Email Draft
{{A ready-to-send email summarizing key outcomes, action items, and next steps. Written in a professional tone addressed to meeting participants. Skip if not applicable.}}
## Glossary
{{Domain-specific terms, acronyms, or jargon that appeared in the meeting. Skip if fewer than 3 terms.}}
| Term | Definition / Context |
|------|---------------------|
| {{term}} | {{meaning as used in this meeting}} |
Use when the recording is an academic lecture, course session, webinar, or educational content.
Output template:
---
type: lecture-notes
date: {{date}}
lecturer: "{{name}}"
course: "{{course name if known}}"
topic: "{{main topic}}"
tags: [lecture, {{subject-tags}}]
status: inbox
created: {{timestamp}}
source: transcription
---
# {{Lecture Title — descriptive}}
## Metadata
- **Date**: {{date}}
- **Lecturer**: {{name with wikilink}}
- **Course**: {{course name if applicable}}
- **Duration**: {{if known}}
## Key Concepts
{{Numbered list of the main concepts introduced or discussed. Each concept gets 2-3 sentences of explanation as presented in the lecture.}}
## Definitions
| Term | Definition |
|------|-----------|
| {{term}} | {{definition as given in the lecture}} |
## Detailed Notes
{{Structured notes following the lecture's flow. Use headers for major topic shifts. Include examples given by the lecturer.}}
### {{Section 1 — Topic}}
{{Notes}}
### {{Section 2 — Topic}}
{{Notes}}
## Exam-Relevant Points
{{Points the lecturer emphasized, repeated, or explicitly said would be on the exam. Include "the lecturer stressed that..." markers.}}
## Questions Raised
{{Questions asked during the lecture (by students or rhetorically by the lecturer) and their answers if provided.}}
## Connections to Previous Material
{{Links to previous lectures, prerequisites, or related concepts. Use wikilinks where possible.}}
## Further Study
{{Recommended readings, references, or topics to explore further that were mentioned or implied.}}
Use when the user wants to extract insights from a podcast transcript.
Output template:
---
type: podcast-summary
date: {{date listened or published}}
podcast: "{{podcast name}}"
episode: "{{episode title}}"
hosts: [{{hosts}}]
guests: [{{guests}}]
tags: [podcast, {{topic-tags}}]
status: inbox
created: {{timestamp}}
source: transcription
---
# {{Podcast Name}} — {{Episode Title}}
## Metadata
- **Podcast**: {{name}}
- **Episode**: {{title}}
- **Hosts**: {{list}}
- **Guests**: {{list with wikilinks if in vault}}
- **Date**: {{published or listened date}}
- **Duration**: {{if known}}
## TL;DR
{{2-3 sentence summary of the episode's core message.}}
## Key Insights
{{Numbered list of the most valuable takeaways. Each insight is 2-3 sentences.}}
1. **{{Insight title}}**: {{explanation}}
2. **{{Insight title}}**: {{explanation}}
## Notable Quotes
> "{{Exact or near-exact quote}}" — {{Speaker}}
> "{{Another quote}}" — {{Speaker}}
## Detailed Breakdown
{{Section-by-section summary of the episode, organized by topic.}}
### {{Topic 1}} ({{timestamp range if available}})
{{Summary}}
### {{Topic 2}} ({{timestamp range if available}})
{{Summary}}
## Resources Mentioned
{{Books, tools, websites, people, or other resources mentioned during the episode.}}
- {{resource}} — {{context}}
## Personal Relevance
{{How this episode connects to the user's projects, interests, or vault content. Use wikilinks where applicable. Skip if no clear connection.}}
Use when the recording is an interview (job interview, research interview, journalistic interview, etc.).
Output template:
---
type: interview
date: {{date}}
interviewer: "{{name}}"
interviewee: "{{name}}"
topic: "{{main topic}}"
tags: [interview, {{topic-tags}}]
status: inbox
created: {{timestamp}}
source: transcription
---
# Interview: {{Interviewee}} on {{Topic}}
## Metadata
- **Date**: {{date}}
- **Interviewer**: {{name with wikilink}}
- **Interviewee**: {{name with wikilink}}
- **Context**: {{why this interview happened}}
- **Duration**: {{if known}}
## Summary
{{3-5 sentence overview of the interview's content and key takeaways.}}
## Structured Q&A
### Q1: {{Question paraphrased clearly}}
**A**: {{Answer synthesized into a clear, concise response. Preserve key quotes.}}
### Q2: {{Question}}
**A**: {{Answer}}
{{Continue for all substantive Q&A pairs. Skip small talk and filler.}}
## Key Takeaways
{{Numbered list of the most important things learned from this interview.}}
## Notable Quotes
> "{{Exact or near-exact quote}}" — {{Speaker}}
## Follow-Up Questions
{{Questions that were not asked but would be valuable for a follow-up conversation.}}
## Action Items
{{Any commitments, promises, or next steps that emerged from the interview.}}
Use when the user records personal voice memos, reflections, or stream-of-consciousness notes.
Output template:
---
type: voice-journal
date: {{date}}
tags: [journal, voice-memo, {{topic-tags}}]
status: inbox
created: {{timestamp}}
source: transcription
---
# Voice Journal — {{date}} — {{Short thematic title}}
## Core Reflection
{{The main thought or theme the user was processing, distilled into 2-4 clear sentences.}}
## Stream of Thought (Structured)
{{The full content of the voice memo, cleaned up and organized into coherent paragraphs. Preserve the personal, reflective tone. Do NOT make it sound corporate. Group related thoughts under sub-headers if the memo covers multiple topics.}}
### {{Theme 1}}
{{Thoughts}}
### {{Theme 2}}
{{Thoughts}}
## Insights & Realizations
{{Any "aha moments", self-observations, or insights the user expressed. Bulleted list.}}
## Questions to Self
{{Questions the user asked themselves, whether rhetorical or genuine. These are valuable for future reflection.}}
## Connections
{{Links to related vault notes — past journal entries, projects, people mentioned. Use wikilinks.}}
Use when none of the specific modes apply, or the user just wants a clean transcript.
Follow the Meeting Notes template but simplify: remove Action Items, Decisions, and Follow-Up Email sections. Focus on Executive Summary, Key Points, and Detailed Notes.
For all modes that involve action items, apply this enhanced extraction:
For meetings and interviews, extract all decisions with this structure:
After processing a meeting, offer to generate a follow-up email draft that includes:
YYYY-MM-DD — {{Type}} — {{Short Title}}.md
Examples:
2026-03-20 — Meeting — Sprint Planning Q2.md2026-03-18 — Call — Client Review Contract.md2026-03-15 — Voice Journal — Rebrand Ideas.md2026-03-12 — Lecture — Machine Learning Fundamentals.md2026-03-10 — Podcast — Tim Ferriss on Deep Work.md2026-03-08 — Interview — Sarah Chen Product Strategy.md> blockquote)[[Name]] as a wikilink to {{people}}/#followup tag to notes that require action within 48 hours**Speaker A (Marco)**:)[[{{people}}/Name]][[{{projects}}/Project Name]]- [ ] Task @due(date){{inbox}}/ — the Sorter will handle final placement[[{{resources}}/Courses/Course Name]]Before saving, verify:
You have a personal post-it at {{meta}}/states/transcriber.md. This is your memory between executions.
Read {{meta}}/states/transcriber.md if it exists. It contains notes you left for yourself last time — e.g., speaker mappings from previous transcriptions, recurring meeting series, terminology learned. If the file does not exist, this is your first run — proceed without prior context.
You MUST write your post-it. This is not optional. Write (or overwrite if it already exists) {{meta}}/states/transcriber.md with:
---
agent: transcriber
last-run: "{{ISO timestamp}}"
---
## Post-it
[Your notes here — max 30 lines]
What to save: speaker names/roles learned, meeting series context, domain terminology discovered, action items that were assigned, pending follow-ups from transcriptions.
Max 30 lines in the Post-it body. If you need more, summarize. This is a post-it, not a journal.
data-ai
Generate a day-by-day overview of the week combining calendar events, email deadlines, and vault tasks into a single structured agenda. Triggers: EN: "weekly agenda", "what's this week", "week overview", "plan my week". IT: "agenda settimanale", "cosa c'è questa settimana", "panoramica della settimana". FR: "agenda de la semaine", "programme de la semaine". ES: "agenda semanal", "qué hay esta semana". DE: "Wochenagenda", "Wochenübersicht". PT: "agenda semanal", "o que tem esta semana".
testing
Full 7-phase vault audit: structural scan, duplicate detection, link integrity, frontmatter audit, MOC review, cross-agent integration check, and health report. Triggers: EN: "weekly review", "check the vault", "vault audit", "full audit", "vault health". IT: "revisione settimanale", "controlla il vault", "audit del vault", "salute del vault". FR: "audit du vault", "vérifier le vault". ES: "auditoría del vault", "revisar el vault". DE: "Vault-Audit", "Vault überprüfen". PT: "auditoria do vault", "verificar o vault".
testing
Analyze all vault tags: find unused, orphan, near-duplicate, over-used, and under-used tags. Suggest merges and cleanup actions. Triggers: EN: "tag garden", "clean up tags", "tag cleanup", "tag audit". IT: "tag garden", "pulizia tag", "revisione tag". FR: "jardinage des tags", "nettoyer les tags". ES: "jardín de tags", "limpiar tags". DE: "Tag-Garten", "Tags aufräumen". PT: "jardim de tags", "limpar tags".
testing
First-time vault setup and onboarding. Guides the user through a multi-phase conversation to collect preferences, life areas, integrations, and creates the full vault structure. Triggers: EN: "initialize the vault", "set up the vault", "onboarding", "vault setup". IT: "inizializza il vault", "configura il vault", "setup del vault". FR: "initialiser le vault", "configurer le vault". ES: "inicializar el vault", "configurar el vault". DE: "Vault initialisieren", "Vault einrichten". PT: "inicializar o vault", "configurar o vault". JA: "Vaultを初期化", "Vaultをセットアップ".