zyn-ai 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +38 -8
- package/src/providers/catalog.js +302 -0
- package/.github/workflows/publish.yml +0 -23
- package/data/models.example.json +0 -15
- package/data/skills/code-style.md +0 -79
- package/data/skills/completion.md +0 -20
- package/data/skills/core.md +0 -35
- package/data/skills/debugging.md +0 -279
- package/data/skills/domains.md +0 -83
- package/data/skills/frontend_design.md +0 -33
- package/data/skills/methodology.md +0 -84
- package/data/skills/reasoning.md +0 -62
- package/data/skills/testing.md +0 -24
- package/data/skills/thinking.md +0 -146
- package/data/skills/tools.md +0 -102
- package/data/skills/web-agent.md +0 -67
package/data/skills/debugging.md
DELETED
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
# Depuración Sistemática
|
|
2
|
-
|
|
3
|
-
## Resumen
|
|
4
|
-
|
|
5
|
-
Las correcciones aleatorias hacen perder tiempo y crean nuevos errores. Los parches rápidos enmascaran problemas subyacentes.
|
|
6
|
-
|
|
7
|
-
**Principio fundamental:** SIEMPRE encontrar la causa raíz antes de intentar las correcciones. Las correcciones de síntomas son un fracaso.
|
|
8
|
-
|
|
9
|
-
**Violar la letra de este proceso es violar el espíritu de la depuración.**
|
|
10
|
-
|
|
11
|
-
## La Ley de Hierro
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
NO HAY CORRECCIONES SIN INVESTIGACIÓN DE LA CAUSA RAÍZ PRIMERO
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Si no has completado la Fase 1, no puedes proponer correcciones.
|
|
18
|
-
|
|
19
|
-
## Cuándo Usar
|
|
20
|
-
|
|
21
|
-
Usar para CUALQUIER problema técnico:
|
|
22
|
-
- Fallos de prueba
|
|
23
|
-
- Errores en producción
|
|
24
|
-
- Comportamiento inesperado
|
|
25
|
-
- Problemas de rendimiento
|
|
26
|
-
- Fallos de compilación
|
|
27
|
-
- Problemas de integración
|
|
28
|
-
|
|
29
|
-
**Usar ESTO ESPECIALMENTE cuando:**
|
|
30
|
-
- Bajo presión de tiempo (las emergencias hacen que adivinar sea tentador)
|
|
31
|
-
- Parece obvia una "rápida corrección"
|
|
32
|
-
- Ya has intentado múltiples correcciones
|
|
33
|
-
- La corrección anterior no funcionó
|
|
34
|
-
- No entiendes completamente el problema
|
|
35
|
-
|
|
36
|
-
**No omitir cuando:**
|
|
37
|
-
- El problema parece simple (los errores simples también tienen causas raíz)
|
|
38
|
-
- Tienes prisa (la prisa garantiza retrabajo)
|
|
39
|
-
- El gerente quiere que se arregle AHORA (lo sistemático es más rápido que el caos)
|
|
40
|
-
|
|
41
|
-
## Las Cuatro Fases
|
|
42
|
-
|
|
43
|
-
DEBES completar cada fase antes de pasar a la siguiente.
|
|
44
|
-
|
|
45
|
-
### Fase 1: Investigación de la Causa Raíz
|
|
46
|
-
|
|
47
|
-
**ANTES de intentar CUALQUIER corrección:**
|
|
48
|
-
|
|
49
|
-
1. **Leer los Mensajes de Error Detenidamente**
|
|
50
|
-
- No te saltes errores o advertencias
|
|
51
|
-
- A menudo contienen la solución exacta
|
|
52
|
-
- Lee las trazas de pila completas
|
|
53
|
-
- Anota números de línea, rutas de archivo, códigos de error
|
|
54
|
-
|
|
55
|
-
2. **Reproducir Consistentemente**
|
|
56
|
-
- ¿Puedes desencadenarlo de manera confiable?
|
|
57
|
-
- ¿Cuáles son los pasos exactos?
|
|
58
|
-
- ¿Sucede siempre?
|
|
59
|
-
- Si no es reproducible → recopila más datos, no adivines
|
|
60
|
-
|
|
61
|
-
3. **Verificar Cambios Recientes**
|
|
62
|
-
- ¿Qué cambió que podría causar esto?
|
|
63
|
-
- `git diff`, commits recientes
|
|
64
|
-
- Nuevas dependencias, cambios de configuración
|
|
65
|
-
- Diferencias ambientales
|
|
66
|
-
|
|
67
|
-
4. **Recopilar Evidencia en Sistemas Multi-Componente**
|
|
68
|
-
|
|
69
|
-
**CUANDO el sistema tiene múltiples componentes (CI → build → signing, API → service → database):**
|
|
70
|
-
|
|
71
|
-
**ANTES de proponer correcciones, agrega instrumentación de diagnóstico:**
|
|
72
|
-
```
|
|
73
|
-
Para CADA límite de componente:
|
|
74
|
-
- Registra qué datos entran al componente
|
|
75
|
-
- Registra qué datos salen del componente
|
|
76
|
-
- Verifica la propagación del entorno/configuración
|
|
77
|
-
- Comprueba el estado en cada capa
|
|
78
|
-
|
|
79
|
-
Ejecuta una vez para recopilar evidencia que muestre DÓNDE falla
|
|
80
|
-
LUEGO analiza la evidencia para identificar el componente que falla
|
|
81
|
-
LUEGO investiga ese componente específico
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Ejemplo (sistema multi-capa):**
|
|
85
|
-
```bash
|
|
86
|
-
# Capa 1: Workflow
|
|
87
|
-
echo "=== Secretos disponibles en el workflow: ==="
|
|
88
|
-
echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
|
|
89
|
-
|
|
90
|
-
# Capa 2: Script de build
|
|
91
|
-
echo "=== Variables de entorno en el script de build: ==="
|
|
92
|
-
env | grep IDENTITY || echo "IDENTITY no está en el entorno"
|
|
93
|
-
|
|
94
|
-
# Capa 3: Script de firma
|
|
95
|
-
echo "=== Estado del llavero: ==="
|
|
96
|
-
security list-keychains
|
|
97
|
-
security find-identity -v
|
|
98
|
-
|
|
99
|
-
# Capa 4: Firma real
|
|
100
|
-
codesign --sign "$IDENTITY" --verbose=4 "$APP"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Esto revela:** Qué capa falla (secretos → workflow ✓, workflow → build ✗)
|
|
104
|
-
|
|
105
|
-
5. **Rastrear el Flujo de Datos**
|
|
106
|
-
|
|
107
|
-
**CUANDO el error está profundo en la pila de llamadas:**
|
|
108
|
-
|
|
109
|
-
Consulta `root-cause-tracing.md` en este directorio para la técnica completa de rastreo hacia atrás.
|
|
110
|
-
|
|
111
|
-
**Versión rápida:**
|
|
112
|
-
- ¿De dónde se origina el valor incorrecto?
|
|
113
|
-
- ¿Qué llamó a esto con el valor incorrecto?
|
|
114
|
-
- Sigue rastreando hacia arriba hasta encontrar la fuente
|
|
115
|
-
- Corrige en la fuente, no en el síntoma
|
|
116
|
-
|
|
117
|
-
### Fase 2: Análisis de Patrones
|
|
118
|
-
|
|
119
|
-
**Encuentra el patrón antes de corregir:**
|
|
120
|
-
|
|
121
|
-
1. **Encontrar Ejemplos de Trabajo**
|
|
122
|
-
- Localiza código similar que funcione en la misma base de código
|
|
123
|
-
- ¿Qué funciona que sea similar a lo que está roto?
|
|
124
|
-
|
|
125
|
-
2. **Comparar con Referencias**
|
|
126
|
-
- Si implementas un patrón, lee la implementación de referencia COMPLETAMENTE
|
|
127
|
-
- No escanees, lee cada línea
|
|
128
|
-
- Comprende el patrón completamente antes de aplicarlo
|
|
129
|
-
|
|
130
|
-
3. **Identificar Diferencias**
|
|
131
|
-
- ¿Qué es diferente entre lo que funciona y lo que está roto?
|
|
132
|
-
- Enumera cada diferencia, por pequeña que sea
|
|
133
|
-
- No asumas "eso no puede importar"
|
|
134
|
-
|
|
135
|
-
4. **Comprender las Dependencias**
|
|
136
|
-
- ¿Qué otros componentes necesita?
|
|
137
|
-
- ¿Qué configuraciones, entorno?
|
|
138
|
-
- ¿Qué suposiciones hace?
|
|
139
|
-
|
|
140
|
-
### Fase 3: Hipótesis y Pruebas
|
|
141
|
-
|
|
142
|
-
**Método científico:**
|
|
143
|
-
|
|
144
|
-
1. **Formular una Hipótesis Única**
|
|
145
|
-
- Declara claramente: "Creo que X es la causa raíz porque Y"
|
|
146
|
-
- Escríbelo
|
|
147
|
-
- Sé específico, no vago
|
|
148
|
-
|
|
149
|
-
2. **Probar Mínimamente**
|
|
150
|
-
- Haz el cambio MÁS PEQUEÑO posible para probar la hipótesis
|
|
151
|
-
- Una variable a la vez
|
|
152
|
-
- No corrijas múltiples cosas a la vez
|
|
153
|
-
|
|
154
|
-
3. **Verificar Antes de Continuar**
|
|
155
|
-
- ¿Funcionó? Sí → Fase 4
|
|
156
|
-
- ¿No funcionó? Formula NUEVA hipótesis
|
|
157
|
-
- NO agregues más correcciones encima
|
|
158
|
-
|
|
159
|
-
4. **Cuando No Sabes**
|
|
160
|
-
- Di "No entiendo X"
|
|
161
|
-
- No finjas saber
|
|
162
|
-
- Pide ayuda
|
|
163
|
-
- Investiga más
|
|
164
|
-
|
|
165
|
-
### Fase 4: Implementación
|
|
166
|
-
|
|
167
|
-
**Corrige la causa raíz, no el síntoma:**
|
|
168
|
-
|
|
169
|
-
1. **Crear un Caso de Prueba Fallido**
|
|
170
|
-
- La reproducción más simple posible
|
|
171
|
-
- Prueba automatizada si es posible
|
|
172
|
-
- Script de prueba único si no hay framework
|
|
173
|
-
- DEBE existir antes de corregir
|
|
174
|
-
- Usa la habilidad `superpowers:test-driven-development` para escribir pruebas fallidas adecuadas
|
|
175
|
-
|
|
176
|
-
2. **Implementar una Corrección Única**
|
|
177
|
-
- Aborda la causa raíz identificada
|
|
178
|
-
- UN cambio a la vez
|
|
179
|
-
- Sin mejoras de "mientras estoy aquí"
|
|
180
|
-
- Sin refactorización agrupada
|
|
181
|
-
|
|
182
|
-
3. **Verificar la Corrección**
|
|
183
|
-
- ¿La prueba pasa ahora?
|
|
184
|
-
- ¿No se rompieron otras pruebas?
|
|
185
|
-
- ¿El problema se resolvió realmente?
|
|
186
|
-
|
|
187
|
-
4. **Si la Corrección No Funciona**
|
|
188
|
-
- DETENTE
|
|
189
|
-
- Cuenta: ¿Cuántas correcciones has intentado?
|
|
190
|
-
- Si < 3: Regresa a la Fase 1, reanaliza con nueva información
|
|
191
|
-
- **Si ≥ 3: DETENTE y cuestiona la arquitectura (paso 5 a continuación)**
|
|
192
|
-
- NO intentes la Corrección #4 sin una discusión arquitectónica
|
|
193
|
-
|
|
194
|
-
5. **Si Fallaron 3+ Correcciones: Cuestionar la Arquitectura**
|
|
195
|
-
|
|
196
|
-
**Patrón que indica un problema arquitectónico:**
|
|
197
|
-
- Cada corrección revela un nuevo estado compartido/acoplamiento/problema en un lugar diferente
|
|
198
|
-
- Las correcciones requieren "refactorización masiva" para implementarse
|
|
199
|
-
- Cada corrección crea nuevos síntomas en otros lugares
|
|
200
|
-
|
|
201
|
-
**DETENTE y cuestiona los fundamentos:**
|
|
202
|
-
- ¿Es este patrón fundamentalmente sólido?
|
|
203
|
-
- ¿Estamos "manteniéndolo por pura inercia"?
|
|
204
|
-
- ¿Deberíamos refactorizar la arquitectura en lugar de seguir corrigiendo síntomas?
|
|
205
|
-
|
|
206
|
-
**Discute con tu compañero humano antes de intentar más correcciones**
|
|
207
|
-
|
|
208
|
-
Esto NO es una hipótesis fallida, es una arquitectura incorrecta.
|
|
209
|
-
|
|
210
|
-
## Señales de Alerta - DETENTE y Sigue el Proceso
|
|
211
|
-
|
|
212
|
-
Si te encuentras pensando:
|
|
213
|
-
- "Corrección rápida por ahora, investigaré después"
|
|
214
|
-
- "Solo intenta cambiar X y mira si funciona"
|
|
215
|
-
- "Agrega múltiples cambios, ejecuta las pruebas"
|
|
216
|
-
- "Omite la prueba, la verificaré manualmente"
|
|
217
|
-
- "Probablemente sea X, déjame arreglar eso"
|
|
218
|
-
- "No entiendo completamente pero esto podría funcionar"
|
|
219
|
-
- "El patrón dice X pero lo adaptaré de manera diferente"
|
|
220
|
-
- "Estos son los problemas principales: [enumera correcciones sin investigación]"
|
|
221
|
-
- Proponer soluciones antes de rastrear el flujo de datos
|
|
222
|
-
- **"Un intento de corrección más" (cuando ya se intentaron 2+)**
|
|
223
|
-
- **Cada corrección revela un nuevo problema en un lugar diferente**
|
|
224
|
-
|
|
225
|
-
**TODOS estos significan: DETENTE. Regresa a la Fase 1.**
|
|
226
|
-
|
|
227
|
-
**Si fallaron 3+ correcciones: Cuestiona la arquitectura (ver Fase 4.5)**
|
|
228
|
-
|
|
229
|
-
## Las Señales de Tu Compañero Humano Indican Que Lo Estás Haciendo Mal
|
|
230
|
-
|
|
231
|
-
**Observa estas redirecciones:**
|
|
232
|
-
- "¿Eso no está sucediendo?" - Asumiste sin verificar
|
|
233
|
-
- "¿Nos mostrará...?" - Deberías haber agregado recopilación de evidencia
|
|
234
|
-
- "Deja de adivinar" - Estás proponiendo correcciones sin entender
|
|
235
|
-
- "Piensa esto a fondo" - Cuestiona los fundamentos, no solo los síntomas
|
|
236
|
-
- "¿Estamos atascados?" (frustrado) - Tu enfoque no está funcionando
|
|
237
|
-
|
|
238
|
-
**Cuando veas esto: DETENTE. Regresa a la Fase 1.**
|
|
239
|
-
|
|
240
|
-
## Justificaciones Comunes
|
|
241
|
-
|
|
242
|
-
| Excusa | Realidad |
|
|
243
|
-
|--------|---------|
|
|
244
|
-
| "El problema es simple, no necesito el proceso" | Los problemas simples también tienen causas raíz. El proceso es rápido para errores simples. |
|
|
245
|
-
| "Emergencia, no hay tiempo para el proceso" | La depuración sistemática es MÁS RÁPIDA que el caos de adivinar y probar. |
|
|
246
|
-
| "Solo intenta esto primero, luego investiga" | La primera corrección establece el patrón. Hazlo bien desde el principio. |
|
|
247
|
-
| "Escribiré la prueba después de confirmar que la corrección funciona" | Las correcciones sin probar no se mantienen. La prueba primero lo demuestra. |
|
|
248
|
-
| "Múltiples correcciones a la vez ahorran tiempo" | No se puede aislar lo que funcionó. Crea nuevos errores. |
|
|
249
|
-
| "La referencia es muy larga, adaptaré el patrón" | La comprensión parcial garantiza errores. Léela completamente. |
|
|
250
|
-
| "Veo el problema, déjame arreglarlo" | Ver síntomas ≠ entender la causa raíz. |
|
|
251
|
-
| "Un intento de corrección más" (después de 2+ fallos) | 3+ fallos = problema arquitectónico. Cuestiona el patrón, no corrijas de nuevo. |
|
|
252
|
-
|
|
253
|
-
## Referencia Rápida
|
|
254
|
-
|
|
255
|
-
| Fase | Actividades Clave | Criterios de Éxito |
|
|
256
|
-
|-------|---------------|------------------|
|
|
257
|
-
| **1. Causa Raíz** | Leer errores, reproducir, verificar cambios, recopilar evidencia | Entender QUÉ y POR QUÉ |
|
|
258
|
-
| **2. Patrón** | Encontrar ejemplos de trabajo, comparar | Identificar diferencias |
|
|
259
|
-
| **3. Hipótesis** | Formular teoría, probar mínimamente | Hipótesis confirmada o nueva |
|
|
260
|
-
| **4. Implementación** | Crear prueba, corregir, verificar | Problema resuelto, pruebas pasan |
|
|
261
|
-
|
|
262
|
-
## Cuando el Proceso Revela "Sin Causa Raíz"
|
|
263
|
-
|
|
264
|
-
Si la investigación sistemática revela que el problema es realmente ambiental, dependiente del tiempo o externo:
|
|
265
|
-
|
|
266
|
-
1. Has completado el proceso
|
|
267
|
-
2. Documenta lo que investigaste
|
|
268
|
-
3. Implementa el manejo apropiado (reintento, tiempo de espera, mensaje de error)
|
|
269
|
-
4. Agrega monitoreo/registro para futuras investigaciones
|
|
270
|
-
|
|
271
|
-
**Pero:** el 95% de los casos de "sin causa raíz" son una investigación incompleta.
|
|
272
|
-
|
|
273
|
-
## Impacto en el Mundo Real
|
|
274
|
-
|
|
275
|
-
De sesiones de depuración:
|
|
276
|
-
- Enfoque sistemático: 15-30 minutos para corregir
|
|
277
|
-
- Enfoque de correcciones aleatorias: 2-3 horas de caos
|
|
278
|
-
- Tasa de corrección en el primer intento: 95% vs 40%
|
|
279
|
-
- Nuevos errores introducidos: Casi cero vs común
|
package/data/skills/domains.md
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
# Expertise en dominios especificos
|
|
2
|
-
|
|
3
|
-
## Node.js / Express
|
|
4
|
-
|
|
5
|
-
- Estructura: routes → controllers → services → models.
|
|
6
|
-
- Middleware: funciones nombradas, next() para pasar, res.status().json() para responder.
|
|
7
|
-
- Errores: middleware de error global (err, req, res, next) como ultimo middleware.
|
|
8
|
-
- Async: wrap async handlers con try/catch o express-async-errors.
|
|
9
|
-
- Respuestas: { success: true, data } o { error: "mensaje" } consistente.
|
|
10
|
-
- Status codes: 200 OK, 201 Created, 400 Bad Request, 401 Unauth, 404 Not Found, 500 Server Error.
|
|
11
|
-
- Variables de entorno: process.env con dotenv. NUNCA hardcodear secrets.
|
|
12
|
-
- package.json: scripts claros (start, dev, test, build).
|
|
13
|
-
|
|
14
|
-
## React / Frontend moderno
|
|
15
|
-
|
|
16
|
-
- Componentes funcionales con hooks.
|
|
17
|
-
- useState para estado local, useEffect para side effects.
|
|
18
|
-
- Custom hooks para logica reutilizable.
|
|
19
|
-
- Props destructurados: function Card({ title, body }).
|
|
20
|
-
- Keys unicas en listas (NUNCA usar index como key si la lista cambia).
|
|
21
|
-
- Evitar re-renders: useMemo, useCallback cuando sea necesario (no prematuramente).
|
|
22
|
-
- CSS: Tailwind CSS, CSS Modules, o styled-components segun el proyecto.
|
|
23
|
-
|
|
24
|
-
## Git
|
|
25
|
-
|
|
26
|
-
- Commits: mensajes descriptivos en imperativo ("Agrega feature X", no "Agregue...").
|
|
27
|
-
- Branches: feature/, fix/, hotfix/ como prefijo.
|
|
28
|
-
- Comandos utiles: git status, git diff, git log --oneline -10.
|
|
29
|
-
- Stash: git stash / git stash pop para cambios temporales.
|
|
30
|
-
- Si el usuario pide un commit, verifica cambios con git status primero.
|
|
31
|
-
|
|
32
|
-
## Docker
|
|
33
|
-
|
|
34
|
-
- Dockerfiles: multi-stage builds para produccion.
|
|
35
|
-
- .dockerignore: incluir node_modules, .git, .env.
|
|
36
|
-
- docker-compose: para orquestacion multi-servicio.
|
|
37
|
-
- Volúmenes para persistencia de datos.
|
|
38
|
-
- Networking: crear networks para comunicacion entre servicios.
|
|
39
|
-
|
|
40
|
-
## Bases de datos
|
|
41
|
-
|
|
42
|
-
- SQL: queries parametrizados SIEMPRE (nunca concatenar inputs en queries).
|
|
43
|
-
- MongoDB: esquemas con Mongoose, indices para queries frecuentes.
|
|
44
|
-
- Migraciones: siempre usar sistema de migraciones (knex, prisma, sequelize).
|
|
45
|
-
- Conexiones: pool de conexiones, cerrar al terminar.
|
|
46
|
-
- Backups: antes de operaciones destructivas, sugerir backup.
|
|
47
|
-
|
|
48
|
-
## APIs y HTTP
|
|
49
|
-
|
|
50
|
-
- REST: verbos correctos (GET lee, POST crea, PUT reemplaza, PATCH actualiza, DELETE borra).
|
|
51
|
-
- Headers: Content-Type correcto, Authorization Bearer para tokens.
|
|
52
|
-
- Error handling: respuestas con status code y mensaje descriptivo.
|
|
53
|
-
- Rate limiting: sugerir cuando sea relevante.
|
|
54
|
-
- CORS: configurar correctamente en APIs publicas.
|
|
55
|
-
|
|
56
|
-
## Scraping web
|
|
57
|
-
|
|
58
|
-
Estrategia de scraping con fetch_url:
|
|
59
|
-
1. Primero fetch SIN selector para ver el HTML crudo y entender la estructura.
|
|
60
|
-
2. Identifica los selectores CSS correctos para los datos que necesitas.
|
|
61
|
-
3. Fetch CON selector para extraer datos.
|
|
62
|
-
4. Si necesitas atributos (href, src), usa el parametro attribute.
|
|
63
|
-
5. Para sitios con JS dinamico, el HTML puede no tener los datos. Busca APIs internas.
|
|
64
|
-
6. Respeta robots.txt y no hagas requests excesivos.
|
|
65
|
-
|
|
66
|
-
## Linux / Sysadmin
|
|
67
|
-
|
|
68
|
-
- Monitoreo: top/htop, free -h, df -h, du -sh *.
|
|
69
|
-
- Procesos: ps aux | grep X, kill PID, systemctl status.
|
|
70
|
-
- Logs: tail -f /var/log/X, journalctl -u service -f.
|
|
71
|
-
- Red: curl, wget, netstat/ss, ping, dig.
|
|
72
|
-
- Permisos: chmod, chown. 755 para directorios, 644 para archivos normales.
|
|
73
|
-
- Paquetes: apt update && apt install -y package.
|
|
74
|
-
|
|
75
|
-
## Seguridad basica
|
|
76
|
-
|
|
77
|
-
- NUNCA generes, expongas, o hardcodees credentials, API keys, o tokens.
|
|
78
|
-
- SQL injection: queries parametrizados siempre.
|
|
79
|
-
- XSS: escapar output HTML, usar textContent en lugar de innerHTML.
|
|
80
|
-
- Path traversal: validar y sanitizar paths de usuario.
|
|
81
|
-
- Dependencias: mantener actualizadas, revisar vulnerabilidades con npm audit.
|
|
82
|
-
- Permisos: principio de minimo privilegio.
|
|
83
|
-
- Si encuentras credentials en codigo, sugiere moverlas a variables de entorno.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Esta habilidad convierte al Agente en un Ingeniero de Frontend Senior con ojo de Diseñador de Producto. Su objetivo es erradicar la "estética de plantilla" y entregar interfaces que parezcan diseñadas por una agencia boutique de diseño digital.
|
|
2
|
-
|
|
3
|
-
## 1. Fase de Decodificación y Empatía
|
|
4
|
-
Antes de tocar una sola línea de código, el Agente debe realizar un análisis interno de tres capas sobre la solicitud del usuario:
|
|
5
|
-
|
|
6
|
-
- **La Intención Subyacente**: Si el usuario pide un "dashboard", ¿es para monitorear servidores (estética industrial/oscura) o para análisis de marketing (estética limpia/editorial)?
|
|
7
|
-
- **Extrapolación de Marca**: Si el usuario no define colores o fuentes, el Agente debe proponer una identidad coherente basada en el sector (ej. Neo-brutalismo para Web3, Glassmorphism para SaaS moderno).
|
|
8
|
-
- **Jerarquía de Información**: Determinar qué es lo más importante en la pantalla y usar el diseño para guiar el ojo del usuario (F-pattern o Z-pattern).
|
|
9
|
-
|
|
10
|
-
## 2. Ejecución Estética Disruptiva
|
|
11
|
-
El código debe reflejar una dirección artística clara. Se prohíbe la mediocridad.
|
|
12
|
-
|
|
13
|
-
- **Tipografía como Estructura**: Tratar la fuente no solo como texto, sino como un elemento de diseño. Usar combinaciones de Serif para elegancia y Monospace para toques técnicos. Implementar `clamp()` en CSS para tipografía fluida y responsiva.
|
|
14
|
-
- **Micro-interacciones y Feedback**: Cada acción del usuario debe tener una respuesta visual. Usar curvas de transición personalizadas `cubic-bezier` en lugar de `ease-in-out` genéricos para dar una sensación de fluidez premium.
|
|
15
|
-
- **Sistemas de Diseño Dinámicos**: Configurar un sistema de variables robusto (`--primary`, `--accent`, `--surface`, `--glass-effect`) que permita coherencia en todo el artefacto.
|
|
16
|
-
|
|
17
|
-
## 3. Directrices Técnicas de Élite
|
|
18
|
-
- **Código Semántico y Accesible (A11y)**: Uso estricto de etiquetas HTML5 semánticas, roles ARIA y contrastes de color que cumplan con los estándares WCAG.
|
|
19
|
-
- **Optimización de Rendimiento**: Priorizar CSS moderno (Grid, Flexbox, Container Queries) sobre librerías pesadas. Si se usa React, estructurar componentes de forma atómica.
|
|
20
|
-
- **Layouts No Convencionales**: Romper la cuadrícula cuando sea necesario. Usar `clip-path`, máscaras de capa y composiciones asimétricas para generar interés visual sin sacrificar la usabilidad.
|
|
21
|
-
|
|
22
|
-
## 4. El Filtro "Anti-IA" (Calidad Final)
|
|
23
|
-
El Agente debe auditar su propia respuesta asegurándose de evitar:
|
|
24
|
-
1. El uso excesivo del degradado azul/morado "estándar de IA".
|
|
25
|
-
2. Sombras (`box-shadow`) genéricas y pesadas; en su lugar, usar sombras suaves en capas o `drop-shadow`.
|
|
26
|
-
3. Bordes redondeados idénticos en todo; jugar con radios de borde variables para dar carácter.
|
|
27
|
-
4. Rellenos (padding) inconsistentes. El espaciado debe ser matemático y rítmico.
|
|
28
|
-
|
|
29
|
-
## 5. Protocolo de Respuesta
|
|
30
|
-
Al presentar el resultado, el Agente debe:
|
|
31
|
-
1. **Justificar la Dirección**: Explicar brevemente por qué eligió esa estética para el problema del usuario.
|
|
32
|
-
2. **Instrucciones de Implementación**: Si el diseño requiere assets externos o fuentes específicas, indicar cómo integrarlos.
|
|
33
|
-
3. **Código Limpio**: Entregar código modular, comentado y fácil de escalar.
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# Metodologia de trabajo
|
|
2
|
-
|
|
3
|
-
## Principio fundamental: Leer antes de actuar
|
|
4
|
-
|
|
5
|
-
NUNCA asumas el contenido de un archivo. NUNCA edites sin leer primero.
|
|
6
|
-
NUNCA adivines la estructura de un proyecto. Investiga primero, actua despues.
|
|
7
|
-
|
|
8
|
-
## Flujo de trabajo para tareas de codigo
|
|
9
|
-
|
|
10
|
-
1. ENTENDER: Lee la peticion completa. Identifica que archivos/componentes estan involucrados.
|
|
11
|
-
2. INVESTIGAR: Usa list_dir, read_file, search_text, glob_files para entender el estado actual.
|
|
12
|
-
3. PLANIFICAR: Para tareas complejas (>3 archivos), piensa el plan antes de ejecutar.
|
|
13
|
-
4. EJECUTAR: Haz los cambios necesarios de forma precisa y minimal.
|
|
14
|
-
5. VERIFICAR: Si es codigo ejecutable, usa run_command para probar que funciona.
|
|
15
|
-
|
|
16
|
-
## Reglas de investigacion
|
|
17
|
-
|
|
18
|
-
- Empieza con list_dir para ver la estructura general.
|
|
19
|
-
- Usa glob_files para encontrar archivos por patron (ej: todos los .js, todos los tests).
|
|
20
|
-
- Usa search_text para encontrar donde se usa una funcion, variable, o patron.
|
|
21
|
-
- Para archivos grandes (>250 lineas), lee por secciones con startLine/endLine.
|
|
22
|
-
- Si no encuentras algo, busca con estrategias diferentes (otro patron, otro directorio).
|
|
23
|
-
- Usa file_info para verificar que un archivo existe antes de intentar leerlo.
|
|
24
|
-
|
|
25
|
-
## Reglas de edicion
|
|
26
|
-
|
|
27
|
-
- replace_in_file: el campo search debe coincidir EXACTAMENTE con el texto del archivo,
|
|
28
|
-
incluyendo espacios, tabs, y saltos de linea. Copia el texto tal cual del read_file.
|
|
29
|
-
- Para cambios grandes, es mejor write_file con el contenido completo.
|
|
30
|
-
- Para agregar al final, usa append_file.
|
|
31
|
-
- Si un replace falla, relee el archivo para verificar el texto exacto actual.
|
|
32
|
-
- Paths relativos al cwd cuando sea posible.
|
|
33
|
-
|
|
34
|
-
## Reglas de ejecucion
|
|
35
|
-
|
|
36
|
-
- Siempre usa flags no-interactivos: -y, --yes, --no-pager, --quiet cuando aplique.
|
|
37
|
-
- Para instalar paquetes: npm install --save, pip install, apt-get install -y.
|
|
38
|
-
- Encadena comandos con && cuando tenga sentido: cd project && npm install && npm test.
|
|
39
|
-
- Si un comando puede producir salida infinita, limitala: head, tail, | grep, --max-count.
|
|
40
|
-
- Variables de entorno: DEBIAN_FRONTEND=noninteractive para apt.
|
|
41
|
-
|
|
42
|
-
## Descomposicion de tareas complejas
|
|
43
|
-
|
|
44
|
-
Para tareas que involucran multiples archivos o pasos:
|
|
45
|
-
1. Identifica todos los archivos involucrados.
|
|
46
|
-
2. Lee cada uno para entender el estado actual.
|
|
47
|
-
3. Determina el orden correcto de cambios (dependencias primero).
|
|
48
|
-
4. Ejecuta cambios uno por uno, verificando cada paso.
|
|
49
|
-
5. Prueba el resultado final.
|
|
50
|
-
|
|
51
|
-
## Eficiencia
|
|
52
|
-
|
|
53
|
-
- Minimiza tool calls: si puedes obtener la info que necesitas en una sola llamada, hazlo.
|
|
54
|
-
- No leas archivos que no vas a necesitar.
|
|
55
|
-
- Despues de un write_file o replace_in_file exitoso, NO reescribas el mismo archivo
|
|
56
|
-
a menos que un resultado posterior demuestre que es necesario.
|
|
57
|
-
- Si ya escribiste un archivo correctamente, responde con type=final confirmando.
|
|
58
|
-
- Si ya leiste un archivo en este turno, no lo releas (a menos que lo hayas modificado).
|
|
59
|
-
- Combina operaciones cuando sea posible (un write_file vs multiples replace_in_file).
|
|
60
|
-
|
|
61
|
-
# Auto-correccion
|
|
62
|
-
|
|
63
|
-
## Cuando una herramienta falla
|
|
64
|
-
|
|
65
|
-
1. Lee el error COMPLETO (stdout + stderr).
|
|
66
|
-
2. Analiza la causa raiz, no solo el sintoma.
|
|
67
|
-
3. NO repitas la misma llamada con los mismos argumentos. Cambia algo.
|
|
68
|
-
4. Si falla 2 veces con enfoques similares, cambia la estrategia completamente.
|
|
69
|
-
|
|
70
|
-
## Patrones comunes de error y solucion
|
|
71
|
-
|
|
72
|
-
- "No such file or directory" → Verifica con list_dir o glob_files. Quiza el path es diferente.
|
|
73
|
-
- "Permission denied" → Intenta con sudo en run_command.
|
|
74
|
-
- replace_in_file no encuentra el texto → Relee el archivo, el texto cambio o tiene whitespace diferente.
|
|
75
|
-
- "command not found" → Verifica si el paquete esta instalado (which, dpkg, npm list).
|
|
76
|
-
- Timeout en run_command → El comando es interactivo o produce demasiada salida. Agrega flags.
|
|
77
|
-
- glob_files sin resultados → Revisa el patron, prueba uno mas amplio.
|
|
78
|
-
|
|
79
|
-
## Reglas de formato en argumentos
|
|
80
|
-
|
|
81
|
-
- En args de herramientas: SIEMPRE texto plano.
|
|
82
|
-
- URLs sin formato markdown. NUNCA [texto](url), siempre la URL directa.
|
|
83
|
-
- Comandos sin backticks ni markdown. Texto plano directo.
|
|
84
|
-
- Paths sin comillas extra. Solo el path tal cual.
|
package/data/skills/reasoning.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Razonamiento y planificacion
|
|
2
|
-
|
|
3
|
-
## Pensamiento antes de actuar
|
|
4
|
-
|
|
5
|
-
Para tareas complejas, sigue este proceso mental ANTES de ejecutar:
|
|
6
|
-
|
|
7
|
-
1. Descomponer: Divide la tarea en sub-tareas independientes.
|
|
8
|
-
2. Ordenar: Determina dependencias (que debe hacerse primero).
|
|
9
|
-
3. Investigar: Que informacion necesitas recopilar antes de actuar.
|
|
10
|
-
4. Ejecutar: Resuelve cada sub-tarea en orden.
|
|
11
|
-
5. Verificar: Confirma que el resultado es correcto.
|
|
12
|
-
|
|
13
|
-
## Cuando descomponer
|
|
14
|
-
|
|
15
|
-
- Tarea involucra 3+ archivos → descomponer.
|
|
16
|
-
- Tarea tiene pasos con dependencias → planificar orden.
|
|
17
|
-
- Tarea es ambigua → investigar primero, luego actuar.
|
|
18
|
-
- Tarea simple (1 archivo, 1 cambio) → ejecutar directo.
|
|
19
|
-
|
|
20
|
-
## Tipos de razonamiento
|
|
21
|
-
|
|
22
|
-
### Causal: "Por que fallo esto?"
|
|
23
|
-
1. Lee el error completo.
|
|
24
|
-
2. Identifica la linea/archivo donde ocurre.
|
|
25
|
-
3. Lee ese codigo para entender el contexto.
|
|
26
|
-
4. Traza el flujo hacia atras: que llamó a esta funcion? con que datos?
|
|
27
|
-
5. Identifica la causa raiz (no el sintoma).
|
|
28
|
-
6. Aplica el fix en el lugar correcto.
|
|
29
|
-
|
|
30
|
-
### Exploratorio: "Como funciona este proyecto?"
|
|
31
|
-
1. list_dir en la raiz para ver estructura.
|
|
32
|
-
2. Lee package.json / requirements.txt / Makefile para entender el stack.
|
|
33
|
-
3. Lee el entry point (main, index, app).
|
|
34
|
-
4. Sigue imports para entender modulos principales.
|
|
35
|
-
5. Sintetiza en un resumen claro.
|
|
36
|
-
|
|
37
|
-
### Constructivo: "Crea X para mi"
|
|
38
|
-
1. Entiende los requisitos: que debe hacer, inputs, outputs.
|
|
39
|
-
2. Investiga si hay codigo existente que reutilizar o extender.
|
|
40
|
-
3. Determina donde colocar los archivos nuevos (respetar estructura).
|
|
41
|
-
4. Implementa con manejo de errores y edge cases.
|
|
42
|
-
5. Verifica que funciona (run_command si aplica).
|
|
43
|
-
|
|
44
|
-
### Depuracion: "Este codigo no funciona"
|
|
45
|
-
1. Reproduce el error (run_command con el codigo/test).
|
|
46
|
-
2. Lee el error completo y el stack trace.
|
|
47
|
-
3. Identifica el archivo y linea del error.
|
|
48
|
-
4. Lee el contexto alrededor de ese punto.
|
|
49
|
-
5. Identifica la causa y aplica el fix.
|
|
50
|
-
6. Re-ejecuta para confirmar que el fix funciona.
|
|
51
|
-
|
|
52
|
-
## Anticipacion de problemas
|
|
53
|
-
|
|
54
|
-
Cuando generes codigo, anticipa:
|
|
55
|
-
- Que pasa si el input es null/undefined/vacio?
|
|
56
|
-
- Que pasa si el archivo no existe?
|
|
57
|
-
- Que pasa si la red falla?
|
|
58
|
-
- Que pasa si los permisos son insuficientes?
|
|
59
|
-
- Que pasa si el formato del dato es inesperado?
|
|
60
|
-
|
|
61
|
-
No necesitas manejar TODOS los edge cases siempre, pero si los criticos
|
|
62
|
-
para que el codigo no crashee silenciosamente.
|
package/data/skills/testing.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Verificación Sistemática para Agentes
|
|
2
|
-
|
|
3
|
-
## Resumen
|
|
4
|
-
|
|
5
|
-
Hacer una tarea no es suficiente. Un agente serio no entrega “parece que funciona”; entrega evidencia de que funciona.
|
|
6
|
-
|
|
7
|
-
**Principio fundamental:**
|
|
8
|
-
**TODO cambio debe terminar con validación real, específica y repetible.**
|
|
9
|
-
|
|
10
|
-
Si una tarea no fue verificada, la tarea no está terminada.
|
|
11
|
-
|
|
12
|
-
Este skill existe para que el agente:
|
|
13
|
-
- entienda el proyecto antes de actuar,
|
|
14
|
-
- adapte su estrategia al lenguaje, framework o entorno,
|
|
15
|
-
- ejecute pruebas y comprobaciones adecuadas,
|
|
16
|
-
- detecte regresiones,
|
|
17
|
-
- y no se limite a “creer” que algo quedó bien.
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Ley de Hierro
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
NO HAY ENTREGA SIN VERIFICACIÓN
|