Communitygithub.com

rules-distill

Escanea habilidades instaladas para extraer principios transversales y destilarlos en reglas — ya sea añadiendo, revisando o creando nuevos archivos de reglas. Ideal cuando un mismo principio aparece repetidamente en varias habilidades y debería estar en un archivo de reglas.

¿Qué es rules-distill?

rules-distill es una habilidad para agentes de IA (compatible con Claude Code, Cursor, Codex, etc.) que automatiza la detección de principios transversales que aparecen en múltiples habilidades y los promueve a reglas formales. Su funcionamiento sigue el principio de "recopilación determinista + juicio LLM": primero, scripts de shell escanean exhaustivamente todas las habilidades y reglas instaladas (fase de inventario); luego, un LLM analiza clusters temáticos de habilidades contra el texto completo de las reglas existentes, asignando un veredicto (Añadir, Revisar, Nueva Sección, Nuevo Archivo, Ya Cubierto o Demasiado Específico) a cada candidato. Finalmente, la herramienta presenta un informe con tabla resumen y detalles por candidato, solicitando aprobación explícita del usuario antes de aplicar cualquier cambio. Esto evita cambios automáticos no deseados y garantiza que solo principios accionables, con evidencia en 2+ habilidades, riesgo de violación claro, y que no estén ya cubiertos, se incorporen a las reglas. Es útil para mantenimiento periódico de reglas (mensual o tras instalar nuevas habilidades) y mantiene la base de reglas limpia, relevante y libre de abstracciones excesivas.

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

Preguntar en tu IA favorita

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

Documentación

Destilador 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 desactualizado o creando nuevos archivos de reglas.

Aplica el principio de "recopilación determinista + juicio LLM": los scripts recopilan hechos de forma exhaustiva, 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)
  • Tras un inventario de habilidades que revele patrones que deberían ser reglas
  • Cuando las reglas se sientan 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 (Recopilació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 la coincidencia se unifican en una sola pasada. Los archivos de reglas son lo suficientemente pequeños (~800 líneas en total) como para proporcionar el texto completo al LLM — no se necesita prefiltrado con grep.

Agrupación

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:

  • Desduplica 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 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 deberían 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 estos son ciertos:

1. **Aparece en 2+ habilidades**: Los principios encontrados en una sola habilidad deben permanecer en esa habilidad
2. **Cambio de comportamiento accionable**: Puede escribirse 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 inexacto 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**: 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": "alta / media / baja",
  "draft": "Texto del borrador para veredictos Añadir/Nueva Sección/Nuevo Archivo",
  "revision": {
    "reason": "Por qué el contenido existente es inexacto 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 las habilidades)

Referencia de Veredictos

VeredictoSignificadoPresentado al Usuario
AñadirAgregar a una sección existenteDestino + borrador
RevisarCorregir contenido inexacto/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 otras palabras)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
acumulación de riesgos 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 del 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 | alta |
| 2 | ... | Revisar | testing.md §TDD | media |
| 3 | ... | Nueva Sección | coding-style.md | alta |
| 4 | ... | Demasiado Específico | — | — |

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

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 las reglas automáticamente. Siempre requieras aprobación del usuario.

Guardar Resultados

Almacena los resultados en el directorio de la habilidad (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": "aplicado"
    },
    "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": "saltado"
    }
  }
}

Ejemplo

Ejecución completa

$ /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 del subagente: Lote 1 (habilidades de agente/meta) ...]
[Análisis del 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 del LLM: normalizar, verificar tipo, sanitizar antes de reutilizar | Nueva Sección | coding-style.md | alta |
| 2 | Definir condiciones de parada explícitas para bucles de iteración | Nueva Sección | coding-style.md | alta |
| 3 | Compactar contexto en los límites de fase, no a mitad de tarea | Añadir | performance.md §Ventana de Contexto | alta |
| 4 | Separar la lógica de negocio de los tipos del framework de E/S | Nueva Sección | patterns.md | alta |

## Detalles

### 1. Validación de Salida del 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 los errores de sintaxis en la salida del LLM pueden bloquear el procesamiento posterior
Borrador:
  ## Validación de Salida del LLM
  Normaliza, verifica el tipo y sanitiza la salida del LLM antes de reutilizarla...
  Ver habilidad: parallel-subagent-batch-merge, llm-memory-trust-boundary

[... detalles de los 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 del LLM
✓ Aplicado: performance.md §Gestión de Ventana de Contexto
✗ Saltado: Límites de Iteración
✗ Saltado: Conversión de Tipos en Límites

Resultados guardados en results.json

Principios de Diseño

  • Qué, no Cómo: Extrae principios (territorio de reglas) solamente. Los ejemplos de código y comandos se quedan en las habilidades.
  • Enlazar de vuelta: El texto del borrador debe incluir referencias Ver habilidad: [nombre] para que los lectores puedan encontrar el Cómo detallado.
  • Recopilación determinista, juicio LLM: Los scripts garantizan exhaustividad; el LLM garantiza comprensión contextual.
  • Salvaguarda contra la 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/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

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.

Skills relacionados