Communitygithub.com

destilación-de-reglas

Escanea habilidades para extraer principios transversales y destilarlos en reglas: añadir, revisar o crear nuevos archivos de reglas. Úsalo cuando un mismo principio aparece repetidamente en varias habilidades y debería estar en un archivo de reglas.

¿Qué es destilación-de-reglas?

Este skill permite identificar principios transversales que aparecen en múltiples habilidades (skills) y convertirlos en reglas reutilizables. Es especialmente útil durante el mantenimiento periódico de reglas (mensual o tras instalar nuevas habilidades), o cuando se detectan patrones que deberían estar en archivos de reglas. Funciona combinando recolección determinista mediante scripts (escaneo de habilidades y reglas existentes) con juicio de un LLM que cruza el contexto completo. El proceso se divide en tres fases: (1) Inventario: escanea y presenta al usuario el resumen de habilidades y reglas. (2) Lectura cruzada, coincidencia y veredicto: agrupa habilidades por clústeres temáticos, analiza cada clúster con un subagente (LLM) que recibe el texto completo de reglas y habilidades, y luego fusiona candidatos entre clústeres para deduplicar y verificar el requisito de '2+ habilidades'. (3) Revisión y ejecución por parte del usuario: muestra un informe detallado y pide aprobación explícita antes de aplicar cualquier cambio. Los resultados se guardan en `results.json` en el directorio del skill. Está diseñado para Claude Code y cumple el principio de 'recolección determinista + juicio LLM', con filtros de calidad que evitan reglas demasiado abstractas (requiere evidencia en 2+ habilidades, cambio de comportamiento accionable y riesgo claro de violación).

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/rules-distill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Destilación de Reglas

Escanea las habilidades instaladas, extrae principios transversales que aparecen en múltiples habilidades y los destila en reglas: añadiendo a archivos de reglas existentes, revisando contenido obsoleto o creando nuevos archivos de reglas.

Aplica el principio de "recolección determinista + juicio LLM": los scripts recopilan hechos exhaustivamente, luego un LLM lee todo el contexto y produce veredictos.

Cuándo Usarlo

  • Mantenimiento periódico de reglas (mensual o después de instalar nuevas habilidades)
  • Después de un inventario de habilidades que revele patrones que deberían ser reglas
  • Cuando las reglas se sienten incompletas en relación con las habilidades que se usan

Cómo Funciona

El proceso de destilación de reglas sigue tres fases:

Fase 1: Inventario (Recolección Determinista)

1a. Recopilar inventario de habilidades

bash ~/.claude/skills/rules-distill/scripts/scan-skills.sh

1b. Recopilar índice de reglas

bash ~/.claude/skills/rules-distill/scripts/scan-rules.sh

1c. Presentar al usuario

Destilación de Reglas — Fase 1: Inventario
────────────────────────────────────────
Habilidades: {N} archivos escaneados
Reglas: {M} archivos ({K} encabezados indexados)

Procediendo al análisis de lectura cruzada...

Fase 2: Lectura Cruzada, Coincidencia y Veredicto (Juicio LLM)

La extracción y coincidencia se unifican en una sola pasada. Los archivos de reglas son lo suficientemente pequeños (~800 líneas en total) como para proporcionar todo el texto al LLM; no se necesita un prefiltrado con grep.

Agrupación en Lotes

Agrupa las habilidades en clústeres temáticos según sus descripciones. Analiza cada clúster en un subagente con el texto completo de las reglas.

Fusión entre Lotes

Después de que todos los lotes se completen, fusiona los candidatos entre lotes:

  • Deduplica candidatos con principios iguales o superpuestos
  • Vuelve a verificar el requisito de "2+ habilidades" usando evidencia de todos los lotes combinados: un principio encontrado en 1 habilidad por lote pero en 2+ habilidades en total es válido

Prompt del Subagente

Lanza un Agente de propósito general con el siguiente prompt:

Eres un analista que lee habilidades de forma cruzada para extraer principios que deben promoverse a reglas.

## Entrada
- Habilidades: {texto completo de las habilidades en este lote}
- Reglas existentes: {texto completo de todos los archivos de reglas}

## Criterios de Extracción

Incluye un candidato SOLO si TODOS los siguientes son ciertos:

