@qubiit/lmagent 2.5.0
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/.editorconfig +18 -0
- package/AGENTS.md +169 -0
- package/CLAUDE.md +122 -0
- package/CONTRIBUTING.md +90 -0
- package/LICENSE +21 -0
- package/README.md +195 -0
- package/config/commands.yaml +194 -0
- package/config/levels.yaml +135 -0
- package/config/models.yaml +192 -0
- package/config/settings.yaml +405 -0
- package/config/tools-extended.yaml +534 -0
- package/config/tools.yaml +437 -0
- package/docs/assets/logo.png +0 -0
- package/docs/commands.md +132 -0
- package/docs/customization-guide.md +445 -0
- package/docs/getting-started.md +154 -0
- package/docs/how-to-start.md +242 -0
- package/docs/navigation-index.md +227 -0
- package/docs/usage-guide.md +113 -0
- package/install.js +1044 -0
- package/package.json +35 -0
- package/pyproject.toml +182 -0
- package/rules/_bootstrap.md +138 -0
- package/rules/agents-ia.md +607 -0
- package/rules/api-design.md +337 -0
- package/rules/automations-n8n.md +646 -0
- package/rules/code-style.md +570 -0
- package/rules/documentation.md +98 -0
- package/rules/security.md +316 -0
- package/rules/stack.md +395 -0
- package/rules/testing.md +326 -0
- package/rules/workflow.md +353 -0
- package/scripts/create_skill.js +300 -0
- package/scripts/validate_skills.js +283 -0
- package/skills/ai-agent-engineer/SKILL.md +394 -0
- package/skills/ai-agent-engineer/references/agent-patterns.md +149 -0
- package/skills/api-designer/SKILL.md +429 -0
- package/skills/api-designer/references/api-standards.md +13 -0
- package/skills/architect/SKILL.md +285 -0
- package/skills/architect/references/c4-model.md +133 -0
- package/skills/automation-engineer/SKILL.md +352 -0
- package/skills/automation-engineer/references/n8n-patterns.md +127 -0
- package/skills/backend-engineer/SKILL.md +261 -0
- package/skills/backend-engineer/assets/fastapi-project-structure.yaml +74 -0
- package/skills/backend-engineer/references/debugging-guide.md +174 -0
- package/skills/backend-engineer/references/design-patterns.md +208 -0
- package/skills/backend-engineer/scripts/scaffold_backend.py +313 -0
- package/skills/bmad-methodology/SKILL.md +202 -0
- package/skills/bmad-methodology/references/scale-adaptive-levels.md +141 -0
- package/skills/browser-agent/SKILL.md +502 -0
- package/skills/browser-agent/scripts/playwright_setup.ts +16 -0
- package/skills/code-reviewer/SKILL.md +306 -0
- package/skills/code-reviewer/references/code-review-checklist.md +16 -0
- package/skills/data-engineer/SKILL.md +474 -0
- package/skills/data-engineer/assets/pg-monitoring-queries.sql +154 -0
- package/skills/data-engineer/references/index-strategy.md +128 -0
- package/skills/data-engineer/scripts/backup_postgres.py +221 -0
- package/skills/devops-engineer/SKILL.md +547 -0
- package/skills/devops-engineer/references/ci-cd-patterns.md +265 -0
- package/skills/devops-engineer/scripts/docker_healthcheck.py +125 -0
- package/skills/document-generator/SKILL.md +746 -0
- package/skills/document-generator/references/pdf-generation.md +22 -0
- package/skills/frontend-engineer/SKILL.md +532 -0
- package/skills/frontend-engineer/references/accessibility-guide.md +146 -0
- package/skills/frontend-engineer/scripts/audit_bundle.py +144 -0
- package/skills/git-workflow/SKILL.md +374 -0
- package/skills/git-workflow/references/git-flow.md +25 -0
- package/skills/mcp-builder/SKILL.md +471 -0
- package/skills/mcp-builder/references/mcp-server-guide.md +23 -0
- package/skills/mobile-engineer/SKILL.md +502 -0
- package/skills/mobile-engineer/references/platform-guidelines.md +160 -0
- package/skills/orchestrator/SKILL.md +246 -0
- package/skills/orchestrator/references/methodology-routing.md +117 -0
- package/skills/orchestrator/references/persona-mapping.md +85 -0
- package/skills/orchestrator/references/routing-logic.md +110 -0
- package/skills/performance-engineer/SKILL.md +549 -0
- package/skills/performance-engineer/references/caching-patterns.md +181 -0
- package/skills/performance-engineer/scripts/profile_endpoint.py +170 -0
- package/skills/product-manager/SKILL.md +488 -0
- package/skills/product-manager/references/prioritization-frameworks.md +126 -0
- package/skills/prompt-engineer/SKILL.md +433 -0
- package/skills/prompt-engineer/references/prompt-patterns.md +158 -0
- package/skills/qa-engineer/SKILL.md +441 -0
- package/skills/qa-engineer/references/testing-strategy.md +166 -0
- package/skills/qa-engineer/scripts/run_coverage.py +147 -0
- package/skills/scrum-master/SKILL.md +225 -0
- package/skills/scrum-master/references/sprint-ceremonies.md +159 -0
- package/skills/security-analyst/SKILL.md +390 -0
- package/skills/security-analyst/references/owasp-top10.md +188 -0
- package/skills/security-analyst/scripts/audit_security.py +242 -0
- package/skills/seo-auditor/SKILL.md +523 -0
- package/skills/seo-auditor/references/seo-checklist.md +17 -0
- package/skills/spec-driven-dev/SKILL.md +342 -0
- package/skills/spec-driven-dev/references/phase-gates.md +107 -0
- package/skills/supabase-expert/SKILL.md +602 -0
- package/skills/supabase-expert/references/supabase-patterns.md +19 -0
- package/skills/swe-agent/SKILL.md +311 -0
- package/skills/swe-agent/references/trajectory-format.md +134 -0
- package/skills/systematic-debugger/SKILL.md +512 -0
- package/skills/systematic-debugger/references/debugging-guide.md +12 -0
- package/skills/tech-lead/SKILL.md +409 -0
- package/skills/tech-lead/references/code-review-checklist.md +111 -0
- package/skills/technical-writer/SKILL.md +631 -0
- package/skills/technical-writer/references/doc-templates.md +218 -0
- package/skills/testing-strategist/SKILL.md +476 -0
- package/skills/testing-strategist/references/testing-pyramid.md +16 -0
- package/skills/ux-ui-designer/SKILL.md +419 -0
- package/skills/ux-ui-designer/references/design-system-foundation.md +168 -0
- package/skills_overview.txt +94 -0
- package/templates/PROJECT_KICKOFF.md +284 -0
- package/templates/SKILL_TEMPLATE.md +131 -0
- package/templates/USAGE.md +95 -0
- package/templates/agent-python/README.md +71 -0
- package/templates/agent-python/agent.py +272 -0
- package/templates/agent-python/config.yaml +76 -0
- package/templates/agent-python/prompts/system.md +109 -0
- package/templates/agent-python/requirements.txt +7 -0
- package/templates/automation-n8n/README.md +14 -0
- package/templates/automation-n8n/webhook-handler.json +57 -0
- package/templates/backend-node/Dockerfile +12 -0
- package/templates/backend-node/README.md +15 -0
- package/templates/backend-node/package.json +30 -0
- package/templates/backend-node/src/index.ts +19 -0
- package/templates/backend-node/src/routes.ts +7 -0
- package/templates/backend-node/tsconfig.json +22 -0
- package/templates/backend-python/Dockerfile +11 -0
- package/templates/backend-python/README.md +78 -0
- package/templates/backend-python/app/core/config.py +12 -0
- package/templates/backend-python/app/core/database.py +12 -0
- package/templates/backend-python/app/main.py +17 -0
- package/templates/backend-python/app/routers/__init__.py +1 -0
- package/templates/backend-python/app/routers/health.py +7 -0
- package/templates/backend-python/requirements-dev.txt +6 -0
- package/templates/backend-python/requirements.txt +4 -0
- package/templates/backend-python/tests/test_health.py +9 -0
- package/templates/checkpoint.yaml +117 -0
- package/templates/database/README.md +474 -0
- package/templates/frontend-react/README.md +446 -0
- package/templates/plan.yaml +320 -0
- package/templates/session.yaml +125 -0
- package/templates/spec.yaml +229 -0
- package/templates/tasks.yaml +330 -0
- package/workflows/bugfix-backend.md +380 -0
- package/workflows/documentation.md +232 -0
- package/workflows/generate-prd.md +320 -0
- package/workflows/ideation.md +396 -0
- package/workflows/new-agent-ia.md +497 -0
- package/workflows/new-automation.md +374 -0
- package/workflows/new-feature.md +290 -0
- package/workflows/optimize-performance.md +373 -0
- package/workflows/resolve-github-issue.md +524 -0
- package/workflows/security-review.md +291 -0
- package/workflows/spec-driven.md +476 -0
- package/workflows/testing-strategy.md +296 -0
- package/workflows/third-party-integration.md +277 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para ejecutar una revisión de seguridad
|
|
3
|
+
level: 2-3
|
|
4
|
+
personas: [security-analyst, backend-engineer]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Security Review Workflow
|
|
8
|
+
|
|
9
|
+
Este workflow guía una revisión de seguridad de código o cambios.
|
|
10
|
+
|
|
11
|
+
## Pre-requisitos
|
|
12
|
+
|
|
13
|
+
1. Leer [AGENTS.md](../AGENTS.md)
|
|
14
|
+
2. Leer [rules/stack.md](../rules/stack.md)
|
|
15
|
+
3. Leer [personas/security-analyst.md](../personas/security-analyst.md)
|
|
16
|
+
|
|
17
|
+
## Información Requerida
|
|
18
|
+
|
|
19
|
+
1. **Alcance**: ¿Qué se está revisando? (PR, módulo, sistema completo)
|
|
20
|
+
2. **Tipo de cambio**: ¿Nuevo código, refactor, integración?
|
|
21
|
+
3. **Datos sensibles**: ¿Se manejan datos PII, financieros, etc.?
|
|
22
|
+
4. **Exposición**: ¿Es interno, público, API?
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Paso 1: Clasificar Riesgo
|
|
27
|
+
|
|
28
|
+
### Matriz de Riesgo
|
|
29
|
+
|
|
30
|
+
| Factor | Bajo | Medio | Alto | Crítico |
|
|
31
|
+
|--------|------|-------|------|---------|
|
|
32
|
+
| Datos | Públicos | Internos | PII | Financieros/Salud |
|
|
33
|
+
| Acceso | Interno | Autenticado | Público | Sin restricción |
|
|
34
|
+
| Impacto | UX | Funcional | Datos | Sistema completo |
|
|
35
|
+
|
|
36
|
+
### Determinar Profundidad de Review
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Riesgo Bajo → Quick review (30 min)
|
|
40
|
+
Riesgo Medio → Standard review (1-2 hrs)
|
|
41
|
+
Riesgo Alto → Deep review (4+ hrs)
|
|
42
|
+
Riesgo Crítico → Full audit + penetration test
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Paso 2: Checklist de Seguridad
|
|
48
|
+
|
|
49
|
+
### Autenticación
|
|
50
|
+
- [ ] ¿Se valida el token/sesión en cada request?
|
|
51
|
+
- [ ] ¿Los tokens tienen expiración?
|
|
52
|
+
- [ ] ¿Se usa HTTPS obligatorio?
|
|
53
|
+
- [ ] ¿Hay protección contra brute force?
|
|
54
|
+
- [ ] ¿Las contraseñas se hashean correctamente? (bcrypt, argon2)
|
|
55
|
+
|
|
56
|
+
### Autorización
|
|
57
|
+
- [ ] ¿Cada endpoint verifica permisos?
|
|
58
|
+
- [ ] ¿Se aplica principio de menor privilegio?
|
|
59
|
+
- [ ] ¿Hay separación de roles?
|
|
60
|
+
- [ ] ¿Se valida acceso a recursos por owner?
|
|
61
|
+
|
|
62
|
+
### Input Validation
|
|
63
|
+
- [ ] ¿Todos los inputs se validan?
|
|
64
|
+
- [ ] ¿Se usa Pydantic/class-validator?
|
|
65
|
+
- [ ] ¿Se sanitizan inputs de texto?
|
|
66
|
+
- [ ] ¿Hay límites de tamaño?
|
|
67
|
+
- [ ] ¿Se rechaza content-type inesperado?
|
|
68
|
+
|
|
69
|
+
### SQL Injection
|
|
70
|
+
- [ ] ¿Se usan queries parametrizadas?
|
|
71
|
+
- [ ] ¿No hay concatenación de strings en SQL?
|
|
72
|
+
- [ ] ¿Se usa ORM correctamente?
|
|
73
|
+
|
|
74
|
+
### XSS/Injection
|
|
75
|
+
- [ ] ¿Se escapan outputs en HTML?
|
|
76
|
+
- [ ] ¿Se usa CSP headers?
|
|
77
|
+
- [ ] ¿No hay eval() o exec() con user input?
|
|
78
|
+
|
|
79
|
+
### Secrets
|
|
80
|
+
- [ ] ¿No hay credenciales en código?
|
|
81
|
+
- [ ] ¿Se usan variables de entorno?
|
|
82
|
+
- [ ] ¿Los secrets no aparecen en logs?
|
|
83
|
+
- [ ] ¿.env está en .gitignore?
|
|
84
|
+
|
|
85
|
+
### Logging
|
|
86
|
+
- [ ] ¿Se loguean eventos de seguridad?
|
|
87
|
+
- [ ] ¿No se loguean datos sensibles?
|
|
88
|
+
- [ ] ¿Hay audit trail para acciones críticas?
|
|
89
|
+
|
|
90
|
+
### Headers de Seguridad
|
|
91
|
+
- [ ] X-Content-Type-Options: nosniff
|
|
92
|
+
- [ ] X-Frame-Options: DENY
|
|
93
|
+
- [ ] X-XSS-Protection: 1; mode=block
|
|
94
|
+
- [ ] Strict-Transport-Security
|
|
95
|
+
- [ ] Content-Security-Policy
|
|
96
|
+
|
|
97
|
+
### Rate Limiting
|
|
98
|
+
- [ ] ¿Hay límite de requests?
|
|
99
|
+
- [ ] ¿Se limitan operaciones costosas?
|
|
100
|
+
- [ ] ¿Hay protección contra DDoS?
|
|
101
|
+
|
|
102
|
+
### Dependencias
|
|
103
|
+
- [ ] ¿Dependencias actualizadas?
|
|
104
|
+
- [ ] ¿No hay vulnerabilidades conocidas?
|
|
105
|
+
- [ ] ¿Se usa lockfile?
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Paso 3: Herramientas de Análisis
|
|
110
|
+
|
|
111
|
+
### Análisis Estático
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Python - Bandit
|
|
115
|
+
pip install bandit
|
|
116
|
+
bandit -r app/
|
|
117
|
+
|
|
118
|
+
# Python - Safety (dependencias)
|
|
119
|
+
pip install safety
|
|
120
|
+
safety check
|
|
121
|
+
|
|
122
|
+
# Node - npm audit
|
|
123
|
+
npm audit
|
|
124
|
+
|
|
125
|
+
# Docker - Trivy
|
|
126
|
+
trivy image myapp:latest
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Búsqueda de Patrones
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Buscar secrets hardcodeados
|
|
133
|
+
grep -rn "password\s*=" --include="*.py" .
|
|
134
|
+
grep -rn "api_key\s*=" --include="*.py" .
|
|
135
|
+
grep -rn "secret" --include="*.py" .
|
|
136
|
+
|
|
137
|
+
# Buscar SQL inseguro
|
|
138
|
+
grep -rn "execute(" --include="*.py" .
|
|
139
|
+
grep -rn "f\"SELECT" --include="*.py" .
|
|
140
|
+
|
|
141
|
+
# Buscar eval/exec
|
|
142
|
+
grep -rn "eval(" --include="*.py" .
|
|
143
|
+
grep -rn "exec(" --include="*.py" .
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Paso 4: Documentar Findings
|
|
149
|
+
|
|
150
|
+
### Template de Finding
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
## [SEV-{severity}] {Título del finding}
|
|
154
|
+
|
|
155
|
+
### Descripción
|
|
156
|
+
{Qué es el problema}
|
|
157
|
+
|
|
158
|
+
### Ubicación
|
|
159
|
+
- Archivo: `path/to/file.py`
|
|
160
|
+
- Línea: {línea}
|
|
161
|
+
- Código:
|
|
162
|
+
```python
|
|
163
|
+
{código vulnerable}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Impacto
|
|
167
|
+
{Qué podría pasar si se explota}
|
|
168
|
+
|
|
169
|
+
### CVSS Score (opcional)
|
|
170
|
+
{Calcular score si aplica}
|
|
171
|
+
|
|
172
|
+
### Recomendación
|
|
173
|
+
{Cómo arreglarlo}
|
|
174
|
+
|
|
175
|
+
### Código Corregido
|
|
176
|
+
```python
|
|
177
|
+
{código seguro}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Referencias
|
|
181
|
+
- [OWASP Reference](link)
|
|
182
|
+
- [CWE Reference](link)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Severidades
|
|
186
|
+
|
|
187
|
+
| Severidad | Descripción | Acción |
|
|
188
|
+
|-----------|-------------|--------|
|
|
189
|
+
| CRITICAL | Explotable remotamente, impacto total | Fix inmediato, bloquear merge |
|
|
190
|
+
| HIGH | Explotable, impacto significativo | Fix antes de deploy |
|
|
191
|
+
| MEDIUM | Requiere condiciones, impacto parcial | Fix en próximo sprint |
|
|
192
|
+
| LOW | Difícil explotar, impacto menor | Backlog |
|
|
193
|
+
| INFO | Mejora recomendada | Considerar |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Paso 5: Crear Reporte
|
|
198
|
+
|
|
199
|
+
### Template de Reporte
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
# Security Review Report
|
|
203
|
+
|
|
204
|
+
## Información General
|
|
205
|
+
|
|
206
|
+
| Campo | Valor |
|
|
207
|
+
|-------|-------|
|
|
208
|
+
| Fecha | {fecha} |
|
|
209
|
+
| Revisor | {nombre} |
|
|
210
|
+
| Alcance | {qué se revisó} |
|
|
211
|
+
| Riesgo General | {Bajo/Medio/Alto/Crítico} |
|
|
212
|
+
|
|
213
|
+
## Resumen Ejecutivo
|
|
214
|
+
|
|
215
|
+
{1-2 párrafos resumiendo estado general}
|
|
216
|
+
|
|
217
|
+
## Estadísticas
|
|
218
|
+
|
|
219
|
+
| Severidad | Cantidad |
|
|
220
|
+
|-----------|----------|
|
|
221
|
+
| Critical | {n} |
|
|
222
|
+
| High | {n} |
|
|
223
|
+
| Medium | {n} |
|
|
224
|
+
| Low | {n} |
|
|
225
|
+
| Info | {n} |
|
|
226
|
+
|
|
227
|
+
## Findings
|
|
228
|
+
|
|
229
|
+
### Critical & High Priority
|
|
230
|
+
|
|
231
|
+
{Listar findings críticos y altos}
|
|
232
|
+
|
|
233
|
+
### Medium Priority
|
|
234
|
+
|
|
235
|
+
{Listar findings medios}
|
|
236
|
+
|
|
237
|
+
### Low Priority & Info
|
|
238
|
+
|
|
239
|
+
{Listar o resumir}
|
|
240
|
+
|
|
241
|
+
## Recomendaciones
|
|
242
|
+
|
|
243
|
+
1. {Recomendación 1}
|
|
244
|
+
2. {Recomendación 2}
|
|
245
|
+
3. {Recomendación 3}
|
|
246
|
+
|
|
247
|
+
## Próximos Pasos
|
|
248
|
+
|
|
249
|
+
- [ ] Fix critical findings
|
|
250
|
+
- [ ] Fix high findings
|
|
251
|
+
- [ ] Schedule follow-up review
|
|
252
|
+
|
|
253
|
+
## Aprobación
|
|
254
|
+
|
|
255
|
+
| Rol | Nombre | Fecha | Estado |
|
|
256
|
+
|-----|--------|-------|--------|
|
|
257
|
+
| Security Analyst | | | |
|
|
258
|
+
| Tech Lead | | | |
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Paso 6: Seguimiento
|
|
264
|
+
|
|
265
|
+
### Tracking de Remediation
|
|
266
|
+
|
|
267
|
+
- [ ] Crear issues para cada finding
|
|
268
|
+
- [ ] Asignar prioridades
|
|
269
|
+
- [ ] Programar re-review
|
|
270
|
+
- [ ] Verificar fixes aplicados
|
|
271
|
+
- [ ] Actualizar documentación
|
|
272
|
+
|
|
273
|
+
### Re-review
|
|
274
|
+
|
|
275
|
+
Después de fixes:
|
|
276
|
+
- [ ] Verificar que cada finding está resuelto
|
|
277
|
+
- [ ] No se introdujeron nuevos issues
|
|
278
|
+
- [ ] Tests de seguridad pasan
|
|
279
|
+
- [ ] Aprobar para merge/deploy
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Checklist Final
|
|
284
|
+
|
|
285
|
+
- [ ] Todos los findings documentados
|
|
286
|
+
- [ ] Severidades asignadas
|
|
287
|
+
- [ ] Recomendaciones claras
|
|
288
|
+
- [ ] Reporte generado
|
|
289
|
+
- [ ] Issues creados para tracking
|
|
290
|
+
- [ ] Stakeholders notificados
|
|
291
|
+
- [ ] Re-review programado
|