---
name: convertir-a-markdown
description: Convierte archivos a Markdown usando MarkItDown. Úsala siempre que el usuario agregue, suba, arrastre o mencione un PDF, un audio (mp3, wav, m4a), un Word (docx), un Excel (xlsx), un PowerPoint (pptx), una página HTML o un archivo de datos, y quiera obtener su contenido en texto/Markdown. Actívala también cuando el usuario diga cosas como "convierte este archivo", "pásalo a markdown", "transcribe este audio", "extrae el texto", o simplemente deje un archivo nuevo en la carpeta esperando que quede listo.
---

# Convertir a Markdown con MarkItDown

Esta skill convierte archivos a Markdown usando la herramienta MarkItDown, que está
instalada en un entorno virtual de Python del usuario.

## Comando a usar

MarkItDown vive en este entorno virtual (NO está en el PATH global):

```
~/markitdown-env/bin/markitdown "ARCHIVO_DE_ENTRADA" > "ARCHIVO_DE_SALIDA.md"
```

Reglas:
- Usa SIEMPRE la ruta completa `~/markitdown-env/bin/markitdown`. No asumas que existe un
  comando `markitdown` suelto, porque vive dentro del entorno virtual.
- El archivo de salida debe tener el mismo nombre que el de entrada pero con extensión `.md`.
- IMPORTANTE: guarda SIEMPRE el `.md` resultante en la carpeta de trabajo actual del proyecto
  (el directorio donde está corriendo la sesión de Claude Code, es decir `.`), AUNQUE el archivo
  original esté en otra carpeta como Descargas o Escritorio. El usuario quiere que todo quede
  reunido en la carpeta del proyecto en la que está trabajando.
- Para lograrlo, usa solo el nombre base del archivo para la salida. Ejemplo:
  `~/markitdown-env/bin/markitdown "/Users/cesar/Downloads/propuesta.pdf" > "./propuesta.md"`
- Pon siempre las rutas entre comillas dobles, porque pueden tener espacios.

## Qué hacer cuando se activa

1. Identifica el o los archivos que el usuario quiere convertir (los recién agregados, los que
   mencionó, o los que estén pendientes sin su versión `.md`).
2. Para cada archivo, ejecuta el comando de conversión, dejando SIEMPRE el `.md` en la carpeta
   de trabajo actual del proyecto (`.`).
3. Confirma al usuario, en lenguaje sencillo y sin tecnicismos, qué archivo se generó y dónde
   quedó. Por ejemplo: "Listo, convertí propuesta.pdf → propuesta.md en la carpeta del proyecto."
4. Si el usuario lo pide, ofrece un breve resumen del contenido convertido.

## Si hay varios archivos pendientes

Si el usuario tiene varios PDFs o audios sin convertir, conviértelos todos en una sola pasada,
dejando cada `.md` en la carpeta del proyecto actual. Usa el nombre base del archivo para que la
salida caiga en `.` y no en la carpeta de origen:

```
for f in *.pdf *.mp3 *.wav *.m4a *.docx *.xlsx *.pptx; do
  [ -e "$f" ] || continue
  base="$(basename "$f")"
  ~/markitdown-env/bin/markitdown "$f" > "./${base%.*}.md"
done
```

## Manejo de errores comunes

- **"No such file or directory" sobre el binario de markitdown**: el entorno no está donde se
  espera. Pídele al usuario que confirme que MarkItDown está instalado en `~/markitdown-env`.
  No intentes reinstalarlo sin avisarle.
- **Audios**: la transcripción puede requerir conexión a internet y la calidad depende de la
  claridad del audio. Si la transcripción sale vacía o muy pobre, dile al usuario con honestidad
  que para audios largos o con ruido conviene una herramienta de transcripción especializada.
- **Imágenes sueltas (jpg, png)**: avísale al usuario que, sin una IA conectada aparte,
  MarkItDown solo saca datos técnicos de la foto, no describe lo que se ve ni lee texto dentro
  de ella. No prometas extracción de texto de imágenes.

## Notas

- No expliques al usuario los detalles internos del comando salvo que lo pregunte; mantén la
  conversación simple. El usuario no es desarrollador.
- Nunca borres el archivo original.