1. **Aparece en 2+ habilidades**: Los principios encontrados en una sola habilidad deben permanecer en esa habilidad
2. **Cambio de comportamiento accionable**: Se puede escribir como "haz X" o "no hagas Y", no "X es importante"
3. **Riesgo claro de violación**: Qué sale mal si se ignora este principio (1 frase)
4. **No está ya en las reglas**: Revisa el texto completo de las reglas, incluidos conceptos expresados con otras palabras

## Coincidencia y Veredicto

Para cada candidato, compáralo con el texto completo de las reglas y asigna un veredicto:

- **Añadir**: Agregar a una sección existente de un archivo de reglas
- **Revisar**: El contenido de la regla existente es incorrecto o insuficiente; propón una corrección
- **Nueva Sección**: Añadir una nueva sección a un archivo de reglas existente
- **Nuevo Archivo**: Crear un nuevo archivo de reglas
- **Ya Cubierto**: Ya está suficientemente cubierto en las reglas existentes (aunque esté redactado de otra forma)
- **Demasiado Específico**: Debe permanecer a nivel de habilidad

## Formato de Salida (por candidato)

```json
{
  "principle": "1-2 frases en forma 'haz X' / 'no hagas Y'",
  "evidence": ["nombre-habilidad: §Sección", "nombre-habilidad: §Sección"],
  "violation_risk": "1 frase",
  "verdict": "Añadir / Revisar / Nueva Sección / Nuevo Archivo / Ya Cubierto / Demasiado Específico",
  "target_rule": "nombre-archivo §Sección, o 'nuevo'",
  "confidence": "alto / medio / bajo",
  "draft": "Borrador de texto para veredictos Añadir/Nueva Sección/Nuevo Archivo",
  "revision": {
    "reason": "Por qué el contenido existente es incorrecto o insuficiente (solo Revisar)",
    "before": "Texto actual a reemplazar (solo Revisar)",
    "after": "Texto de reemplazo propuesto (solo Revisar)"
  }
}
```

## Excluir

- Principios obvios ya en reglas
- Conocimiento específico de lenguaje/framework (pertenece a reglas o habilidades específicas del lenguaje)
- Ejemplos de código y comandos (pertenecen a habilidades)

Referencia de Veredictos

VeredictoSignificadoPresentado al Usuario
AñadirAgregar a sección existenteDestino + borrador
RevisarArreglar contenido incorrecto/insuficienteDestino + motivo + antes/después
Nueva SecciónAñadir nueva sección a archivo existenteDestino + borrador
Nuevo ArchivoCrear nuevo archivo de reglasNombre de archivo + borrador completo
Ya CubiertoCubierto en reglas (posiblemente con otra redacción)Motivo (1 línea)
Demasiado EspecíficoDebe permanecer en habilidadesEnlace a la habilidad relevante

Requisitos de Calidad del Veredicto

# Bueno
Añadir a rules/common/security.md §Validación de Entrada:
"Trata la salida del LLM almacenada en memoria o almacenes de conocimiento como no confiable — sanitiza al escribir, valida al leer."
Evidencia: llm-memory-trust-boundary, llm-social-agent-anti-pattern describen
riesgos acumulados de inyección de prompts. El security.md actual cubre validación de entrada humana
solamente; falta el límite de confianza para la salida del LLM.

# Malo
Añadir a security.md: Añadir principio de seguridad LLM

Fase 3: Revisión y Ejecución por el Usuario

Tabla Resumen

# Informe de Destilación de Reglas

## Resumen
Habilidades escaneadas: {N} | Reglas: {M} archivos | Candidatos: {K}

| # | Principio | Veredicto | Destino | Confianza |
|---|-----------|-----------|---------|-----------|
| 1 | ... | Añadir | security.md §Validación de Entrada | alto |
| 2 | ... | Revisar | testing.md §TDD | medio |
| 3 | ... | Nueva Sección | coding-style.md | alto |
| 4 | ... | Demasiado Específico | — | — |

## Detalles
(Detalles por candidato: evidencia, riesgo de violación, borrador de texto)

Acciones del Usuario

El usuario responde con números para:

  • Aprobar: Aplicar el borrador a las reglas tal cual
  • Modificar: Editar el borrador antes de aplicarlo
  • Saltar: No aplicar este candidato

