@saulwade/swl-ses 1.4.0 → 1.4.2
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/CLAUDE.md +4 -3
- package/README.md +15 -14
- package/agentes/nemesis-auditor-swl.md +161 -0
- package/bin/swl-mcp-server.js +187 -187
- package/comandos/swl/.evolved.json +22 -22
- package/comandos/swl/contribuir.md +233 -233
- package/comandos/swl/nemesis.md +122 -0
- package/comandos/swl/salud.md +34 -0
- package/comandos/swl/verificar.md +45 -0
- package/gateway/lib/event-channel.js +191 -191
- package/habilidades/backend-production-resilience/SKILL.md +288 -288
- package/habilidades/benchmark-memoria/SKILL.md +186 -186
- package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
- package/habilidades/doubt-driven-review/SKILL.md +171 -171
- package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
- package/habilidades/eval-framework/SKILL.md +212 -212
- package/habilidades/feynman-auditor-swl/SKILL.md +123 -0
- package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -0
- package/habilidades/harness-claude-code/SKILL.md +299 -299
- package/habilidades/infra-github-actions/SKILL.md +166 -166
- package/habilidades/legacy-code-rescue/SKILL.md +267 -267
- package/habilidades/manejo-errores/.evolved.json +8 -8
- package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
- package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -163
- package/habilidades/patrones-python/SKILL.md +229 -229
- package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
- package/habilidades/planear-fase/SKILL.md +319 -319
- package/habilidades/release-semver/.evolved.json +8 -8
- package/habilidades/state-inconsistency-auditor-swl/SKILL.md +166 -0
- package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -0
- package/habilidades/testing-python/SKILL.md +340 -340
- package/habilidades/web-fetcher-routing/SKILL.md +75 -0
- package/hooks/claudemd-bloat-detector.js +161 -161
- package/hooks/lib/agent-routing.js +107 -107
- package/hooks/lib/auto-consolidator.js +335 -335
- package/hooks/lib/error-classifier.js +308 -308
- package/hooks/lib/merkle-audit.js +96 -96
- package/hooks/lib/provenance-tracker.js +191 -191
- package/hooks/lib/rate-limit-tracker.js +253 -253
- package/hooks/lib/resource-quota.js +122 -122
- package/hooks/lib/retry-jitter.js +165 -165
- package/hooks/lib/security-net.js +201 -0
- package/hooks/lib/skill-auditor.js +588 -588
- package/hooks/lib/sync-status.js +228 -228
- package/hooks/lib/taint-tracker.js +107 -107
- package/hooks/lib/text-similarity.js +241 -241
- package/hooks/lib/toon-compressor.js +245 -245
- package/hooks/registro-turnos.js +209 -209
- package/hooks/sugerir-regenerar-inventario.js +170 -170
- package/hooks/validar-formato-post-subagente.js +140 -140
- package/hooks/validar-memoria-hook.js +218 -218
- package/instintos/prompt-appendices.yaml +57 -57
- package/manifiestos/agent-output-schemas.json +57 -57
- package/manifiestos/modulos.json +41 -6
- package/manifiestos/perfiles.json +2 -1
- package/manifiestos/skills-lock.json +30 -9
- package/package.json +2 -2
- package/plantillas/auditor-veto-template.md +105 -105
- package/plantillas/github-workflows/README.md +47 -47
- package/plantillas/github-workflows/release-please.yml +44 -44
- package/plantillas/github-workflows/swl-ci.yml +107 -107
- package/plantillas/github-workflows/swl-security.yml +51 -51
- package/plugin.json +10 -2
- package/reglas/analisis-previo-tareas-grandes.md +172 -172
- package/reglas/arreglar-al-detectar.md +147 -147
- package/reglas/fragmentos-compartidos.md +152 -152
- package/reglas/harness-claude-code.md +213 -213
- package/reglas/usar-context7.md +226 -226
- package/schemas/diary-entry.schema.json +80 -80
- package/scripts/audit-tools/audit-history.js +330 -0
- package/scripts/audit-tools/bundle-tracker.js +290 -0
- package/scripts/audit-tools/canary-monitor.js +352 -0
- package/scripts/audit-tools/code-profiler.js +605 -0
- package/scripts/audit-tools/dep-doctor.js +320 -0
- package/scripts/audit-tools/env-validator.js +206 -0
- package/scripts/audit-tools/lib/fs-walk.js +48 -0
- package/scripts/audit-tools/lib/output.js +23 -0
- package/scripts/audit-tools/migration-checker.js +392 -0
- package/scripts/audit-tools/pentest-scanner.js +1436 -0
- package/scripts/benchmark-memoria.js +167 -167
- package/scripts/configurar-branch-protection.js +418 -418
- package/scripts/detectar-aprendizajes-duplicados.js +151 -151
- package/scripts/field-report.js +199 -199
- package/scripts/generar-checklists-consolidados.js +273 -273
- package/scripts/generar-inventario.js +420 -420
- package/scripts/generar-matriz-lenguajes.js +271 -271
- package/scripts/lib/artefactos-python.js +43 -43
- package/scripts/lib/benchmark-metrics.js +160 -160
- package/scripts/lib/budget-enforcer.js +252 -252
- package/scripts/lib/configurar-ci.js +380 -380
- package/scripts/lib/contadores-inventario.js +217 -217
- package/scripts/lib/detectar-stack-detallado.js +307 -307
- package/scripts/lib/diary-entry.js +234 -234
- package/scripts/lib/eval-metrics-store.js +218 -218
- package/scripts/lib/eval-quality.js +171 -171
- package/scripts/lib/eval-schemas.js +144 -144
- package/scripts/lib/eval-self-correct.js +106 -106
- package/scripts/lib/eval-validator.js +185 -185
- package/scripts/lib/jaccard-similarity.js +98 -98
- package/scripts/lib/longmemeval-runner.js +125 -125
- package/scripts/lib/manifiestos.js +42 -1
- package/scripts/lib/npm-version.js +261 -261
- package/scripts/lib/paquetes-conocidos.js +50 -50
- package/scripts/lib/prompt-builder.js +264 -264
- package/scripts/lib/rrf-fusion.js +175 -175
- package/scripts/lib/scoring-instintos.js +277 -277
- package/scripts/lib/semantic-search.js +252 -252
- package/scripts/limpiar-artefactos-python.js +131 -131
- package/scripts/mcp-server/README.md +128 -128
- package/scripts/mcp-server/handlers.js +206 -206
- package/scripts/migrar-csv-a-array.js +168 -168
- package/scripts/migrar-fase-dominio.js +201 -201
- package/scripts/publicar.js +511 -511
- package/scripts/run-eval.js +141 -141
- package/scripts/validar-manifest.js +231 -195
- package/scripts/validar-userland-vacio.js +110 -110
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
name: release-please
|
|
2
|
-
|
|
3
|
-
# Plantilla distribuida por swl-ses.
|
|
4
|
-
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
-
# Para setup automatizado: /swl:configurar-ci --with-release-please
|
|
6
|
-
#
|
|
7
|
-
# Release Please automatiza:
|
|
8
|
-
# - Crea un "Release PR" con el bump de versión y CHANGELOG generado
|
|
9
|
-
# automáticamente al detectar commits convencionales en main.
|
|
10
|
-
# - Al mergear el Release PR, crea el tag git y el GitHub Release.
|
|
11
|
-
#
|
|
12
|
-
# Requiere conventional commits (feat:, fix:, chore(release):, etc.)
|
|
13
|
-
# No requiere secrets adicionales — usa el GITHUB_TOKEN automático.
|
|
14
|
-
#
|
|
15
|
-
# Referencia oficial: https://github.com/googleapis/release-please-action
|
|
16
|
-
# Versión en uso: v4
|
|
17
|
-
|
|
18
|
-
on:
|
|
19
|
-
push:
|
|
20
|
-
branches:
|
|
21
|
-
- main
|
|
22
|
-
|
|
23
|
-
# release-please necesita escribir en el repo y abrir PRs.
|
|
24
|
-
permissions:
|
|
25
|
-
contents: write
|
|
26
|
-
pull-requests: write
|
|
27
|
-
|
|
28
|
-
name: release-please
|
|
29
|
-
|
|
30
|
-
jobs:
|
|
31
|
-
release-please:
|
|
32
|
-
runs-on: ubuntu-latest
|
|
33
|
-
steps:
|
|
34
|
-
- uses: googleapis/release-please-action@v4
|
|
35
|
-
with:
|
|
36
|
-
# GITHUB_TOKEN es suficiente en la mayoría de repos.
|
|
37
|
-
# Si el repo es de organización y las Actions no tienen permiso
|
|
38
|
-
# de crear PRs, crear un PAT y usar secrets.MY_RELEASE_TOKEN.
|
|
39
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
40
|
-
# Estrategia de release. Opciones comunes:
|
|
41
|
-
# "node" — para proyectos Node.js con package.json
|
|
42
|
-
# "python" — para pyproject.toml / setup.cfg
|
|
43
|
-
# "simple" — para cualquier stack (actualiza VERSION file)
|
|
44
|
-
release-type: node
|
|
1
|
+
name: release-please
|
|
2
|
+
|
|
3
|
+
# Plantilla distribuida por swl-ses.
|
|
4
|
+
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
+
# Para setup automatizado: /swl:configurar-ci --with-release-please
|
|
6
|
+
#
|
|
7
|
+
# Release Please automatiza:
|
|
8
|
+
# - Crea un "Release PR" con el bump de versión y CHANGELOG generado
|
|
9
|
+
# automáticamente al detectar commits convencionales en main.
|
|
10
|
+
# - Al mergear el Release PR, crea el tag git y el GitHub Release.
|
|
11
|
+
#
|
|
12
|
+
# Requiere conventional commits (feat:, fix:, chore(release):, etc.)
|
|
13
|
+
# No requiere secrets adicionales — usa el GITHUB_TOKEN automático.
|
|
14
|
+
#
|
|
15
|
+
# Referencia oficial: https://github.com/googleapis/release-please-action
|
|
16
|
+
# Versión en uso: v4
|
|
17
|
+
|
|
18
|
+
on:
|
|
19
|
+
push:
|
|
20
|
+
branches:
|
|
21
|
+
- main
|
|
22
|
+
|
|
23
|
+
# release-please necesita escribir en el repo y abrir PRs.
|
|
24
|
+
permissions:
|
|
25
|
+
contents: write
|
|
26
|
+
pull-requests: write
|
|
27
|
+
|
|
28
|
+
name: release-please
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
release-please:
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
steps:
|
|
34
|
+
- uses: googleapis/release-please-action@v4
|
|
35
|
+
with:
|
|
36
|
+
# GITHUB_TOKEN es suficiente en la mayoría de repos.
|
|
37
|
+
# Si el repo es de organización y las Actions no tienen permiso
|
|
38
|
+
# de crear PRs, crear un PAT y usar secrets.MY_RELEASE_TOKEN.
|
|
39
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
40
|
+
# Estrategia de release. Opciones comunes:
|
|
41
|
+
# "node" — para proyectos Node.js con package.json
|
|
42
|
+
# "python" — para pyproject.toml / setup.cfg
|
|
43
|
+
# "simple" — para cualquier stack (actualiza VERSION file)
|
|
44
|
+
release-type: node
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
# Plantilla distribuida por swl-ses.
|
|
4
|
-
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
-
# Para setup automatizado: /swl:configurar-ci init
|
|
6
|
-
#
|
|
7
|
-
# Este workflow corre en push y PRs a main.
|
|
8
|
-
# Detecta automáticamente Node.js; los stacks adicionales están comentados.
|
|
9
|
-
# Activar las secciones que correspondan a tu proyecto.
|
|
10
|
-
#
|
|
11
|
-
# Para extender con Python, Rust o Go: descomentar las secciones al final
|
|
12
|
-
# y combinar con el job principal o crear jobs separados según convenga.
|
|
13
|
-
|
|
14
|
-
on:
|
|
15
|
-
push:
|
|
16
|
-
branches: [main]
|
|
17
|
-
pull_request:
|
|
18
|
-
branches: [main]
|
|
19
|
-
|
|
20
|
-
# Cancela runs anteriores del mismo PR para evitar deploys simultáneos.
|
|
21
|
-
concurrency:
|
|
22
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
23
|
-
cancel-in-progress: true
|
|
24
|
-
|
|
25
|
-
jobs:
|
|
26
|
-
test:
|
|
27
|
-
runs-on: ubuntu-latest
|
|
28
|
-
strategy:
|
|
29
|
-
fail-fast: false
|
|
30
|
-
matrix:
|
|
31
|
-
# Node 22 (LTS) + Node 24 (current). Ajustar si el proyecto requiere
|
|
32
|
-
# solo una versión.
|
|
33
|
-
node-version: [22, 24]
|
|
34
|
-
|
|
35
|
-
steps:
|
|
36
|
-
- uses: actions/checkout@v5
|
|
37
|
-
|
|
38
|
-
- name: Configurar Node.js ${{ matrix.node-version }}
|
|
39
|
-
uses: actions/setup-node@v5
|
|
40
|
-
with:
|
|
41
|
-
node-version: ${{ matrix.node-version }}
|
|
42
|
-
cache: npm
|
|
43
|
-
|
|
44
|
-
# ── Node.js / JavaScript / TypeScript ────────────────────────────────
|
|
45
|
-
|
|
46
|
-
- name: Instalar dependencias
|
|
47
|
-
if: hashFiles('package.json') != ''
|
|
48
|
-
run: npm ci
|
|
49
|
-
|
|
50
|
-
- name: Lint
|
|
51
|
-
if: hashFiles('package.json') != ''
|
|
52
|
-
# Ajustar el script según cómo esté configurado en package.json.
|
|
53
|
-
# Alternativas comunes: "lint", "lint:check", "eslint"
|
|
54
|
-
run: npm run lint --if-present
|
|
55
|
-
|
|
56
|
-
- name: Verificar tipos (TypeScript)
|
|
57
|
-
if: hashFiles('tsconfig.json') != ''
|
|
58
|
-
run: npx tsc --noEmit
|
|
59
|
-
|
|
60
|
-
- name: Ejecutar tests
|
|
61
|
-
if: hashFiles('package.json') != ''
|
|
62
|
-
run: npm test
|
|
63
|
-
|
|
64
|
-
# ── Python ────────────────────────────────────────────────────────────
|
|
65
|
-
# Descomentar si el proyecto tiene código Python.
|
|
66
|
-
#
|
|
67
|
-
# - name: Configurar Python
|
|
68
|
-
# if: hashFiles('pyproject.toml', 'setup.py', 'requirements.txt') != ''
|
|
69
|
-
# uses: actions/setup-python@v5
|
|
70
|
-
# with:
|
|
71
|
-
# python-version: "3.11"
|
|
72
|
-
# cache: pip
|
|
73
|
-
#
|
|
74
|
-
# - name: Instalar dependencias Python
|
|
75
|
-
# if: hashFiles('pyproject.toml') != ''
|
|
76
|
-
# run: pip install -e ".[dev]"
|
|
77
|
-
#
|
|
78
|
-
# - name: Lint Python (ruff)
|
|
79
|
-
# run: ruff check .
|
|
80
|
-
#
|
|
81
|
-
# - name: Tests Python
|
|
82
|
-
# run: pytest --cov-fail-under=80
|
|
83
|
-
|
|
84
|
-
# ── Rust ─────────────────────────────────────────────────────────────
|
|
85
|
-
# Descomentar si el proyecto tiene código Rust.
|
|
86
|
-
#
|
|
87
|
-
# - name: Configurar Rust
|
|
88
|
-
# if: hashFiles('Cargo.toml') != ''
|
|
89
|
-
# uses: dtolnay/rust-toolchain@stable
|
|
90
|
-
#
|
|
91
|
-
# - name: Lint Rust (clippy)
|
|
92
|
-
# run: cargo clippy -- -D warnings
|
|
93
|
-
#
|
|
94
|
-
# - name: Tests Rust
|
|
95
|
-
# run: cargo test
|
|
96
|
-
|
|
97
|
-
# ── Go ───────────────────────────────────────────────────────────────
|
|
98
|
-
# Descomentar si el proyecto tiene código Go.
|
|
99
|
-
#
|
|
100
|
-
# - name: Configurar Go
|
|
101
|
-
# if: hashFiles('go.mod') != ''
|
|
102
|
-
# uses: actions/setup-go@v5
|
|
103
|
-
# with:
|
|
104
|
-
# go-version: stable
|
|
105
|
-
#
|
|
106
|
-
# - name: Tests Go
|
|
107
|
-
# run: go test ./...
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
# Plantilla distribuida por swl-ses.
|
|
4
|
+
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
+
# Para setup automatizado: /swl:configurar-ci init
|
|
6
|
+
#
|
|
7
|
+
# Este workflow corre en push y PRs a main.
|
|
8
|
+
# Detecta automáticamente Node.js; los stacks adicionales están comentados.
|
|
9
|
+
# Activar las secciones que correspondan a tu proyecto.
|
|
10
|
+
#
|
|
11
|
+
# Para extender con Python, Rust o Go: descomentar las secciones al final
|
|
12
|
+
# y combinar con el job principal o crear jobs separados según convenga.
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches: [main]
|
|
17
|
+
pull_request:
|
|
18
|
+
branches: [main]
|
|
19
|
+
|
|
20
|
+
# Cancela runs anteriores del mismo PR para evitar deploys simultáneos.
|
|
21
|
+
concurrency:
|
|
22
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
23
|
+
cancel-in-progress: true
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
test:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
strategy:
|
|
29
|
+
fail-fast: false
|
|
30
|
+
matrix:
|
|
31
|
+
# Node 22 (LTS) + Node 24 (current). Ajustar si el proyecto requiere
|
|
32
|
+
# solo una versión.
|
|
33
|
+
node-version: [22, 24]
|
|
34
|
+
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v5
|
|
37
|
+
|
|
38
|
+
- name: Configurar Node.js ${{ matrix.node-version }}
|
|
39
|
+
uses: actions/setup-node@v5
|
|
40
|
+
with:
|
|
41
|
+
node-version: ${{ matrix.node-version }}
|
|
42
|
+
cache: npm
|
|
43
|
+
|
|
44
|
+
# ── Node.js / JavaScript / TypeScript ────────────────────────────────
|
|
45
|
+
|
|
46
|
+
- name: Instalar dependencias
|
|
47
|
+
if: hashFiles('package.json') != ''
|
|
48
|
+
run: npm ci
|
|
49
|
+
|
|
50
|
+
- name: Lint
|
|
51
|
+
if: hashFiles('package.json') != ''
|
|
52
|
+
# Ajustar el script según cómo esté configurado en package.json.
|
|
53
|
+
# Alternativas comunes: "lint", "lint:check", "eslint"
|
|
54
|
+
run: npm run lint --if-present
|
|
55
|
+
|
|
56
|
+
- name: Verificar tipos (TypeScript)
|
|
57
|
+
if: hashFiles('tsconfig.json') != ''
|
|
58
|
+
run: npx tsc --noEmit
|
|
59
|
+
|
|
60
|
+
- name: Ejecutar tests
|
|
61
|
+
if: hashFiles('package.json') != ''
|
|
62
|
+
run: npm test
|
|
63
|
+
|
|
64
|
+
# ── Python ────────────────────────────────────────────────────────────
|
|
65
|
+
# Descomentar si el proyecto tiene código Python.
|
|
66
|
+
#
|
|
67
|
+
# - name: Configurar Python
|
|
68
|
+
# if: hashFiles('pyproject.toml', 'setup.py', 'requirements.txt') != ''
|
|
69
|
+
# uses: actions/setup-python@v5
|
|
70
|
+
# with:
|
|
71
|
+
# python-version: "3.11"
|
|
72
|
+
# cache: pip
|
|
73
|
+
#
|
|
74
|
+
# - name: Instalar dependencias Python
|
|
75
|
+
# if: hashFiles('pyproject.toml') != ''
|
|
76
|
+
# run: pip install -e ".[dev]"
|
|
77
|
+
#
|
|
78
|
+
# - name: Lint Python (ruff)
|
|
79
|
+
# run: ruff check .
|
|
80
|
+
#
|
|
81
|
+
# - name: Tests Python
|
|
82
|
+
# run: pytest --cov-fail-under=80
|
|
83
|
+
|
|
84
|
+
# ── Rust ─────────────────────────────────────────────────────────────
|
|
85
|
+
# Descomentar si el proyecto tiene código Rust.
|
|
86
|
+
#
|
|
87
|
+
# - name: Configurar Rust
|
|
88
|
+
# if: hashFiles('Cargo.toml') != ''
|
|
89
|
+
# uses: dtolnay/rust-toolchain@stable
|
|
90
|
+
#
|
|
91
|
+
# - name: Lint Rust (clippy)
|
|
92
|
+
# run: cargo clippy -- -D warnings
|
|
93
|
+
#
|
|
94
|
+
# - name: Tests Rust
|
|
95
|
+
# run: cargo test
|
|
96
|
+
|
|
97
|
+
# ── Go ───────────────────────────────────────────────────────────────
|
|
98
|
+
# Descomentar si el proyecto tiene código Go.
|
|
99
|
+
#
|
|
100
|
+
# - name: Configurar Go
|
|
101
|
+
# if: hashFiles('go.mod') != ''
|
|
102
|
+
# uses: actions/setup-go@v5
|
|
103
|
+
# with:
|
|
104
|
+
# go-version: stable
|
|
105
|
+
#
|
|
106
|
+
# - name: Tests Go
|
|
107
|
+
# run: go test ./...
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
name: Revisión de Seguridad — Claude Code
|
|
2
|
-
|
|
3
|
-
# Plantilla distribuida por swl-ses.
|
|
4
|
-
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
-
# Para setup automatizado: /swl:configurar-ci init
|
|
6
|
-
#
|
|
7
|
-
# PREREQUISITO — configurar el secret CLAUDE_API_KEY en tu repositorio:
|
|
8
|
-
# GitHub → Settings → Secrets and variables → Actions → New repository secret
|
|
9
|
-
# Nombre: CLAUDE_API_KEY
|
|
10
|
-
# Valor: clave API de Anthropic (https://console.anthropic.com)
|
|
11
|
-
# La clave requiere permisos tanto para Claude API como para Claude Code.
|
|
12
|
-
#
|
|
13
|
-
# Referencia de la action oficial:
|
|
14
|
-
# https://github.com/anthropics/claude-code-security-review
|
|
15
|
-
#
|
|
16
|
-
# NOTA: los workflows de forks externos no reciben secrets por diseño de GitHub.
|
|
17
|
-
# La revisión de seguridad solo corre en PRs de ramas del mismo repositorio.
|
|
18
|
-
|
|
19
|
-
on:
|
|
20
|
-
pull_request:
|
|
21
|
-
branches: [main]
|
|
22
|
-
|
|
23
|
-
# Permisos mínimos: escribir comentarios en PRs y leer contenido del repo.
|
|
24
|
-
permissions:
|
|
25
|
-
pull-requests: write
|
|
26
|
-
contents: read
|
|
27
|
-
|
|
28
|
-
jobs:
|
|
29
|
-
security:
|
|
30
|
-
name: Análisis de seguridad con Claude
|
|
31
|
-
runs-on: ubuntu-latest
|
|
32
|
-
|
|
33
|
-
steps:
|
|
34
|
-
- uses: actions/checkout@v5
|
|
35
|
-
with:
|
|
36
|
-
# fetch-depth: 2 es requerido por la action para calcular el diff.
|
|
37
|
-
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
38
|
-
fetch-depth: 2
|
|
39
|
-
|
|
40
|
-
# Análisis semántico de seguridad sobre el diff del PR.
|
|
41
|
-
# Detecta: inyecciones SQL/OS, credenciales expuestas, auth débil,
|
|
42
|
-
# SSRF, XSS y las 10 categorías del OWASP Top 10.
|
|
43
|
-
# Comenta hallazgos directamente en el PR.
|
|
44
|
-
- uses: anthropics/claude-code-security-review@main
|
|
45
|
-
with:
|
|
46
|
-
claude-api-key: ${{ secrets.CLAUDE_API_KEY }}
|
|
47
|
-
comment-pr: true
|
|
48
|
-
upload-results: true
|
|
49
|
-
# Excluir directorios que no son código de producción.
|
|
50
|
-
# Ajustar según la estructura de tu proyecto.
|
|
51
|
-
# exclude-directories: "temp,docs,fixtures"
|
|
1
|
+
name: Revisión de Seguridad — Claude Code
|
|
2
|
+
|
|
3
|
+
# Plantilla distribuida por swl-ses.
|
|
4
|
+
# Copiar este archivo a .github/workflows/ de tu proyecto.
|
|
5
|
+
# Para setup automatizado: /swl:configurar-ci init
|
|
6
|
+
#
|
|
7
|
+
# PREREQUISITO — configurar el secret CLAUDE_API_KEY en tu repositorio:
|
|
8
|
+
# GitHub → Settings → Secrets and variables → Actions → New repository secret
|
|
9
|
+
# Nombre: CLAUDE_API_KEY
|
|
10
|
+
# Valor: clave API de Anthropic (https://console.anthropic.com)
|
|
11
|
+
# La clave requiere permisos tanto para Claude API como para Claude Code.
|
|
12
|
+
#
|
|
13
|
+
# Referencia de la action oficial:
|
|
14
|
+
# https://github.com/anthropics/claude-code-security-review
|
|
15
|
+
#
|
|
16
|
+
# NOTA: los workflows de forks externos no reciben secrets por diseño de GitHub.
|
|
17
|
+
# La revisión de seguridad solo corre en PRs de ramas del mismo repositorio.
|
|
18
|
+
|
|
19
|
+
on:
|
|
20
|
+
pull_request:
|
|
21
|
+
branches: [main]
|
|
22
|
+
|
|
23
|
+
# Permisos mínimos: escribir comentarios en PRs y leer contenido del repo.
|
|
24
|
+
permissions:
|
|
25
|
+
pull-requests: write
|
|
26
|
+
contents: read
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
security:
|
|
30
|
+
name: Análisis de seguridad con Claude
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v5
|
|
35
|
+
with:
|
|
36
|
+
# fetch-depth: 2 es requerido por la action para calcular el diff.
|
|
37
|
+
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
38
|
+
fetch-depth: 2
|
|
39
|
+
|
|
40
|
+
# Análisis semántico de seguridad sobre el diff del PR.
|
|
41
|
+
# Detecta: inyecciones SQL/OS, credenciales expuestas, auth débil,
|
|
42
|
+
# SSRF, XSS y las 10 categorías del OWASP Top 10.
|
|
43
|
+
# Comenta hallazgos directamente en el PR.
|
|
44
|
+
- uses: anthropics/claude-code-security-review@main
|
|
45
|
+
with:
|
|
46
|
+
claude-api-key: ${{ secrets.CLAUDE_API_KEY }}
|
|
47
|
+
comment-pr: true
|
|
48
|
+
upload-results: true
|
|
49
|
+
# Excluir directorios que no son código de producción.
|
|
50
|
+
# Ajustar según la estructura de tu proyecto.
|
|
51
|
+
# exclude-directories: "temp,docs,fixtures"
|
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swl-ses",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot.
|
|
3
|
+
"version": "1.4.2",
|
|
4
|
+
"description": "Sistema de ingenieria de software auto-evolutivo multi-runtime polyglot. 60 agentes, 158 habilidades, 44 comandos, 65 reglas y 41 hooks. 62 librerias. 11 lenguajes. Soporta Claude Code, Copilot, OpenCode, Codex y Gemini CLI.",
|
|
5
5
|
"author": "Saul Wade Leon",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/saul-wade/swl-ses",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"habilidades/azure-cloud",
|
|
22
22
|
"habilidades/backend-mcp-servidor",
|
|
23
23
|
"habilidades/backend-production-resilience",
|
|
24
|
+
"habilidades/benchmark-memoria",
|
|
24
25
|
"habilidades/brainstorming",
|
|
25
26
|
"habilidades/build-errors-cpp",
|
|
26
27
|
"habilidades/build-errors-csharp",
|
|
@@ -58,15 +59,18 @@
|
|
|
58
59
|
"habilidades/diseno-responsivo",
|
|
59
60
|
"habilidades/django-experto",
|
|
60
61
|
"habilidades/doc-sync",
|
|
62
|
+
"habilidades/doubt-driven-review",
|
|
61
63
|
"habilidades/drift-detection",
|
|
62
64
|
"habilidades/ejecutar-fase",
|
|
63
65
|
"habilidades/estilo-sin-ai-isms",
|
|
64
66
|
"habilidades/estructura-proyecto-claude",
|
|
67
|
+
"habilidades/eval-framework",
|
|
65
68
|
"habilidades/evaluacion-agentes",
|
|
66
69
|
"habilidades/event-driven",
|
|
67
70
|
"habilidades/extraccion-documentos",
|
|
68
71
|
"habilidades/extractor-de-aprendizajes",
|
|
69
72
|
"habilidades/fastapi-experto",
|
|
73
|
+
"habilidades/feynman-auditor-swl",
|
|
70
74
|
"habilidades/filament-admin",
|
|
71
75
|
"habilidades/frontend-avanzado",
|
|
72
76
|
"habilidades/gcp-cloud",
|
|
@@ -133,11 +137,13 @@
|
|
|
133
137
|
"habilidades/seguridad-skills-ia",
|
|
134
138
|
"habilidades/sql-optimizacion",
|
|
135
139
|
"habilidades/sre-patrones",
|
|
140
|
+
"habilidades/state-inconsistency-auditor-swl",
|
|
136
141
|
"habilidades/stripe-pagos",
|
|
137
142
|
"habilidades/structured-outputs",
|
|
138
143
|
"habilidades/swift-experto",
|
|
139
144
|
"habilidades/swift-patrones",
|
|
140
145
|
"habilidades/swift-testing",
|
|
146
|
+
"habilidades/swl-claudemd",
|
|
141
147
|
"habilidades/swl-dashboard",
|
|
142
148
|
"habilidades/swl-markitdown",
|
|
143
149
|
"habilidades/swl-revisar-impacto",
|
|
@@ -154,6 +160,7 @@
|
|
|
154
160
|
"habilidades/validacion-ci-sistema",
|
|
155
161
|
"habilidades/verificacion-evidencia",
|
|
156
162
|
"habilidades/verificar-trabajo",
|
|
163
|
+
"habilidades/web-fetcher-routing",
|
|
157
164
|
"habilidades/wiki-conocimiento",
|
|
158
165
|
"habilidades/wireframes-flujos",
|
|
159
166
|
"habilidades/workflow-claude-code"
|
|
@@ -191,6 +198,7 @@
|
|
|
191
198
|
"agentes/mobile-cross-swl.md",
|
|
192
199
|
"agentes/mobile-ios-swl.md",
|
|
193
200
|
"agentes/mobile-testing-swl.md",
|
|
201
|
+
"agentes/nemesis-auditor-swl.md",
|
|
194
202
|
"agentes/notificador-swl.md",
|
|
195
203
|
"agentes/observabilidad-swl.md",
|
|
196
204
|
"agentes/orquestador-swl.md",
|