Skip to content
Back to skills

Legal Compliance

ASecurity

Usar cuando se audita compliance legal contra legislación española consolidada.

  • 50 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgobashvuegit

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add gonzalezpazmonica/savia --skill legal-compliance --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Legal Compliance?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Legal Compliance
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gonzalezpazmonica-legal-compliance/badge)](https://www.skillsdirectory.com/skills/gonzalezpazmonica-legal-compliance)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
layer: peripheral
name: legal-compliance
description: Usar cuando se audita compliance legal contra legislación española consolidada.
metadata:
  # --- metadata.savia.* (SE-333) ---
  savia.category: governance
  savia.maturity: beta
  savia.context_cost: medium
  savia.developer_type: all
  savia.priority: high
  savia.references: references/domain-terms.md
  savia.summary: "Cruza reglas de negocio, contratos, políticas y arquitectura contra la legislación española consolidada del BOE (legalize-es). Búsqueda literal determinista, sin dependencias externas; sin corpus no hay veredicto."
  savia.tags: "legal, compliance, legislación, BOE, LOPDGDD, LSSI"
---

# Legal Compliance — Auditoría contra Legislación Española

## Fuente de datos: legalize-es

Repositorio git de normas consolidadas del BOE en Markdown (upstream declara
más de 12.000; `legalize-es.sh status` da la cifra real del corpus local).
Cada norma es `es/{BOE-ID}.md` (estatal) o `es-{ccaa}/{ID}.md` (autonómica),
con frontmatter YAML: `title`, `identifier`, `rank` (p. ej. `ley_organica`),
`status` (`in_force` / `repealed`), `last_updated`, `source` (ELI).
Los artículos son encabezados Markdown: `###### Artículo 13. Derecho de acceso.`
Commits con fecha BOE real.

Ruta local: `$LEGALIZE_ES_PATH` (default `$HOME/.savia/legalize-es`).

## Contrato del script (`scripts/legalize-es.sh`)

| Comando | Qué hace |
|---|---|
| `status` | Ruta, nº de normas estatales y CCAA, último commit |
| `search "término" [es\|es-{ccaa}]` | Búsqueda **literal** (no regex, sin distinguir mayúsculas) en normas con `status: in_force` en el frontmatter; ordena por rango; máximo 20 resultados y avisa si trunca |
| `search-article <BOE-ID> "Artículo 13"` | Extrae solo ese artículo, desde su encabezado hasta el siguiente. Acepta `13`, `Art. 13`, `13 bis`, o un encabezado literal (`Disposición adicional primera`) |
| `check-status <BOE-ID>` | VIGENTE / DEROGADA / DESCONOCIDO (si falta `status`) |
| `history <BOE-ID>` | `git log` de la norma (avisa si el clone es superficial) |
| `install` / `update` | Clona (`--depth=1`) o actualiza el corpus (requieren red) |

Exit codes: `0` encontrado · `1` sin resultados, norma o artículo inexistente
· `2` uso inválido (término vacío, ámbito o identificador no válidos; los
identificadores solo admiten letras, dígitos y guiones) · `3` corpus no
disponible.

**Regla anti-alucinación**: solo se cita un artículo que `search-article`
haya devuelto con exit 0. Exit 1 o 3 significa *sin fuente*: el hallazgo
queda como «NO VERIFICADO», nunca como CUMPLE. Sin corpus (exit 3) no se
emite auditoría, solo las instrucciones de instalación.

## Algoritmo de búsqueda (3 fases)

### Fase 1 — Clasificación del input (~500 tokens)

Leer el documento a auditar (reglas de negocio, contrato, política, spec).
Extraer términos clave y mapear a dominios legales usando `domain-terms.md`.
Determinar CCAA si el proyecto tiene configuración regional.

Dominios detectables: protección de datos, comercio electrónico, laboral,
consumidores, accesibilidad, ciberseguridad, facturación, IA, financiero,
sanidad, educación, propiedad intelectual.

### Fase 2 — Búsqueda legislativa focalizada (~3.000 tokens)

Para cada dominio detectado:

1. **Fast path**: buscar directamente en las normas conocidas del dominio
   (BOE identifiers listados en domain-terms.md)
2. **Slow path**: si no hay match suficiente, grep amplio en `$LEGALIZE_ES_PATH/es/`
3. Filtrar por `status: "in_force"` en frontmatter (lo hace `search`)
4. Ordenar por rango regulatorio (Constitución > LO > Ley > RDL > RD > Orden
   > Resolución; lo hace `search`; rangos no reconocidos van al final)
5. Cargar solo artículos relevantes con `search-article`, no la norma completa
6. Máximo 10 normas, ~50 artículos por auditoría

Búsqueda con script: `bash scripts/legalize-es.sh search "término" [es|es-{ccaa}]`

### Fase 3 — Análisis de compliance (~8.000 tokens)

Para cada regla/cláusula del input:

1. Identificar artículos de legislación aplicables (extraídos con exit 0)
2. Evaluar cumplimiento: CUMPLE / NO CUMPLE / PARCIAL / NO APLICA /
   NO VERIFICADO (sin artículo extraído del corpus)
3. Clasificar hallazgos por severidad
4. Generar recomendación concreta
5. Construir matriz de trazabilidad regla→artículo

## Clasificación de severidad

| Severidad | Criterio | Riesgo |
|-----------|----------|--------|
| CRÍTICO | Sanción >100K€, nulidad, responsabilidad penal | Inmediato |
| ALTO | Sanción 10-100K€, obligación incumplida con plazo | Sprint actual |
| MEDIO | Recomendación regulatoria, riesgo reputacional | Próximo sprint |
| INFO | Buena práctica, mejora preventiva | Backlog |

## Priorización por rango normativo

CE > LO > Ley > RDL > RD > Orden > Resolución > normas autonómicas.

## Template de output

```markdown
# Auditoría Legal — {Proyecto}
> Fecha: YYYY-MM-DD | Scope: {scope} | Dominio: {dominio}
> Fuente: legalize-es (commit {hash}, {fecha BOE})

## Resumen Ejecutivo
Hallazgos: N (X críticos, Y altos, Z medios, W info)
Cobertura: X% de reglas con base legal identificada

## Hallazgos
### [SEVERIDAD] {Título}
- **Regla/Cláusula**: {ref input}
- **Norma**: {nombre} — Art. {N}
- **ELI**: {enlace}
- **Incumplimiento**: {descripción}
- **Riesgo**: {sanción o consecuencia}
- **Recomendación**: {acción concreta}

## Matriz de Trazabilidad
| Regla | Norma | Artículo | Estado | Severidad |

## Disclaimer
Este análisis es orientativo. No constituye asesoramiento jurídico.
```

## Historial de reformas

Usar `git log` sobre legalize-es para verificar vigencia:
```bash
bash scripts/legalize-es.sh history {BOE-ID}
```

## Scopes de auditoría

| Scope | Input | Foco |
|-------|-------|------|
| rules | reglas-negocio.md | Cada RN contra artículos |
| contract | Documento contractual | Cláusulas, plazos, nulidades |
| architecture | ARCHITECTURE.md, specs | Privacy by design, seguridad |
| policy | Política privacidad, cookies | Conformidad textual |
| pbi | PBI description | Implicaciones legales del feature |
| full | Todo lo anterior | Auditoría transversal |

Files in this skill

  • DOMAIN.md2.5 KB
  • SKILL.md4.4 KB
  • references/domain-terms.md4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…