Tarjeta de la skill markeup-wikilinks del sistema MarkeUP

Wikilinks del vault

Wikilinks del vault: la Regla de Oro que aplica markeup-wikilinks

La skill markeup-wikilinks inserta y valida los enlaces internos: alias descriptivo en cada párrafo, densidad razonable y destino existente, para que la lectura no se corte.

Admin4 de octubre de 2026, 18:116 min de lectura

La skill markeup-wikilinks —«Inserta y valida wikilinks [[slug|alias]] del vault»— es una de las habilidades que el sistema MarkeUP tiene escritas para Hermes Agent y para Cline. Esta página es su ficha pública: lo que sabe hacer, cuándo se usa y qué comandos ejecuta.

Los enlaces internos son la red del blog: esta skill los coloca bien y comprueba que ninguno apunte a la nada.

El texto de la sección «Instrucciones del canon» está transcrito del fichero fuente —que se escribe sin tildes por convención de su propio gate—, así que es exactamente lo que lee el agente cuando le pides algo. La cabecera y esta entradilla sí están redactadas para leerlas.

DatoValor
Skillmarkeup-wikilinks
ResponsabilidadInserta y valida wikilinks `[[slug
Versión1.3.0
Autoríauriszarernesto-blip · licencia MIT
Plataformaslinux · macos
Tags del canonwikilinks · enlaces · alias · densidad · huerfanos · markeup
Skills relacionadasmarkeup-content · markeup-frontmatter · markeup-audit
Fuente~/.hermes/skills/markeup/markeup-wikilinks/SKILL.md

Responsabilidad unica: decidir, insertar y validar wikilinks en un post. No redacta (eso es markeup-content) ni genera frontmatter (markeup-frontmatter).

  • Justo despues de redactar el cuerpo.
  • Para enriquecer wikilinks de una nota existente.
  • Cuando npm run validate:wikilinks falla.

Primero lee markeup-context y rules/wikilinks-spec.md.

Todo wikilink dentro del cuerpo de un parrafo DEBE llevar alias descriptivo. [[slug]] sin alias no cumple la norma en parrafos. Solo se tolera sin alias en: headings, tablas, bloques de codigo, codigo inline y frontmatter.

El linter scripts/mjs/validate-wikilinks.mjs avisa (no bloquea) desde el 2026-10-03: remark-wikilink ya pinta la etiqueta corta del destino (su concept), asi que lo que se pierde es tu anchor text, no la lectura. Con --strict el aviso vuelve a bloquear (objetivo: 0 avisos). Lo unico que cambio es la severidad: el alias sigue siendo obligatorio.

UsoSintaxisValido en parrafo
Enlace con alias[[slug|Texto visible]]✅ El unico permitido
Enlace directo[[slug]]❌ No cumple (aviso; --strict bloquea)
Alias redundante[[slug|slug]]❌ No cumple (aviso)

  1. Slugs existentes en memory/vault-index.md.
  2. aliases del frontmatter de cualquier nota: el linter los indexa como destinos (validate-wikilinks.mjs construye validSlugs con slug + aliases).
  3. Un destino que no aparece en ninguno de los dos es un huerfano (valido, pero no crea enlace HTML).

Enlaza primero los posts con wikilinks reales; los enlaces de texto plano a posts existentes se convierten en <a href="/posts/slug"> y mejoran el SEO interno.

1. Leer el cuerpo completo y vault-index.md
2. Por cada parrafo, identificar conceptos enlazables
   - SI: terminos tecnicos, conceptos con nota, autores, teorias, escuelas
   - NO: palabras comunes (agua, fuego), verbos/adjetivos genericos,
         terminos ya enlazados en el parrafo
3. Emparejar concepto -> slug o alias (match exacto o conceptual)
4. Elegir la frase exacta a enlazar (NO una subcadena)
5. Generar el alias segun la forma gramatical de la frase
6. Verificar densidad del parrafo
7. Aplicar solo la primera mencion relevante por concepto y por seccion
8. Validar con el linter

ParrafoMaximo
Corto (< 3 lineas)1 wikilink
Medio (3-6 lineas)2 wikilinks
Largo (> 6 lineas)3 wikilinks
Primer parrafo (intro)2-3 (excepcion permitida)

La intro puede exceder ligeramente la densidad solo ahi (wikilinks-spec.md). Densidad objetivo del post completo: 3-6 enlaces, todos con alias.

ErrorIncorrectoCorrecto
Enlace sin alias[[el-aura]] en un parrafo[[el-aura|el aura]]
Alias redundante[[el-aura|el-aura]][[el-aura|el aura]]
Enlace parcial de frase[[la-respiracion|respiracion]] en “tecnicas de respiracion”[[la-respiracion|tecnicas de respiracion]]
Mayusculas en slug[[El Aura]][[el-aura|El Aura]]
Tildes en slug[[bioenergetica]] con tildesin tildes en el slug
Puntuacion en alias[[teoria-polivagal|teoria polivagal.]][[teoria-polivagal|teoria polivagal]]
Sobre-enlazado6 enlaces en un parrafo cortoRespetar la densidad

Un huerfano es un concepto sin nota propia. No son errores: marcan conceptos que merecen su nota en el futuro y tambien deben llevar alias.

Criterios (wikilinks-spec.md):

  • Registrar en memory/vault-index.md con: huerfano, alias recomendado, aparece en, categoria.
  • Prioritario si: aparece en 3+ notas distintas, o en 2+ categorias, o en la intro de varias.
  • Categoria sugerida: la de la mayoria de notas donde aparece; si no esta claro, Humano (la categoria mas grande). Nunca propongas una categoria fuera de las 5 validas (Humano, Documentacion, Literatura, Opinion, Maquina).

  1. Usar la forma gramatical de la frase (“la biodanza” -> biodanza, minuscula salvo nombres propios).
  2. Expandir siglas: [[IA|Inteligencia Artificial]].
  3. Usar el titulo limpio de la nota destino como base.
  4. Ajustar al flujo: “…segun Reich…” -> alias Reich.
  5. Maximo 5-6 palabras. Nunca el slug como alias.
  6. Un mismo concepto usa el mismo alias en todo el post. Variar el alias (p. ej. [[biodanza|esta disciplina]]) es valido para evitar keyword stuffing.

cd ~/markeup
npm run validate:wikilinks             # por defecto: avisa (exit 0) — 0 sin alias es el objetivo
npm run validate:wikilinks -- --strict # modo estricto: el aviso bloquea (exit 1)

Comandos auxiliares:

npm run validate:slugs
npm run wikilinks:enrich           # dry-run
npm run wikilinks:enrich:apply     # aplicar

  • Obsidian: muestra el diff (antes / despues) por linea; los huerfanos se marcan claramente.
  • Telegram: envia solo el recuento (X nuevos, Y modificados, Z huerfanos) y la lista de huerfanos. No vuelques el texto completo.
  • VS Code / Cline: replace_in_file quirurgico, solo las lineas afectadas. Nunca reescribas la nota entera.
  • Hermes CLI: aplica y reporta el resultado del linter.

  • references/resolution-algorithm.md - algoritmo paso a paso con ejemplos reales.
  • references/density-rules.md - tabla de densidad y casos limite.
  • Regla del vault: rules/wikilinks-spec.md.

¿Quieres saber cómo se piden estas cosas? La guía completa está en skills de Hermes Agent, con la chuleta de objetivos y los casos paso a paso.

Wikilinks del vault

Explora las ramas del artículo

Compartir este artículo

Posts que enlazan a este artículo

Skills para Hermes Agent