Communitygithub.com

flc1125/mote

Publica Markdown como una página web inmutable con una URL compartible a través de Mote. Úsalo cuando el usuario solicite publicar o compartir un documento Markdown o contenido generado por IA en línea. La vista previa local, la lectura y la edición por sí solas no requieren publicación.

¿Qué es mote?

Mote es una herramienta que transforma documentos Markdown en páginas web inmutables, no enumerables y legibles por el navegador, generando una URL única para compartir. Es especialmente útil cuando un usuario pide 'publicar' o 'compartir' contenido generado por IA, reportes o documentación. Compatible con plataformas como Claude Code, Cursor y Codex, se integra a través de un CLI o un servidor MCP, manejando automáticamente la subida de imágenes locales y la deduplicación de contenido. Mote impone restricciones importantes: el contenido es inmutable (no se puede actualizar un documento ya publicado), no soporta contraseñas, API keys o secretos, y tiene límites de tamaño estrictos (2 MiB para Markdown, 10 MiB por imagen, 50 activos en total, paquete máximo de 20 MiB). La herramienta soporta Markdown extendido con tablas, listas de tareas, notas a pie de página, alertas al estilo GitHub, resaltado de sintaxis, fórmulas TeX y diagramas Mermaid subconjunto. No obstante, el HTML se limita a un subconjunto seguro, no se ejecutan scripts, MDX ni SVG directo. El flujo de publicación es simple: el usuario proporciona el contenido Markdown (ya sea en el chat o mediante un archivo local), y Mote devuelve la URL. La publicación se realiza únicamente mediante los mecanismos definidos (CLI o MCP), no se debe implementar lógica propia de subida. Si el usuario necesita modificar el contenido, debe volver a publicar, obteniendo una nueva URL. La privacidad se basa en la no enumerabilidad de las URLs, no en un control de acceso completo. Los errores comunes incluyen autenticación vencida, falta de token de publicación y tipos de imagen no soportados (especialmente SVG, que no está permitido).

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flc1125/mote/tree/main/skills/mote

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Mote — Markdown de entrada, URL de salida

Mote publica Markdown como una página web inmutable, no enumerable y legible por el navegador, devolviendo una URL. Esta skill solo guía cuándo y cómo usar Mote; el protocolo de publicación lo implementa el CLI / MCP, no implementes tu propia lógica de subida.

Cuándo usar

Usa Mote cuando se cumpla alguna de las siguientes intenciones:

  • «Compartir este Markdown / informe / documento» «Publicarlo como página web / enlace»
  • Solicitud explícita de convertir un documento de diseño, material de investigación, acta de reunión o README en un enlace en línea
  • Solicitud de publicar un informe o resultado de análisis que acabas de generar como página web

Cuando solo se lee, edita o previsualiza Markdown en el navegador local, no publiques en Mote.

No uses:

  • Cuando el contenido incluya contraseñas, API Keys, claves privadas u otros secretos, o secretos empresariales—la URL de Mote es la credencial de acceso; cualquiera que conozca el enlace puede leer el contenido, y actualmente no hay un punto de eliminación por parte del usuario.
  • Cuando sea necesario modificar contenido ya publicado—los documentos de Mote son inmutables; para cambiar el contenido, debes volver a publicar y obtener una nueva URL.

Cómo publicar

Primero verifica si hay imágenes locales referenciadas, y luego elige la ruta según la herramienta configurada. Respeta la instancia especificada por el usuario; si ya hay una configuración autoalojada, no fuerces el uso de la instancia pública https://mote.pub.

Ruta A: Herramienta MCP (si el servidor MCP mote está conectado)

  • Contenido en el chat y sin imágenes locales → llama a publish_markdown, pasando markdown (opcionalmente name, por ejemplo report.md). Esta herramienta, tanto local como remota, no recopila imágenes locales, solo conserva URLs de imágenes remotas.
  • Archivo Markdown local → solo el stdio local proporciona publish_markdown_file, pasando path (las imágenes locales se suben automáticamente y se deduplican por contenido); el remoto solo tiene publish_markdown, por lo que si se necesita un archivo local o imágenes, usa el CLI configurado, no pases la ruta a la herramienta remota.

Ruta B: CLI (disponible si está instalado y configurada la autenticación)

  1. Si ya tienes un archivo, publícalo directamente. Si el contenido del chat no tiene imágenes locales, puedes escribirlo en un archivo temporal; si tiene imágenes locales, coloca el Markdown y las imágenes necesarias en un directorio temporal manteniendo la relación de rutas relativa, y luego publícalo mediante el CLI o publish_markdown_file local. Las imágenes se resuelven relativas al directorio del archivo Markdown, no al directorio de trabajo del terminal; no muevas solo el Markdown a /tmp.
  2. Ejecuta:
