---
name: capture-skill
description: Formaliza un proceso completado con éxito como skill reutilizable. Genera el SKILL.md correspondiente y actualiza el registro SKILLS.md con tipo, prerequisitos y output. Invocar después de confirmar que un proceso funcionó correctamente y se quiere repetir en el futuro.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
---

# Capture Skill — Formalizador de procesos

Eres un experto en documentar procesos de forma que puedan repetirse de manera casi automática. Tu objetivo es capturar lo que acaba de funcionar y convertirlo en una skill invocable con preguntas claras y pasos definidos.

## Regla de entrada obligatoria

ANTES de hacer ninguna pregunta, verifica:
"¿El humano ha confirmado explícitamente que el proceso que quiere capturar funcionó correctamente?"

Si NO hay confirmación explícita: pregunta primero "¿El proceso que quieres documentar dio el resultado correcto y lo considerarías repetible?" — si la respuesta es no o dudosa, no continuar.

---

## PASO 1 — Recopilar información del proceso a capturar

Haz estas preguntas una a una, esperando respuesta:

**Pregunta 1 — Nombre:**
¿Cómo se llama este proceso?
- Formato: minúsculas con guiones (ej: `competitor-analysis`, `web-scraping-productos`, `ads-meta-analisis`)
- Este será el comando para invocarlo: `/[nombre]`

**Pregunta 2 — Descripción en una frase:**
¿Qué hace este proceso en una frase?
- Esta es la descripción que Claude lee para decidir si invocar esta skill automáticamente
- Ejemplo: "Extrae todos los productos de una tienda e-commerce mediante web scraping y los guarda en Excel"
- Sé específico: qué hace, qué tipo de output produce, en qué contexto aplica

**Pregunta 3 — Tipo:**
¿Qué tipo de proceso es?
- `fuente` — produce un archivo de datos nuevo (Excel, CSV, JSON, Markdown con datos...)
- `análisis` — toma datos existentes y genera insights, reportes o resúmenes
- `generación` — crea un artefacto (código, copy, diseño, documento estructurado)
- `compuesta` — combina dos o más de los anteriores

**Pregunta 4 — Inputs necesarios:**
¿Qué información o archivos necesita como entrada?
- Puede ser: una URL, un archivo en disco (especifica la ruta típica), una descripción, una imagen, "ninguno"
- Para cada input: ¿es obligatorio u opcional?

**Pregunta 5 — Output producido:**
¿Qué archivo(s) produce este proceso?
- Nombre del archivo y ruta donde se guarda (ej: `_OUTPUTS/competencia/analisis_competencia.xlsx`)
- Si la ruta varía según el proyecto, indicar la convención (ej: `_OUTPUTS/[dominio]/[nombre]_[fecha].xlsx`)

**Pregunta 6 — Prerequisitos:**
¿Este proceso necesita que otro proceso se haya ejecutado antes?
- Si sí: ¿qué archivo debe existir? ¿qué skill lo produce?
- Si no: "ninguno"

**Pregunta 7 — Preguntas de la skill:**
Voy a revisar el contexto de lo que se hizo en esta sesión. ¿Hay algo que yo deba preguntarle al usuario cada vez que se invoque esta skill para poder ejecutarla? (además de los inputs ya indicados)

---

## PASO 2 — Revisar el contexto de la sesión

Lee `_OUTPUTS/session_log.md` si existe para ver qué archivos se modificaron en la sesión actual.
Usa eso como contexto para reconstruir los pasos del proceso que se quiere documentar.
Si el log no existe o no es suficiente, pide al humano que describa brevemente los pasos que siguió.

---

## PASO 3 — Generar el SKILL.md

Crea `~/.claude/skills/[nombre]/SKILL.md` con esta estructura:

```
---
name: [nombre]
description: [descripción en una frase — exactamente lo que respondió en Pregunta 2]
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
argument-hint: [hint opcional si aplica]
---

# [Nombre legible del proceso]

[Descripción ampliada de qué hace y cuándo usarlo]

## PASO 0 — Verificar prerequisitos

[Si tiene prerequisito:]
Antes de ejecutar este proceso, verificar:
- Buscar con Glob: [ruta del archivo prerequisito]
- Si existe → continuar al PASO 1
- Si NO existe → invocar `/[skill-prerequisito]` primero, luego volver aquí

[Si no tiene prerequisito:]
Sin prerequisitos. Continuar directamente al PASO 1.

## PASO 1 — Recopilar información

[Preguntas que debe hacer Claude al usuario, una a una]

## PASO 2 — [Nombre del paso principal]

[Pasos detallados del proceso basados en lo que funcionó]

## PASO [N] — Guardar output

[Instrucciones de dónde y cómo guardar el resultado, con el nombre y ruta definidos en Pregunta 5]

## PASO [N+1] — Confirmación y registro

Confirmar al humano: "Proceso completado. Output guardado en [ruta]."
Preguntar: "¿El resultado es correcto?" → si sí, el proceso está validado.

---

## Registro de versión

Creada: [fecha]
Validada: [fecha de primera ejecución exitosa confirmada]
Última actualización: [fecha]
```

---

## PASO 4 — Actualizar SKILLS.md

Buscar `_SISTEMA/agentes/SKILLS.md` en el proyecto activo (Glob desde el directorio de trabajo).
Si existe: añadir una fila nueva en la tabla "Skills activas" con todos los campos:
- Skill, Comando, Tipo, Prerequisito, Output en disco, Dominio, Estado

Si no existe (sesión fuera del proyecto VION): notificar al humano que SKILLS.md no encontrado y proporcionar la fila para que la añada manualmente.

---

## PASO 5 — Confirmación final

```
✓ Skill creada: ~/.claude/skills/[nombre]/SKILL.md
✓ SKILLS.md actualizado — nueva entrada en tabla
✓ Invócala en futuras sesiones con: /[nombre]

Prerequisito detectado: [sí/no — cuál]
Output que produce: [ruta]
Tipo: [fuente/análisis/generación/compuesta]
```
