+ Transcripción gratuita, local y precisa de reuniones con reconocimiento de hablantes — para tu asistente de IA o segunda mente.
+ Copia la ruta de un archivo en el chat de tu agente de IA — o ejecuta un comando en tu terminal — y obtén una transcripción limpia con etiquetas de hablantes. Funciona con Claude Code, Codex, Cursor, Aider & otros mediante AGENTS.md, o como una CLI simple sin IA alguna. Todo se ejecuta en tu Mac: sin nube, sin cargas, sin suscripción.
+
+
+
+
+
+
+
+
+
+
+
+
+## Contenido
+- [Por qué](#why)
+- [Comparación](#how-this-compares)
+- [Qué obtendrás](#what-youll-get)
+- [Instalación](#install)
+- [Uso](#usage)
+- [Limitaciones](#limitations)
+- [Avanzado — para usuarios experimentados](#advanced--for-power-users)
+- [Licencia](#license) · [Agradecimientos](#acknowledgments)
+
+## Por qué
+
+- **Tu audio nunca sale de tu computadora.** No se carga nada en ninguna nube — ni Otter, ni AssemblyAI, ni OpenAI, ni nosotros. La transcripción y el reconocimiento de hablantes se ejecutan localmente en tu Mac (o servidor Linux).
+- **Funciona con cualquier cosa.** Grabaciones de Zoom, memos de voz, archivos de podcast, exportaciones de llamadas telefónicas — `.mp4`, `.mov`, `.m4a`, `.mp3`, `.wav`, `.webm`, lo que sea. El skill se encarga de la conversión de formato por ti.
+- **Reconocimiento preciso de hablantes — y honesto al respecto.** "Quién dijo qué" se ejecuta con `speaker-diarization-community-1` de [pyannote](https://github.com/pyannote/pyannote-audio), uno de los modelos de diarización *open-source* más precisos (sus autores [reportan](https://huggingface.co/pyannote/speaker-diarization-community-1) ~10–11% DER en benchmarks estándar), seleccionado para que funcione en una **Mac normal (M3 / 16 GB)**, no solo en un M-Max de gama alta. Un modelo más pesado (DiariZen-WavLM) lo supera en algunos benchmarks en inglés pero consume mucho más potencia de cómputo; scriba prioriza el equilibrio entre precisión y huella de recursos. Las palabras provienen de [OpenAI Whisper large-v3](https://github.com/openai/whisper). **No te fíes de nuestra palabra — [métrelo con tu propio audio](./benchmarks/)** usando `scripts/benchmark_der.py`.
+- **Puedes verlo funcionar en tiempo real.** Progreso en vivo en la barra de estado de tu editor, en una terminal lateral, o como una notificación de macOS cuando termina — elige lo que prefieras. Sin más pantallas negras preguntándote si se quedó pegado.
+- **Solo un comando.** Sin pasos de configuración que aprender. El asistente te guía por cualquier cosa que aún no tengas (cuenta de HuggingFace, etc.) en lenguaje claro.
+- **Diseñado para ejecutarse automáticamente.** Apunta un observador `launchd`/`cron` a tu carpeta de grabaciones de Zoom o Meet — cada llamada se convierte en una transcripción indexable que fluye hacia tu **segunda mente / base de conocimiento personal de IA** (Obsidian, Notion, Cognee, mem0, lo que uses). Cuantas más conversaciones capture y alimente a tu asistente, más precisos serán sus respuestas sobre *ti*. Consulta [Karpathy sobre wikis personales](https://x.com/karpathy/status/1655994367033524225) para la idea general.
+
+## Comparación
+
+| | scriba | Otter / Fireflies / Granola | Local Whisper solo |
+| ------------------------------------- | :----------------: | :-------------------------: | :-----------------: |
+| El audio permanece en tu computadora | ✅ | ❌ | ✅ |
+| Indica quién dijo qué | ✅ | ✅ | ❌ |
+| Indica quién dijo qué — *y qué tan seguro está* | ✅ | ❌ | ❌ |
+| Costo tras la instalación | **$0** | $10–30/mo | $0 |
+| Funciona sin conexión | ✅ | ❌ | ✅ |
+
+*"…y qué tan seguro está"*: cada palabra en el archivo JSON adjunto incluye una confianza de ASR, una confianza de atribución de hablante y un indicador de superposición, para que tu IA sepa qué líneas confiar y cuáles tratar como inciertas. Y puedes cuantificar la diarización en sí: [`benchmarks/`](./benchmarks/) incluye un evaluador DER en Python puro que puedes ejecutar con tu propio audio etiquetado.
+
+## Qué obtendrás
+
+Una carpeta portátil `.transcript/` junto a tu video de entrada, que contiene el Markdown y sus recursos, con **un clip de voz de 10 segundos por hablante** incrustado directamente en el archivo (haz clic en ▶ para reproducir en Obsidian / VS Code / GitHub):
+
+```markdown
+# q3-planning-sync
+
+## Speakers — identify who's who
+
+**Speaker 1** (80% of speaking time).
+
+
+Sample utterances:
+> [00:00:03] «So the launch is moved to Friday — can we ship the docs by Thursday?»
+> [00:00:40] «...»
+
+**Speaker 2** (18% of speaking time).
+
+...
+```
+
+Luego, el asistente te pregunta "¿quién es el Hablante 1?"; respondes y renombra al hablante en todas partes de la transcripción.
+
+## Instalación
+
+```bash
+git clone https://github.com/AlexanderAbramovPav/scriba ~/.claude/skills/scriba
+```
+
+Listo. **No configures nada con antelación.** La primera vez que transcribas, el asistente se pausará y te guiará en un paso único de ~30 segundos: crear una cuenta gratuita de HuggingFace y pegar un token de nuevo en el chat. Tres clics en un navegador, sin comandos de terminal. No volverás a verlo después de eso.
+
+> *¿Por qué HuggingFace?* Es el equivalente open-source a una tienda de aplicaciones para modelos de IA. El modelo de reconocimiento de hablantes es gratuito, pero sus autores requieren aceptar un acuerdo de uso una vez — bastante estándar para open-source de grado investigador.
+
+### ¿No usas Claude Code? Úsalo con cualquier otra herramienta
+
+El núcleo de `scriba` es una tubería (pipeline) de bash + Python. La capa de "skill" es un envoltorio delgado que ayuda a un agente de IA a guiarte en la configuración y el nombrado de hablantes — y hay una versión agnóstica de esas instrucciones en [`AGENTS.md`](./AGENTS.md), soportada por la mayoría de las herramientas modernas de codificación con IA.
+
+| Tu herramienta | Dónde apuntarla | Cómo invocarlo |
+| ------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------- |
+| **Claude Code** | clonar en `~/.claude/skills/scriba/` *(comando de instalación predeterminado arriba)* | `/scriba ` |
+| **OpenAI Codex CLI** | clonar en cualquier lugar, colocar `AGENTS.md` en `~/.codex/AGENTS.md` *(o raíz del proyecto)* | "transcribe esta reunión: ``" |
+| **Cursor** | clonar en cualquier lugar, copiar `AGENTS.md` a `.cursor/rules/scriba.md` | mencionar `@scriba` o lenguaje natural |
+| **Continue.dev** | clonar en cualquier lugar, registrar `transcribe.sh` como comando slash personalizado en `~/.continue/config.yaml` | `/scriba ` |
+| **Aider** | clonar en cualquier lugar, `aider --read /AGENTS.md ` | lenguaje natural en el chat |
+| **Goose** (Block) | clonar en cualquier lugar, agregar como extensión de comando shell | mencionar scriba en el chat |
+| **ChatGPT / Claude.ai navegador** | abrir `AGENTS.md`, pegar en "Instrucciones personalizadas" o slot de contexto del proyecto | indicar al chat la ruta del archivo local |
+| **Sin IA alguna** | clonar en cualquier lugar | `bash /scripts/transcribe.sh ` |
+
+`AGENTS.md` se está convirtiendo en un estándar de facto para instrucciones de agentes de IA entre herramientas — mismo rol que `SKILL.md` pero neutro al proveedor. La CLI de bash funciona en cualquier entorno, con o sin un agente de IA dirigiéndola.
+
+## Uso
+
+La ruta más fácil es Claude Code (otros agentes y la CLI simple: ver [Úsalo con cualquier otra herramienta](#dont-use-claude-code-use-it-with-anything-else) arriba). Abre Claude Code, escribe:
+
+```
+/scriba /ruta/a/tu-reunion.mp4
+```
+
+Ahora puedes irte. El asistente ejecuta la transcripción en segundo plano. Mientras trabaja:
+
+- **Estado en vivo** es visible inline en la barra de estado de tu chat (algo como `🎙 tx 47% · ETA 01:18`), actualizado cada pocos segundos.
+- **Una notificación de macOS** aparece cuando termina (sonido Glass).
+- O abre una terminal lateral y ejecuta el mismo comando con `--watch` para una vista de progreso a pantalla completa.
+
+
+
+
+
El progreso en vivo se transmite directamente a los "Shell details" de Claude Code — la etapa actual, % y ETA se actualizan a medida que se ejecuta (incluso mientras la diarización está en silencio).
+
+Cuando termina, el asistente abre el resultado y te muestra los hablantes que encontró. Para cada uno obtienes:
+- Un **clip de voz corto** (~10 segundos, haz clic en reproducir en el chat / tu editor — `