| name | verificar-estructura |
| description | Verifica que la estructura del bootcamp (nombres de carpeta etapa-NN-slug/week-NN-slug, enlaces relativos de navegación, tablas índice) sea consistente con el contenido real. Usar antes de commitear cualquier cambio que mueva, renombre o cree carpetas de semana/módulo, o cuando se sospeche de un enlace roto. |
| allowed-tools | Bash(scripts/verificar-enlaces.sh) Bash(bash scripts/verificar-enlaces.sh) Read Grep |
Verificar estructura del bootcamp
Este repo tuvo, en su historia, una acumulación de bugs silenciosos: enlaces
relativos con la profundidad de ../ incorrecta entre semana/módulo/raíz,
tablas índice (README.md, README_EN.md, READMEs de módulo) que quedaron
desincronizadas del contenido real de varias semanas, y nombres de
ejercicios/proyecto en el README que no correspondían a las carpetas
reales en disco. Nada de esto rompe un build ni falla en CI — solo se nota
cuando alguien hace clic en el link equivocado. Por eso existe esta skill.
Qué hacer
-
Correr el script mecánico primero:
bash scripts/verificar-enlaces.sh
Verifica automáticamente:
- Que toda carpeta bajo
bootcamp/ siga etapa-NN-slug (nivel módulo)
o week-NN-slug (nivel semana), NN de 2 dígitos, slug en minúsculas.
- Que todo enlace relativo
[texto](ruta) en cualquier .md del repo
resuelva a un archivo o carpeta real (ignora URLs http/mailto y
contenido dentro de bloques ```, que suelen ser ejemplos de
plantilla, no enlaces reales).
Dos falsos positivos conocidos y aceptados: URLs de Wikipedia con
paréntesis anidados tipo (book) — markdown legítimo, no un error.
Si el script reporta algo distinto a eso, es un enlace roto real.
-
Lo que el script no puede verificar (revisar a mano, es juicio de
contenido, no de sintaxis):
- Que la columna "Tema"/"Descripción" de las tablas índice
(
README.md, README_EN.md, bootcamp/etapa-*/README.md) coincida
con el título real del README.md de cada semana referenciada.
- Que el ejemplo de scope en mensajes de commit (
CONTRIBUTING.md) siga
siendo feat(week-NN) corto, no el slug completo — el historial real
de commits (git log --oneline | grep 'feat(week') es la fuente de
verdad de esa convención, no la copies del nombre de carpeta.
-
Regla de profundidad de ../ para enlaces de navegación (memorizar,
es la causa más común de enlace roto en este repo):
- Archivo en
bootcamp/etapa-X/week-NN.../README.md → raíz del repo:
../../../README.md (3 niveles).
- Mismo archivo → README del módulo (
etapa-X/README.md): ../README.md
(1 nivel).
- Archivo dentro de una subcarpeta de semana (
1-teoria/, 2-practicas/,
3-proyecto/, 4-recursos/, 5-glosario/) → suma un nivel más por
cada subcarpeta de profundidad antes de aplicar las reglas anteriores.
Si el script encuentra problemas, corrígelos y vuelve a correrlo hasta que
imprima OK: sin problemas detectados. antes de dar por cerrado el cambio.