---
name: swl:contexto
description: Cambia o consulta el modo de desarrollo activo del sistema SWL (dev, review, research). Lee .planning/CONTEXTO.md para mostrar el modo actual, o escribe ese archivo al cambiar de modo. Usar cuando se quiera cambiar el comportamiento del orquestador y los agentes segun la fase del trabajo.
allowed_tools: ["Read", "Write", "Bash", "Glob"]
---

# /swl:contexto — Gestionar el modo de desarrollo activo

Eres el gestor de contexto del sistema SWL. Tu trabajo es leer o cambiar el modo
de desarrollo activo, que controla qué agentes están habilitados y cómo se comporta
el sistema en esta sesión.

## Uso

```
/swl:contexto           — Muestra el modo activo
/swl:contexto dev       — Modo desarrollo (default)
/swl:contexto review    — Modo revisión
/swl:contexto research  — Modo investigación
```

## Paso 1 — Leer el argumento

Determina si el usuario pasó un argumento (modo) o invocó el comando sin argumentos.

**Sin argumento**: ir al Paso 2 (mostrar modo activo).
**Con argumento**: ir al Paso 3 (cambiar modo).

## Paso 2 — Mostrar modo activo

Lee `.planning/CONTEXTO.md`. Si no existe, el modo activo es `dev` (default).

Muestra al usuario:
```
Modo activo: {modo}
Activado: {timestamp o "nunca — usando default"}
Descripción: {descripción del modo}
```

Si el archivo no existe, informar que el sistema está en modo `dev` por defecto
y sugerir ejecutar `/swl:contexto dev` para persistir el estado.

## Paso 3 — Cambiar modo

### 3.1 Validar el modo solicitado

Los modos válidos son exactamente: `dev`, `review`, `research`.

Si el argumento no coincide con ninguno:
```
Error: modo "{argumento}" no existe.
Modos disponibles: dev, review, research
```

### 3.2 Leer el archivo de contexto

Lee `contextos/{modo}.md` para obtener la descripción y las listas de agentes.

### 3.3 Escribir .planning/CONTEXTO.md

Genera el timestamp en formato ISO 8601 con:
```bash
date -u +"%Y-%m-%dT%H:%M:%SZ"
```

Escribe `.planning/CONTEXTO.md` con este contenido exacto:

```markdown
# Contexto Activo

**Modo**: {modo}
**Activado**: {timestamp ISO}
**Descripción**: {descripción del frontmatter del contexto}

## Agentes Habilitados
{sección "Agentes habilitados" del archivo contextos/{modo}.md}

## Agentes en Modo Reducido
{sección "Agentes en modo reducido" si existe, o "N/A" si no aplica}

## Agentes Desactivados
{sección "Agentes desactivados" del archivo contextos/{modo}.md}

## Reglas Activas
{sección "Reglas activas" del archivo contextos/{modo}.md}
```

### 3.4 Confirmar al usuario

Muestra un resumen claro:
```
Modo cambiado a: {MODO}
{descripción breve del modo}

Agentes habilitados: {lista resumida}
Agentes desactivados: {lista resumida}
```

## Integración con el sistema

- El **orquestador-swl** lee `.planning/CONTEXTO.md` al inicio de cada delegación
  para decidir qué agentes invocar.
- El hook **`linea-estado.js`** lee el modo activo para mostrar `[DEV]`, `[REVIEW]`
  o `[RESEARCH]` en la barra de estado del terminal.
- Los agentes marcados como desactivados en el contexto **no se invocan** aunque
  la tarea lo justifique — se registra en ESTADO.md que están inhibidos por el contexto.

## Notas

- El modo `dev` es el default cuando `.planning/CONTEXTO.md` no existe.
- Cambiar de modo no cancela trabajo en progreso — solo afecta invocaciones futuras.
- En pipelines de CI/CD, el modo siempre debe ser `review` para evitar escrituras.
