Communitygithub.com

AnsirStudio/self-distiller

Destila material disperso en una capa de identidad Markdown estructurada, reutilizable y en un perfil compacto para cualquier agente. Inspirado en LLM Wiki de Karpathy y el proyecto honcho.

¿Qué es self-distiller?

El skill `self-distiller` está diseñado para extraer y estructurar información personal a partir de fuentes dispersas (chats, artículos, investigaciones, ideas, etc.) y convertirla en una identidad Markdown reutilizable y rastreable. Es útil para agentes de IA que necesitan comprender consistentemente a una persona, sus preferencias, valores, forma de pensar y contexto actual, sin mezclar conocimiento externo. Funciona principalmente en plataformas de desarrollo como Claude Code o Cursor, siguiendo un flujo estricto llamado DISTILL: escanea el directorio `raw/`, extrae hechos atómicos (explícitos o inferidos), los añade a un registro inmutable (`observations.md`), y luego los deriva en documentos evergreen (`identity.md`, `preferences.md`, `now.md`). Un paso clave es la verificación humana: todas las inferencias sobre personalidad deben ser confirmadas por la persona antes de su consolidación. El resultado final es un perfil comprimido (`profile.md`, ≈150 tokens) que puede copiarse en las instrucciones de cualquier agente para darle contexto personalizado preciso y seguro.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add AnsirStudio/self-distiller

Preguntar en tu IA favorita

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

Documentación

self-distiller —— Manual de destilación de identidad personal

Destila la información sobre "la persona en sí misma" a partir de materiales dispersos en una capa de identidad Markdown estructurada, reutilizable y rastreable.

Solo hace una cosa: destilar (escribir). Entrada = materiales en raw/; salida = escritura en el quinteto self/. No se encarga de consultas/respuestas — "usar este perfil para responder preguntas" es otra cosa (regido por otro skill o la especificación CLAUDE.md del proyecto), y no está en este manual. No se ejecuta automáticamente. Organizar/combinar es una operación que se ejecuta cuando se invoca (ver §3). Si debe ejecutarse periódicamente, depende de la programación o la estrategia del proyecto, no de este skill. Idioma: Se escribe en el idioma preferido por el usuario. Privacidad: La información de identidad es sensible; el repositorio debe ser privado. Independencia: Solo maneja hechos sobre "el propio usuario"; no conoce ni depende de otros skills.

0. Primera ejecución: Verificación previa + creación de directorios (idempotente)

Crea lo que falte, omite lo que exista. Copia las plantillas desde templates/:

<raíz del proyecto>/   
├── self/                 # Capa de identidad (escrita por este skill)
│   ├── observations.md   # Fuente de la verdad: flujo de hechos atómicos, solo añadir
│   ├── identity.md       # Identidad y personalidad estables
│   ├── preferences.md    # Preferencias (cada una con ámbito de aplicación)
│   ├── now.md            # Intereses actuales (serán reemplazados por nuevos valores)
│   └── profile.md        # Tarjeta de presentación comprimida (≈150 tokens, salida)
└── raw/                  # Fuente de materiales (solo lectura, árbol completo, crear si falta)
    ├── inbox/            # Nuevos materiales caen aquí; se vacían tras destilar
    ├── chats/ articles/ research/ videos/ papers/ work/ ideas/ design/   # research/= informes de búsqueda/profundización
    └── attachment/       # Imágenes/media (referenciados por md)

Los hechos sobre uno mismo pueden provenir de cualquier fuente (una conversación, un video, un proyecto antiguo, una colección de diseños), no solo de chats.

1. Flujo de trabajo: DISTILL (Destilar)

Cada destilación sigue este orden:

  1. Escanea raw/ (especialmente inbox/), procesa cada fuente una por una.
  2. Evalúa relevancia: ¿Este material contiene información sobre "la persona en sí misma"? Si no, se omite (es conocimiento objetivo puro, fuera de este skill).
  3. Extrae hechos atómicos (núcleo, ver §2): extrae del contenido los hechos explícitos sobre la persona + personalidad/preferencias inferibles.
  4. Escribe en observations.md: cada hecho atómico se solo añade, con fuente + fecha + marcador explícito/inferido. Nunca se reescriben entradas antiguas.
  5. Puerta de revisión humana (ver §4): las entradas sugeridas para identity/preferences/now se presentan a la persona para confirmación; solo se consolidan tras aprobación.
  6. Enrutamiento (ver §3): los hechos confirmados se fusionan en las páginas correspondientes (identity / preferences / now).
  7. Actualiza profile.md: regenera la tarjeta comprimida (≈150 tokens).
  8. Registra: en la parte superior de observations.md o en el log.md del proyecto, indica qué se añadió/actualizó.
  9. Se vacía inbox/ = este lote está destilado (nota: destilado ≠ verificado; verified lo marca la persona).

