md-to-wiki — Enrutador Ligero (Fase 2)
Convierte archivos de especificación en Markdown en sitios de documentación.
Disparadores: "build wiki", "generate docs", "publish specs", "make a site", "wiki from markdown", "draw diagram", "flow chart", "architecture diagram", "state diagram", "sequence diagram"
Enrutador de Fases
Analiza la solicitud del usuario para determinar qué ruta tomar:
lower=$(echo "$1" | tr '[:upper:]' '[:lower:]')
case "$lower" in
*"not sure"*|*"help"*|*"recommend"*) RUTA="onboarding" ;;
*"html"*|*"site"*|*"mkdocs"*|*"material"*) RUTA="mkdocs" ;;
*"swagger"*|*"openapi"*|*"api"*) RUTA="swagger" ;;
*"github wiki"*|*"wiki tab"*) RUTA="github-wiki" ;;
*"dokuwiki"*|*"doku"*) RUTA="dokuwiki" ;;
*"pdf"*|*"print"*|*"book"*) RUTA="pdf" ;;
*"reference"*|*"issue"*|*"pr"*|*"pull"*) RUTA="references" ;;
*"deploy"*|*"publish"*|*"go live"*) RUTA="deploy" ;;
*) RUTA="onboarding" ;;
esac
Luego lanza el agente adecuado:
| Ruta | Agente | Descripción |
|---|---|---|
onboarding | agents/onboarding.md | Entrevista al usuario, detecta SO, configura SKILL_DIR |
mkdocs | agents/format-mkdocs.md | Genera sitio MkDocs Material |
swagger | agents/format-swagger.md | Genera OpenAPI 3.0 + Swagger UI |
github-wiki | agents/format-github-wiki.md | Publica en GitHub Wiki |
dokuwiki | agents/format-dokuwiki.md | Convierte al formato DokuWiki |
pdf | agents/format-pdf.md | Genera PDF vía Pandoc |
references | agents/references.md | Enriquece documentos con referencias de issues/PRs de GitHub |
deploy | agents/deploy.md | Despliega documentos generados en hosting |
Flujo de Ejecución
- Onboarding → Realiza preguntas: nombre del proyecto, directorios fuente, audiencia (desarrollador/interesado/público general), formato deseado. Detecta SO una vez, almacena
SKILL_DIR,SCRIPT_EXT,SCRIPT_RUNNER. - Generación de formato → Carga el agente de formato correspondiente. Usa scripts complementarios de
scripts/con$SCRIPT_RUNNER. - Referencias → Si el usuario desea referencias de issues/PRs, carga references.md.
- Despliegue → Tras la generación, carga deploy.md para ofrecer hosting.
Variables Globales (se establecen una vez durante el onboarding)
SKILL_DIR— ruta resuelta a la carpeta de este skillSCRIPT_EXT—.sho.ps1SCRIPT_RUNNER—""o"powershell -File"OS_TYPE—unixowindowsPROJECT_NAME— del usuarioSOURCES— rutas a los archivos de especificaciónAUDIENCE—developer,stakeholderogeneral
Scripts Complementarios
Todos aceptan argumentos posicionales de manera idéntica en .sh y .ps1:
| Script | Propósito |
|---|---|
discover-sources | Escanea directorios en busca de archivos spec, project, codebase, quick |
generate-mkdocs | Crea mkdocs.yml completo + estructura de páginas |
generate-index | Construye una página de aterrizaje adecuada a la audiencia |
to-dokuwiki | Convierte Markdown → sintaxis DokuWiki |
to-pdf | Concatena y convierte a PDF vía pandoc |
fetch-issues | Almacena en caché metadatos de issues/PRs de GitHub |
Entrada Multi-Directorio
Fusiona múltiples directorios fuente en merged-specs/ antes de ejecutar:
mkdir -p merged-specs && cp -r .specs/* docs/* merged-specs/
Compartir
Copia md-to-wiki/ en la carpeta .config/opencode/skills/ o .opencode/skills/ de tu colega. Las dependencias varían según el formato.