---
name: swl:ayuda
description: Sistema de ayuda interactivo del SWL. Sin argumentos muestra el catálogo completo de comandos agrupado por categoría. Con nombre de comando muestra su detalle y uso. Con keyword busca en comandos, skills y agentes relacionados. Punto de entrada para descubrir capacidades del sistema.
allowed_tools: ["Read", "Bash", "Grep", "Glob"]
---

# /swl:ayuda — Sistema de ayuda interactivo

Punto de entrada para descubrir y entender las capacidades del sistema SWL.
Tres modos de uso según el argumento recibido.

## Uso

```
/swl:ayuda                    — Catálogo completo agrupado por categoría
/swl:ayuda <comando>          — Detalle de un comando específico (ej: /swl:ayuda release)
/swl:ayuda <keyword>          — Buscar en comandos, skills y agentes por tema
```

---

## Modo 1 — Sin argumentos: catálogo completo

Presentar TODOS los comandos `/swl:*` agrupados por categoría funcional.
Formato: tabla compacta con nombre, descripción corta y flags principales.

### Categorías y sus comandos

#### Flujo de desarrollo (ciclo GSD)

| Comando | Descripción |
|---------|------------|
| `/swl:nuevo-proyecto` | Iniciar proyecto con PROYECTO.md y roadmap |
| `/swl:discutir-fase <n>` | Recopilar contexto antes de planificar |
| `/swl:planear-fase <n>` | Crear PLAN.md con vertical slices |
| `/swl:ejecutar-fase <n>` | Ejecutar plan con commits atómicos |
| `/swl:verificar` | Verificar implementación contra spec |
| `/swl:brainstorm "tema"` | Brainstorming estructurado → spec → plan |

#### Revisión y calidad

| Comando | Descripción |
|---------|------------|
| `/swl:revisar [stack\|archivo]` | Revisión de código por tecnología (auto-detect) |
| `/swl:revisar-impacto` | Análisis de blast radius y risk score |
| `/swl:evaluar-skill [nombre]` | Evaluación PluginEval de 2 capas con badge |
| `/swl:salud` | Diagnóstico de integridad del sistema |
| `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |

#### Aprendizaje y evolución

| Comando | Descripción |
|---------|------------|
| `/swl:aprender` | Extraer aprendizajes de la sesión |
| `/swl:evolucionar` | Auto-evolución de agentes/skills |
| `/swl:autoresearch --skill=X` | Loop de auto-mejora iterativa |
| `/swl:crear-skill` | Crear nuevo skill con guía interactiva |

#### Gestión de contexto y sesiones

| Comando | Descripción |
|---------|------------|
| `/swl:checkpoint` | Guardar estado para continuar después |
| `/swl:compactar` | Reducir contexto preservando info clave |
| `/swl:contexto [dev\|review\|research]` | Cambiar modo de desarrollo |
| `/swl:sesiones [list\|resume\|wake]` | Historial y retoma de sesiones |
| `/swl:modelo [haiku\|sonnet\|opus]` | Consultar o forzar modelo |

#### Métricas y monitoreo

| Comando | Descripción |
|---------|------------|
| `/swl:metricas [resumen\|detalle]` | Métricas de sesión (tokens, costo) |
| `/swl:dashboard [today\|stats]` | Dashboard histórico multi-sesión |
| `/swl:mcp-status` | Estado de servidores MCP conectados |

#### Instalación y sistema

| Comando | Descripción |
|---------|------------|
| `/swl:instalar` | Instalar SWL desde Claude Code |
| `/swl:actualizar` | Actualizar SWL a última versión |
| `/swl:release [--tipo=X]` | Ciclo de release SemVer |
| `/swl:plugins [list\|install]` | Gestionar plugins de _userland/ |
| `/swl:gateway` | Configurar gateway multi-plataforma |
| `/swl:cron` | Gestionar tareas programadas |

#### Exploración y conocimiento

| Comando | Descripción |
|---------|------------|
| `/swl:skill-search [keyword]` | Buscar skills por keyword o dominio |
| `/swl:wiki [init\|query\|ingest]` | Wiki de conocimiento del proyecto |
| `/swl:mapear-codebase` | Analizar codebase existente |
| `/swl:instintos [list\|add\|promote]` | Gestionar instintos YAML |
| `/swl:ayuda [comando\|keyword]` | Esta ayuda |

### Después de mostrar las tablas

Agregar al final:

```
Tip: usa /swl:ayuda <nombre> para ver el detalle de un comando.
     usa /swl:ayuda <keyword> para buscar por tema (ej: /swl:ayuda testing).