Organizar (combinar) es la "versión por lotes" del mismo flujo: al invocar "organiza mi perfil", se saltan los pasos 1–2 y se aplica directamente el §3 sobre observations.md completo: fusionar, deduplicar, reemplazar valores antiguos por nuevos (now), marcar entradas caducadas sin borrar.

2. Cómo destilar: Analizar a una persona a partir de materiales (núcleo)

Esta es el alma de este skill. Al leer un contenido, extrae "quién es esta persona" siguiendo este método.

2.1 Dos tipos de hechos

  • explícitos: Dicho directamente por la persona. Ej.: "Soy diseñador de moda" → [explícito] Estudió diseño de moda.
  • inferidos: Personalidad/valores/estética deducidos a partir de patrones de comportamiento. Deben incluir fundamento + nivel de confianza. Ej.: Ha recopilado repetidamente paletas de colores de baja saturación → [inferido, conf=media] Prefiere estéticamente colores de baja saturación/morandi, fundamento: recopila este tipo de paletas repetidamente.

2.2 Normas de redacción para la extracción

  • Atómico y autocontenido: Una sola afirmación por entrada, comprensible por sí sola ("Esta persona está nerviosa por esta entrevista", no "muy nervioso").
  • Fecha absoluta (16 de junio de 2026, no "ayer").
  • Atribución correcta: Si es sobre la persona, márcala como propia; si cita a otros, no lo registres como suyo.
  • Con fuente: fuente: [[raw/chats/...]].
  • Deduplicación por origen: Antes de escribir, busca por fuente; un mismo hecho de la misma fuente solo se registra una vez.

2.3 Dimensiones de análisis (busca estas señales en el material)

Al leer el contenido, busca activamente pistas en estas dimensiones (tabla detallada en reference.md):

  • Antecedentes de identidad: Ocupación, educación, experiencia, ubicación.
  • Valores/Principios: ¿Qué le importa? ¿Qué le desagrada? ¿En qué basa sus decisiones?
  • Rasgos de personalidad: Cómo reacciona, estilo de expresión, patrones emocionales (ej.: pensamiento divergente, búsqueda de control, cauteloso/decisivo).
  • Forma de pensar: Cómo razona, cómo toma decisiones, dónde suele atascarse.
  • Preferencias (con ámbito de aplicación): Comunicación / Trabajo / Aprendizaje / Estética de diseño.
  • Intereses actuales: ¿En qué está trabajando? ¿Objetivos a corto plazo? (→ now, volátil).
  • Tendencias estéticas: ¿Qué le atrae repetidamente? (Colores, tipografía, estilo).

2.4 Barreras de seguridad

  • No sobrededucción: Si la evidencia es débil para un rasgo de personalidad, márcalo con conf=baja o no lo escribas; mejor faltar que inventar.
  • Nunca inventar: Si no hay, deja ___, no rellenes.
  • Contenido sensible pasa por la puerta de revisión humana del §4, no se escribe en silencio.

3. Enrutamiento: Qué hecho va a qué página

  • observations.md — Todos los hechos atómicos entran aquí primero (fuente de la verdad, solo añadir).
  • identity.md — Identidad y personalidad estables (evergreen).
  • preferences.md — Preferencias, cada una con ámbito de aplicación (general / código / escritura / estética de diseño / comunicación / aprendizaje).
  • now.md — Intereses actuales (volátil; nuevos valores reemplazan a antiguos; los antiguos se mueven a "antes estaba ocupado en", no se borran).
  • profile.md — Tarjeta de presentación destilada de las tres páginas anteriores, solo extrae lo estable y útil para responder, ≈150 tokens.

4. Puerta de revisión humana (más estricta que una base de conocimientos)

La información de identidad es sensible y fácil de tergiversar: los hechos extraídos (especialmente las inferencias sobre personalidad) se presentan primero a la persona para confirmación antes de consolidarse en las cuatro páginas; todas las páginas llevan verified: false, solo la persona puede cambiarlo a true.

5. Uso entre agentes (no parte de la destilación, solo aclara la salida)

profile.md es la salida: se copia en las instrucciones personalizadas de cualquier agente. Principio de control de tamaño: lleva siempre solo el perfil (nivel 0); añade preferencias relevantes según el escenario (nivel 1); las observaciones completas solo se buscan cuando sea necesario, sin inyección completa (nivel 2). La verdadera "consulta de este perfil para responder preguntas" es competencia de otro skill, no está en este manual.


  • Dimensiones detalladas de análisis, clasificación de hechos, especificaciones de frontmatter → ver reference.md
  • Plantillas vacías del quinteto → ver templates/
  • Ejemplo completo de destilación (conversación → extracción → archivo) → ver examples/

Skills relacionados