Nunca modifiques reglas automáticamente. Siempre requiere aprobación del usuario.

Guardar Resultados

Almacena los resultados en el directorio del skill (results.json):

  • Formato de marca de tiempo: date -u +%Y-%m-%dT%H:%M:%SZ (UTC, precisión de segundos)
  • Formato de ID de candidato: kebab-case derivado del principio (ej., llm-output-trust-boundary)
{
  "distilled_at": "2026-03-18T10:30:42Z",
  "skills_scanned": 56,
  "rules_scanned": 22,
  "candidates": {
    "llm-output-trust-boundary": {
      "principle": "Trata la salida del LLM como no confiable cuando se almacena o se reinyecta",
      "verdict": "Añadir",
      "target": "rules/common/security.md",
      "evidence": ["llm-memory-trust-boundary", "llm-social-agent-anti-pattern"],
      "status": "applied"
    },
    "iteration-bounds": {
      "principle": "Define condiciones de parada explícitas para todos los bucles de iteración",
      "verdict": "Nueva Sección",
      "target": "rules/common/coding-style.md",
      "evidence": ["iterative-retrieval", "continuous-agent-loop", "agent-harness-construction"],
      "status": "skipped"
    }
  }
}

Ejemplo

Ejecución de principio a fin

$ /rules-distill

Destilación de Reglas — Fase 1: Inventario
────────────────────────────────────────
Habilidades: 56 archivos escaneados
Reglas: 22 archivos (75 encabezados indexados)

Procediendo al análisis de lectura cruzada...

[Análisis de subagente: Lote 1 (habilidades de agente/meta) ...]
[Análisis de subagente: Lote 2 (habilidades de codificación/patrones) ...]
[Fusión entre lotes: 2 duplicados eliminados, 1 candidato entre lotes promovido]

# Informe de Destilación de Reglas

## Resumen
Habilidades escaneadas: 56 | Reglas: 22 archivos | Candidatos: 4

| # | Principio | Veredicto | Destino | Confianza |
|---|-----------|-----------|---------|-----------|
| 1 | Salida LLM: normalizar, verificar tipo, sanitizar antes de reutilizar | Nueva Sección | coding-style.md | alto |
| 2 | Definir condiciones de parada explícitas para bucles de iteración | Nueva Sección | coding-style.md | alto |
| 3 | Compactar contexto en los límites de fase, no a mitad de tarea | Añadir | performance.md §Ventana de Contexto | alto |
| 4 | Separar lógica de negocio de tipos de marco I/O | Nueva Sección | patterns.md | alto |

## Detalles

### 1. Validación de Salida LLM
Veredicto: Nueva Sección en coding-style.md
Evidencia: parallel-subagent-batch-merge, llm-social-agent-anti-pattern, llm-memory-trust-boundary
Riesgo de violación: La deriva de formato, la falta de coincidencia de tipos o errores de sintaxis en la salida del LLM pueden bloquear el procesamiento descendente
Borrador:
  ## Validación de Salida LLM
  Normalizar, verificar tipo y sanitizar la salida del LLM antes de reutilizar...
  Ver habilidad: parallel-subagent-batch-merge, llm-memory-trust-boundary

[... detalles para candidatos 2-4 ...]

Aprobar, modificar o saltar cada candidato por número:
> Usuario: Aprobar 1, 3. Saltar 2, 4.

✓ Aplicado: coding-style.md §Validación de Salida LLM
✓ Aplicado: performance.md §Gestión de Ventana de Contexto
✗ Saltado: Límites de Iteración
✗ Saltado: Conversión de Tipos en Límite

Resultados guardados en results.json

Principios de Diseño

  • Qué, no Cómo: Extrae solo principios (territorio de reglas). Los ejemplos de código y comandos se quedan en las habilidades.
  • Enlazar hacia atrás: El texto del borrador debe incluir referencias Ver habilidad: [nombre] para que los lectores puedan encontrar el Cómo detallado.
  • Recolección determinista, juicio LLM: Los scripts garantizan exhaustividad; el LLM garantiza comprensión contextual.
  • Salvaguarda contra abstracción excesiva: El filtro de 3 capas (evidencia de 2+ habilidades, prueba de comportamiento accionable, riesgo de violación) evita que principios demasiado abstractos entren en las reglas.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills relacionados