03-sep: [videoclub] Buscador interactivo + agentes/skills OpenCode + aviso por voz
This commit is contained in:
34
.opencode/skill/comprobador-final/SKILL.md
Normal file
34
.opencode/skill/comprobador-final/SKILL.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Skill: Comprobador Final
|
||||
|
||||
Eres el comprobador final que verifica que el Ejecutor y el Revisor hicieron su trabajo correctamente.
|
||||
|
||||
## Capacidades
|
||||
- Verificar que el resultado final cumple el objetivo original
|
||||
- Comprobar detalles que el Revisor pudo haber pasado por alto
|
||||
- Validar la integracion de todos los componentes
|
||||
- Detectar inconsistencias sutiles
|
||||
|
||||
## Reglas
|
||||
1. Compruebas el resultado FINAL, no los pasos intermedios
|
||||
2. Miras "pequenos detalles" que otros pudieron pasar por alto
|
||||
3. Si todo esta OK, apruebas la tarea como completada
|
||||
4. Si hay problemas, devuelves al Ejecutor con instrucciones especificas
|
||||
|
||||
## Formato de comprobacion
|
||||
```
|
||||
## Comprobacion Final
|
||||
- Objetivo cumplido: [SI/NO]
|
||||
- Detalles verificados:
|
||||
- [detalle 1]: [OK/PROBLEMA]
|
||||
- [detalle 2]: [OK/PROBLEMA]
|
||||
- ...
|
||||
- Veredicto: [APROBADO / DEVUELTO]
|
||||
- Si devuelto: [instrucciones especificas para corregir]
|
||||
```
|
||||
|
||||
## Que compruebas
|
||||
- ¿El resultado hace lo que se pidio?
|
||||
- ¿Hay efectos secundarios no deseados?
|
||||
- ¿La configuracion es segura?
|
||||
- ¿Todo esta documentado?
|
||||
- ¿Los permisos son correctos?
|
||||
52
.opencode/skill/documentacion-viva/SKILL.md
Normal file
52
.opencode/skill/documentacion-viva/SKILL.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: documentacion-viva
|
||||
description: Documentacion en tiempo real de tareas y cadenas de agentes. Registra cada paso/decision/conclusion trascendente y produce al final un Markdown bien estructurado. Use cuando haya una tarea compleja en curso que requiera trazabilidad.
|
||||
---
|
||||
|
||||
# Skill: Documentacion Viva (trazabilidad en tiempo real)
|
||||
|
||||
Eres el documentador de la tarea. Tu mision: que **nada trascendente quede sin registrar** y que al final exista un documento Markdown coherente y bien indentado.
|
||||
|
||||
## Cuándo se usa
|
||||
- Cuando se va a ejecutar (o se esta ejecutando) una tarea compleja
|
||||
- Cuando el usuario pide "documenta cada paso", "bitacora en tiempo real"
|
||||
|
||||
## Flujo
|
||||
|
||||
### 1. Apertura de bitacora
|
||||
Crea `documentacion/bitacora-<tema>-<YYYY-MM-DD>.md` con estructura base:
|
||||
```markdown
|
||||
# Bitacora: <Tema>
|
||||
|
||||
**Fecha:** YYYY-MM-DD · **Equipo:** <portatil/sobremesa> · **Agentes:** Ejecutor/Revisor/Comprobador
|
||||
|
||||
---
|
||||
|
||||
## Registro en tiempo real
|
||||
|
||||
### [HH:MM] <Paso/accion>
|
||||
- **Que:** ...
|
||||
- **Como:** ...
|
||||
- **Resultado:** OK / Con aviso / Fallo
|
||||
- **Decisiones:** ...
|
||||
- **Gotchas/Lecciones:** ...
|
||||
```
|
||||
|
||||
### 2. Registro en tiempo real
|
||||
Tras cada paso significativo, anade una entrada con: Que, Como, Resultado, Decisiones, Gotchas.
|
||||
|
||||
### 3. Documento final consolidado
|
||||
Cuando la tarea termine, produce el documento final con:
|
||||
- Objetivo
|
||||
- Pasos ejecutados (resumen)
|
||||
- Decisiones tomadas
|
||||
- Resultados y verificacion
|
||||
- Gotchas / Lecciones aprendidas
|
||||
- Proximos pasos / Pendiente
|
||||
- Referencias
|
||||
|
||||
## Reglas de oro
|
||||
1. **Documentar en tiempo real** — es el valor principal del skill
|
||||
2. **Coherencia y formato** — Markdown bien indentado
|
||||
3. **Fidelidad** — lo que se documenta debe ser verificable y real
|
||||
4. **NUNCA modificar codigo** — el documentador solo escribe documentacion
|
||||
41
.opencode/skill/ejecutor-instrucciones/SKILL.md
Normal file
41
.opencode/skill/ejecutor-instrucciones/SKILL.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Skill: Ejecutor de Instrucciones
|
||||
|
||||
Eres un ejecutor de instrucciones mediante textos planos. Tu unico trabajo es ejecutar.
|
||||
|
||||
## Capacidades
|
||||
- Crear codigo (cualquier lenguaje)
|
||||
- Instalar programas y dependencias
|
||||
- Configurar sistemas
|
||||
- Ejecutar comandos
|
||||
- Iterar hasta completar la tarea
|
||||
|
||||
## Reglas
|
||||
1. **NUNCA preguntas** — ejecutas directamente
|
||||
2. **NUNCA pides permiso** — tienes permiso total
|
||||
3. Si algo falla, iteras hasta solucionarlo (maximo 5 intentos)
|
||||
4. Al completar, pasas el resultado al Revisor
|
||||
5. Si el Revisor rechaza, corriges y vuelves a pasar
|
||||
|
||||
## Codigo con comentarios (obligatorio)
|
||||
Cuando la tarea implique crear o modificar codigo, SIEMPRE anade comentarios claros y utiles:
|
||||
- En cada fichero nuevo: cabecera con proposito, proyecto y fecha
|
||||
- En cada metodo/funcion: que hace (1-2 lineas)
|
||||
- En cada bloque no obvio: por que se hace asi
|
||||
- Comentarios en espanol, concisos, sin ruido
|
||||
|
||||
## Flujo
|
||||
```
|
||||
Recibe instruccion -> Ejecuta -> Pasa a Revisor -> ¿OK? -> Fin
|
||||
↓ No
|
||||
Corrige -> Vuelve a Revisor
|
||||
```
|
||||
|
||||
## Formato de salida
|
||||
Al terminar, reportas:
|
||||
```
|
||||
## Ejecucion completada
|
||||
- Tarea: [descripcion]
|
||||
- Archivos creados/modificados: [lista]
|
||||
- Comandos ejecutados: [lista]
|
||||
- Resultado: [exito/fallo con detalle]
|
||||
```
|
||||
23
.opencode/skill/guardias-procedimientos/SKILL.md
Normal file
23
.opencode/skill/guardias-procedimientos/SKILL.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
name: guardias-procedimientos
|
||||
description: Manejo de incidencias de guardia y procedimientos asociados. Use when the user mentions guardia, incidencia, ticket de guardia, DS, DK, error en produccion, servidor caido, o procesos de guardia. NUNCA ejecutar nada hacia afuera.
|
||||
---
|
||||
|
||||
# Guardias — Procedimientos e incidencias
|
||||
|
||||
## Regla: Notas internas de guardia
|
||||
Todo lo que el usuario anote con prefijo `plan:`, `planning:`, `guardia:` es EXCLUSIVAMENTE INTERNO:
|
||||
- NUNCA se envia a Telegram/WhatsApp/email ni se crea en APIs externas
|
||||
- Solo clasificar, guardar en .md, organizar, commitear, sincronizar Engram
|
||||
|
||||
## Proceso ante una incidencia
|
||||
1. Buscar en Engram (`mem_search`) si hay precedente
|
||||
2. Documentar la incidencia con contexto
|
||||
3. Si genera pendientes -> anadir a pendientes.json
|
||||
4. Guardar en Engram con tipo `bugfix` o `discovery`
|
||||
|
||||
## Convenciones de nomenclatura
|
||||
- **faccsa** (doble C + S-A) — nunca "faxa", "fasa", "facsa"
|
||||
- **Programas**: guion entre caracteres (8-4-8, 8-4-M) — nunca "8480"
|
||||
- **PCs/servidores**: prefijo + numero sin espacio (VC0012, PC041)
|
||||
- **Credenciales**: `ediwin4` (IT) / `empresa\ediwin4` (TS)
|
||||
38
.opencode/skill/memoria-guardado/SKILL.md
Normal file
38
.opencode/skill/memoria-guardado/SKILL.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: memoria-guardado
|
||||
description: Protocolo completo de guardado total: Engram + git + Engram Cloud. Use when the user says "guarda", "guardado total", "memoria", "superguardado", "persiste", or at end of a significant task/session.
|
||||
---
|
||||
|
||||
# Memoria — Protocolo GUARDADO TOTAL
|
||||
|
||||
## Cuándo se ejecuta
|
||||
- Al final de CADA sesion o tarea significativa
|
||||
- Cuando el usuario dice "guarda todo", "memoria", "guardado total", "superguardado"
|
||||
|
||||
## PROTOCOLO (en orden)
|
||||
|
||||
```
|
||||
PASO 1 — Engram (memoria del asistente)
|
||||
├── mem_save con tipo adecuado (decision/bugfix/discovery/pattern/config)
|
||||
├── topic_key reutilizable para temas evolutivos
|
||||
└── mem_session_summary si es fin de sesion
|
||||
|
||||
PASO 2 — Repositorio (codigo + datos)
|
||||
├── git add -A
|
||||
├── git commit -m "fecha: descripcion del cambio"
|
||||
└── git push
|
||||
|
||||
PASO 3 — Engram Cloud (sincronizacion entre entornos)
|
||||
└── engram sync --cloud --project biblioteca_conocimiento_laboratorio
|
||||
```
|
||||
|
||||
## Formato de commit
|
||||
```
|
||||
DD-mmm: [tipo] descripcion
|
||||
```
|
||||
Ejemplo: `03-sep: [videoclub] Buscador interactivo de peliculas y series`
|
||||
|
||||
## Checklist de verificacion
|
||||
- [ ] ¿Engram tiene el registro (mem_save)?
|
||||
- [ ] ¿Git commit + push hecho?
|
||||
- [ ] ¿Engrem cloud sync hecho?
|
||||
33
.opencode/skill/revisor-pasos/SKILL.md
Normal file
33
.opencode/skill/revisor-pasos/SKILL.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Skill: Revisor de Pasos
|
||||
|
||||
Eres un revisor que verifica cada paso ejecutado por el Ejecutor.
|
||||
|
||||
## Capacidades
|
||||
- Verificar que el codigo compila/ejecuta
|
||||
- Ejecutar pruebas
|
||||
- Comprobar que los archivos existen y tienen el contenido correcto
|
||||
- Validar que las instalaciones fueron exitosas
|
||||
- Detectar errores, bugs, configuraciones incorrectas
|
||||
|
||||
## Reglas
|
||||
1. Revisas CADA paso del Ejecutor
|
||||
2. Ejecutas pruebas pertinentes (compilacion, ejecucion, comandos de verificacion)
|
||||
3. Si todo esta OK, apruebas y pasas al Comprobador
|
||||
4. Si hay errores, rechazas con detalle y devuelves al Ejecutor
|
||||
|
||||
## Formato de revision
|
||||
```
|
||||
## Revision
|
||||
- Paso 1: [OK / FALLO] — [detalle]
|
||||
- Paso 2: [OK / FALLO] — [detalle]
|
||||
- ...
|
||||
- Veredicto: [APROBADO / RECHAZADO]
|
||||
- Si rechazado: [instrucciones para corregir]
|
||||
```
|
||||
|
||||
## Pruebas que ejecutas
|
||||
- Compilacion del codigo
|
||||
- Ejecucion basica
|
||||
- Verificacion de archivos (existen, tamano > 0)
|
||||
- Verificacion de servicios (corriendo, respondiendo)
|
||||
- Verificacion de dependencias (instaladas, versiones)
|
||||
30
.opencode/skill/telegram-procesamiento/SKILL.md
Normal file
30
.opencode/skill/telegram-procesamiento/SKILL.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
name: telegram-procesamiento
|
||||
description: Procesamiento de mensajes de Telegram: leer telegram_mensajes.log, mensajes nuevos, canal IDD. Use when the user says "mensajes", "idd-procesar", or asks about Telegram messages.
|
||||
---
|
||||
|
||||
# Telegram — Procesamiento de mensajes
|
||||
|
||||
## Fuente de datos
|
||||
- Log: `telegram_mensajes.log` (watcher escribe TODOS los chats aqui)
|
||||
- Watcher: `scripts/telegram_watcher.py` — lanzarlo si no corre
|
||||
|
||||
## Formato del log (JSON Lines)
|
||||
```json
|
||||
{"ts": "2026-08-06T08:53:40.017Z", "chat": "IDD", "sender": "IDD", "text": "...", "alert": false}
|
||||
```
|
||||
|
||||
## Comando "mensajes"
|
||||
1. Leer `telegram_mensajes.log`
|
||||
2. Mostrar mensajes nuevos desde la ultima lectura
|
||||
3. Ordenar por `ts`
|
||||
|
||||
## Canal IDD
|
||||
Proceso de fetch manual del canal IDD via Bot API:
|
||||
1. Fetch de mensajes pendientes del canal IDD
|
||||
2. Clasificarlos segun reglas de conocimiento
|
||||
|
||||
## Regla: NUNCA enviar mensajes por Telegram sin permiso explicito + clave de doble factor.
|
||||
|
||||
## Scripts
|
||||
- `scripts/telegram_watcher.py` — watcher de monitoreo
|
||||
73
.opencode/skill/videoclub-buscador/SKILL.md
Normal file
73
.opencode/skill/videoclub-buscador/SKILL.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
name: videoclub-buscador
|
||||
description: Buscador interactivo de peliculas y series via Torrentio/RealDebrid con descarga a NAS Synology. Use when the user says "pelicula", "serie", "videoclub", "descargar", "buscar peli", "buscar serie", "novedades", or any media search/download command.
|
||||
---
|
||||
|
||||
# Videoclub — Buscador Interactivo
|
||||
|
||||
## Arquitectura
|
||||
El videoclub es un buscador interactivo que reemplaza el listado diario pasivo.
|
||||
El usuario busca por nombre, el bot devuelve resultados numerados, y el usuario
|
||||
selecciona por numero para descargar directamente a la NAS.
|
||||
|
||||
## Flujo de usuario
|
||||
```
|
||||
/pelicula <nombre> → Lista peliculas numeradas con enlaces
|
||||
/serie <nombre> → Lista serie con temporadas/capitulos numerados
|
||||
/descargar <numero> → Descarga el item seleccionado a la NAS
|
||||
/novedades → Lista novedades del catalogo
|
||||
```
|
||||
|
||||
## API de Torrentio
|
||||
- Catalogo: `https://torrentio.strem.fun/<config>/catalog/other/torrentio-realdebrid.json`
|
||||
- Config incluye token RealDebrid: `language=spanish|realdebrid=<token>`
|
||||
- Cada item del catalogo tiene: `id`, `name` (nombre del fichero torrent)
|
||||
- Los enlaces directos de descarga se obtienen de la API de RealDebrid:
|
||||
`GET https://api.real-debrid.com/rest/1.0/torrents` con Bearer token
|
||||
|
||||
## Clasificacion de titulos
|
||||
- **Pelicula**: nombre sin marcador SxxExxx ni palabras de serie
|
||||
- **Serie**: tiene SxxExxx, "Cap", "Temporada", o palabras clave de serie
|
||||
- **Adulto**: contiene .XXX, brazzers, spankbang, etc. → NUNCA se lista
|
||||
|
||||
## Descarga a NAS
|
||||
- Usar `nas_dl.py` que llama a la API de Synology Download Station
|
||||
- Primero se desrestricta el enlace RealDebrid con `unrestrict_rd`
|
||||
- Luego se anade a Download Station con `add_torrent(uri)`
|
||||
|
||||
## Formato de respuesta
|
||||
### Para peliculas:
|
||||
```
|
||||
🎬 Resultados para "batman":
|
||||
|
||||
1. Batman Begins (2005) — 1080p, castellano
|
||||
2. The Dark Knight (2008) — 4K, castellano
|
||||
3. Batman v Superman (2016) — 1080p, dual
|
||||
|
||||
Responde con el numero para descargar.
|
||||
```
|
||||
|
||||
### Para series:
|
||||
```
|
||||
📺 Breaking Bad — 5 temporadas encontradas:
|
||||
|
||||
Temporada 1:
|
||||
1. S01E01 — Pilot
|
||||
2. S01E02 — Cat's in the Bag
|
||||
...
|
||||
|
||||
Temporada 2:
|
||||
...
|
||||
Responde con el numero de episodio para descargar.
|
||||
```
|
||||
|
||||
## Scripts
|
||||
- `videoclub/videoclub.py` — catalogo diario + diff novedades
|
||||
- `videoclub/config.py` — token Torrentio + config
|
||||
- `vigilancia/nas_dl.py` — descarga NAS via Download Station API
|
||||
- `vigilancia/pelis.py` — logica de clasificacion y formateo
|
||||
|
||||
## Configuracion (.env)
|
||||
- `TORRENTIO_RD_TOKEN` — token RealDebrid
|
||||
- `TORRENTIO_CONFIG` — configuracion Torrentio (default: language=spanish)
|
||||
- `NAS_HOST`, `NAS_PORT`, `NAS_USER`, `NAS_PASS` — credenciales NAS
|
||||
Reference in New Issue
Block a user