```

---

## Modo 2 — Con nombre de comando: detalle específico

El argumento coincide con un nombre de comando existente (con o sin prefijo `swl:`).

### Paso 1 — Resolver el nombre

```bash
# Normalizar: quitar prefijo /swl: o swl: si lo tiene
# Buscar archivo en comandos/swl/
ls "comandos/swl/${NOMBRE}.md" 2>/dev/null
```

Si no existe: cambiar a Modo 3 (búsqueda por keyword).

### Paso 2 — Leer el comando

```
Read("comandos/swl/${NOMBRE}.md")
```

### Paso 3 — Presentar resumen estructurado

Extraer del archivo y presentar en formato compacto:

```
📌 /swl:{nombre} — {description del frontmatter}

Uso:
  /swl:{nombre} {argumentos y flags}

Cuándo usar:
  - {lista breve de situaciones}

Pasos principales:
  1. {resumen de cada paso, no el paso completo}

Comandos relacionados:
  - /swl:{relacionado1} — {descripción}
  - /swl:{relacionado2} — {descripción}
```

Los comandos relacionados se infieren por categoría funcional (misma sección en
las tablas del Modo 1). No inventar relaciones — solo las de la misma categoría.

---

## Modo 3 — Con keyword: búsqueda transversal

El argumento NO coincide con un nombre de comando. Buscar en 3 fuentes.

### Paso 1 — Buscar en comandos

```bash
grep -ril "${KEYWORD}" comandos/swl/ 2>/dev/null | head -10
```

### Paso 2 — Buscar en skills

```bash
grep -ril "${KEYWORD}" habilidades/*/SKILL.md 2>/dev/null | head -10
```

### Paso 3 — Buscar en agentes

```bash
grep -il "${KEYWORD}" agentes/*.md 2>/dev/null | head -10
```

### Paso 4 — Presentar resultados agrupados

```
Resultados para "{keyword}":

Comandos:
  /swl:{nombre}  — {description}
  ...

Skills:
  {nombre}  — {description}
  Para cargar: Skill("{nombre}")
  ...

Agentes:
  {nombre}  — {description}
  ...

{N} resultados en total.
```

Si no hay resultados en ninguna fuente:

```
No se encontraron resultados para "{keyword}".

Sugerencias:
- Verifica la ortografía
- Prueba con sinónimos (ej: "test" en lugar de "prueba")
- Usa /swl:ayuda sin argumentos para ver el catálogo completo
- Usa /swl:skill-search {keyword} para búsqueda detallada de skills
```

---

## Reglas de comportamiento

- Este comando es de **solo lectura**. NUNCA modifica archivos.
- Las tablas del Modo 1 se generan desde las constantes de este archivo,
  NO leyendo dinámicamente cada comando (evita ~34 reads innecesarios).
- El Modo 2 SÍ lee el archivo del comando para dar detalle — un solo Read.
- El Modo 3 usa grep para buscar — máximo 3 comandos grep.
- Si el usuario escribe `/swl:ayuda` seguido de algo ambiguo que podría ser
  tanto un comando como un keyword (ej: "release"), priorizar Modo 2 (comando).
- Presentar la información de forma concisa. No repetir el contenido completo
  del archivo del comando — resumir los pasos y mostrar lo esencial.
- Los tips de navegación al final de cada modo son obligatorios — guían al
  usuario hacia la exploración progresiva.