mote <archivo.md> --json
  1. Analiza el JSON de stdout: { "id": "...", "url": "..." }

El CLI maneja automáticamente las referencias a imágenes locales en Markdown y HTML soportado, la validación de rutas, la subida y la deduplicación de contenido; las imágenes remotas conservan su URL original, no se descargan ni empaquetan. Solo las imágenes se suben junto con el documento; los enlaces a otros archivos Markdown locales no publican automáticamente el archivo destino.

Compatibilidad de contenido

  • Soporta Markdown común, tablas, listas de tareas, notas a pie de página, Alertas al estilo GitHub, y resaltado de sintaxis con lenguaje especificado.
  • Las fórmulas matemáticas admiten un subconjunto de TeX; los bloques de código mermaid soportan un subconjunto de seis tipos de gráficos estáticos, con un máximo de cuatro gráficos por documento. El contenido no válido, no soportado o que excede el presupuesto puede mostrarse como código fuente; la publicación exitosa no garantiza que toda la sintaxis extendida se haya renderizado.
  • HTML solo permite un subconjunto seguro, no se ejecutan scripts, MDX ni incrustaciones interactivas. No se soporta la subida o incrustación directa de SVG sin procesar; los SVG generados por los gráficos de Mote pasan por una limpieza independiente y se pueden mostrar.
  • Después de publicar fórmulas complejas o gráficos, verifica las fórmulas, líneas, etiquetas e imágenes reales de la página; sin verificar, no afirmes que los efectos de renderizado están validados.

Para conocer la sintaxis detallada o las limitaciones, consulta las notas de compatibilidad y los ejemplos en línea. El alcance de las instancias autoalojadas depende de la versión implementada.

Cómo manejar la URL devuelta

  • Devuelve la URL tal cual al usuario, no la tronques ni la reescribas.
  • Explica con una frase, por ejemplo: «Publicado: ».
  • La página tiene instrucciones para evitar que los motores de búsqueda la indexen, pero esto no es un control de acceso ni una garantía de que no sea descubierta; la accesibilidad depende de que la instancia y el almacenamiento sigan funcionando.
  • Si el usuario solicita posteriormente «actualizar esta página»: explica que el Markdown almacenado y los activos subidos son inmutables; volver a publicar da una nueva URL. Las actualizaciones del visor pueden cambiar la apariencia, y las imágenes remotas dependen del sitio de origen.

Limitaciones (autoverificación antes de publicar)

  • Markdown ≤ 2 MiB; imagen individual ≤ 10 MiB; activos subidos ≤ 50; paquete completo ≤ 20 MiB. 1 MiB = 1,048,576 bytes; el CLI cuenta después de deduplicar por contenido; las imágenes remotas no cuentan
  • Formatos de imagen: png / jpeg / webp / gif / avif (no soporta SVG)
  • Cuando se supere un límite, informa al usuario honestamente qué límite se ha superado, no elimines contenido por tu cuenta

Errores comunes

  • Inicio de sesión caducado: guía al usuario para que complete el inicio de sesión interactivo en la misma instancia; cuando el usuario haya solicitado explícitamente ayuda para iniciar sesión, continúa según el alcance autorizado. No inicies sesión en el navegador por tu cuenta debido a un fallo de publicación, no leas credenciales de otros clientes, no cambies de token antiguo. Los pasos específicos se encuentran en la documentación de autenticación.
  • no publish token configured: confirma el modo de autenticación de la instancia. El modo estático requiere que el administrador de la instancia proporcione un token; la instancia Access requiere inicio de sesión OAuth o modo máquina explícito; no uses el token de API de gestión de Cloudflare como clave de publicación; no generes credenciales por tu cuenta.
  • Modo máquina: requiere explícitamente MOTE_AUTH_MODE=service y las correspondientes MOTE_SERVICE_API_URL, MOTE_SERVICE_CLIENT_ID, MOTE_SERVICE_CLIENT_SECRET. Si faltan o no son válidos, detente; no uses la sesión del usuario en su lugar.
  • Timeout, 5xx o resultado desconocido: no reintentes la publicación automáticamente; es posible que ya se haya generado un documento inmutable. Primero verifica el resultado, y luego el usuario decide si vuelve a publicar.
  • asset not found: <ruta>: la imagen local referenciada en el Markdown no existe; recuerda al usuario que verifique la ruta relativa.
  • unsupported image type: se ha referenciado un formato no soportado como SVG; sugiere al usuario convertirlo a png/webp y reintentar.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados