Emulo
Carga un perfil personal extraído de tus propios registros locales de Claude Code, Codex y OpenCode, para que tu agente comience sabiendo cómo trabajas en lugar de partir de cero.
Documentación

Emulo
Convierte los mensajes que escribiste a tus agentes de codificación en un perfil you.md, con cada regla respaldada por recibos con fecha, e instálalo donde tu agente pueda leerlo.
Tus sesiones reales con agentes de codificación ya contienen las reglas que nunca escribiste: qué significa "terminado", qué rechazas de inmediato, cómo depuras, cómo diseñas interfaces y cómo escribes cuando realmente estás trabajando.
Emulo extrae evidencia seleccionada de esas sesiones (registros de Claude Code, Codex, Copilot CLI, OpenCode y Google Antigravity de serie) en un perfil de trabajo privado, donde cada regla lleva citas con fecha de tus propios mensajes, y lo instala donde tu agente pueda leerlo. El flujo de extracción del agente escribe archivos separados para trabajo, diseño, escritura y video, de modo que un host puede cargar solo el que se ajusta a la tarea.
El objetivo es un agente que trabaje como tú desde el primer mensaje. Eso es un objetivo, no un resultado: lo que se ha probado hasta ahora está más abajo, incluida la parte que no salió como esperábamos.
Instalar un perfil y que un agente realmente lo lea son dos cosas distintas. En una prueba host por host el 2026-09-25, el perfil llegó al modelo a través de un AGENTS.md de proyecto en Codex (--target agents --repo ., verificado de extremo a extremo en una prueba) y se cargó en las instrucciones de OpenCode. En Claude Code, la habilidad you se instala pero no se abre de forma fiable por sí sola; escribir /you la carga. Cursor, Gemini, OpenClaw y Hermes Agent reciben el archivo donde lo buscan, y la carga allí no está verificada. La matriz de soporte tiene cada uno.
La metodología Emulo Proof v1 es una metodología no ejecutada hasta que exista una versión de evidencia aprobada por separado.
La capa de video, y de dónde viene

Un comercial especulativo, hecho en Claude Design. Sin After Effects ni software de movimiento: todo es una composición renderizada a video.
Es trabajo especulativo. No fue encargado por Vercel ni hecho para ellos. Se eligió una marca para ver hasta dónde podía llegar el movimiento.
Está aquí porque emulo:video se extrae de sesiones como la que lo
produjo. Las otras capas funcionan igual: el perfil no es una plantilla,
es lo que sobrevivió del trabajo real.
Instalación
Dentro de Claude Code:
/plugin marketplace add ohad6k/emulo
/plugin install emulo@emulo
Dentro de Codex:
codex plugin marketplace add ohad6k/emulo --ref v0.6.7 --json
codex plugin add emulo@emulo --json
Luego ejecuta emulo:mine y apúntalo a tu historial de sesiones. Todo lo demás explica qué produce eso y por qué. Si prefieres la CLI en lugar del plugin, consulta Inicio rápido.
Código abierto y privacidad
Emulo tiene licencia MIT, es gratuito y funciona sin cuenta ni inicio de sesión. La herramienta en sí no tiene nada que comprar. Por separado, el sitio ofrece un servicio de pago opcional, una edición manual de un perfil que ya extrajiste, y nunca lo necesitas para usar Emulo.
La extracción de sesiones, la redacción, las cachés, el propio perfil y los adaptadores de agente permanecen en tu máquina. La única excepción es la extracción: si la apuntas a un modelo alojado, la evidencia seleccionada va a ese proveedor. Apúntala a un modelo local y todo el proceso permanece en tu máquina.
No es memoria
La memoria es lo que le dijiste explícitamente al modelo.
Emulo extrae lo que sigue apareciendo en tus propias sesiones: lo que rechazas, qué significa "terminado", cuándo pides pruebas, cómo hablas cuando realmente trabajas y los comportamientos del agente que te hacen detener la tarea.
Por eso lee registros de sesión sin procesar, no tu CLAUDE.md ni tu archivo de reglas.
Lo que se ha probado hasta ahora
Emulo hace tres cosas separadas, y se les exigen estándares distintos:
- El informe de uso y
emulo verifyson coincidencias de texto en tus propios mensajes. Cuentan y rastrean citas. No pueden decirte por qué ocurrió nada. - Cargar significa que un host pone el perfil frente a su modelo. Qué hosts se vieron haciendo eso está en la matriz de soporte.
- Si un perfil cargado mejora el trabajo del agente no se demuestra. Es el objetivo, no un resultado.
Lo que sí muestran las pruebas publicadas:
- Un perfil extraído añadido cambió lo que produjo el modelo, en comparación con ningún perfil.
- En un estudio de 60 ejecuciones con cada predicción escrita de antemano (agosto de 2026), el perfil extraído no se diferenció de un perfil inventado de la misma longitud en ninguna de las 9 comparaciones. emulo.vercel.app/placebo
- En una repetición de septiembre de 2026 con un perfil posterior de julio de 2026 (fechado el 2026-07-30) y un nuevo perfil inventado, el perfil extraído se diferenció del inventado en 5 de 9 comparaciones en Fable 5.1 y en 1 de 9 en Opus 5. emulo.vercel.app/fable
- Ambas pruebas miden si la salida cambió (esquinas redondeadas, saturación de color, contenedores de tarjetas, longitud), no si mejoró.
Un ejemplo, no una prueba
Una anécdota. Una línea al mismo agente, dos veces: "ayúdame a publicar emulo en reddit." Una vez en frío, una vez con el perfil de Emulo cargado. Una ejecución de cada manera, sin control ni placebo, así que muestra cómo se veían dos respuestas, no qué hace el perfil. Ambas respuestas están recortadas a su plan inicial y título.
| 🡒 agente | 🡒 agente + emulo |
|---|---|
|
Así lo haría yo. Subreddits: r/ClaudeAI y r/ChatGPTCoding son tu audiencia principal. r/LocalLLaMA encaja con el ángulo local. r/cursor, r/SideProject, r/opensource para alcance. No publiques todo a la vez: publica en uno, ajusta el título, republica durante unos días. Título: Construí una herramienta local que lee tus registros de codificación con IA y escribe un "you.md" que tus agentes leen antes de cada tarea |
la idea primero: el número de extracción es todo tu post. "leí 1,656 de mis propias sesiones" es una confesión, no un argumento, y nadie se detiene ante una confesión. lidera con el espejo, no con el mecanismo. un sub, no cinco: un sub de habilidades, donde la gente viene buscando esto en lugar de discutirlo. Título: Construí una habilidad de Claude a partir de 8 meses de mis propias sesiones de Claude Code |
El título es la redacción del agente. El perfil cargado era un perfil que el autor extrajo a principios de julio de 2026 (1,656 sesiones).
Publiqué la versión cargada en r/ClaudeSkills. Los números a continuación son como se muestran en la captura de pantalla, que muestra solo la barra de votos, no el post ni la fecha:

200 votos a favor · 32 comentarios · 102K vistas
Un solo post, así que no dice nada sobre si el perfil causó algo de eso.
Las pruebas controladas están en emulo.vercel.app/placebo y emulo.vercel.app/fable, resumidas en Lo que se ha probado hasta ahora.
Lo que encuentra
El tipo de reglas que extrae una minería, cada una respaldada por recibos verbatim con fecha de sesiones reales:
terminado significa que funciona en vivo. nunca confíes en "terminado" por una edición de código. muéstralo funcionando primero.
arregla lo único. reescribir o "limpiar" código que no es el problema se rechaza cada vez.
construye más rápido de lo que entiende lo que construyó — luego le pide al agente que explique su propio sistema de vuelta.
se frustra al repetir la misma petición hasta que aterriza, no al escalar.
Nadie escribió esas reglas. Salieron del propio historial de una persona, con recibos.
Esto es un ejemplo. El tuyo se extrae de tus registros y no se parecerá en nada.
El informe de uso
La minería responde "quién es esta persona". El informe de uso responde una pregunta diferente: dónde te repites ante el modelo.
python emulo.py --coach # every source it can find
python emulo.py --coach --source claude # Claude Code only
O deja que tu agente lo ejecute cuando te quejes de que sigue olvidando cómo trabajas: npx skills add ohad6k/emulo@agent-profile-from-sessions instala una habilidad que comienza con este informe gratuito y solo ofrece la minería después de que veas la evidencia.
Se ejecuta antes de cualquier minería y no hace ninguna llamada al modelo. En un historial grande tarda aproximadamente un minuto: unas 1,400 sesiones tardaron de 54 a 71 s en tres ejecuciones en una máquina Windows.
Cada verificación es una coincidencia de texto en tus propios mensajes. Cuenta peticiones que enviaste tres o más veces seguidas sin cambios, mensajes con frases como "como dije" o "te dije", rachas de peticiones casi idénticas seguidas y con qué frecuencia un mensaje abre como corrección ("no,", "eso está mal"). Una frase dentro de texto citado o pegado (un bloque de código delimitado, una línea que empieza con >, o un tramo entre comillas dobles) no se cuenta, así que un correo que estás respondiendo no se lee como que te repites. Una coincidencia no puede decir por qué repetiste algo ni si el agente había olvidado algo, así que el informe ofrece correcciones como posibilidades, no diagnósticos.
Cada hallazgo imprime los mensajes con fecha detrás, para que puedas juzgar cada uno tú mismo. Las verificaciones que no alcanzan su umbral también se imprimen con sus conteos, así que un resultado limpio se lee como un resultado, no como silencio.
Lee solo los mensajes que escribiste, que es todo lo que Emulo conserva. No puede ver costos, tokens, llamadas a herramientas ni si el agente tenía razón, y nunca puntúa eso.
La tarjeta
El flujo de extracción del agente (run emulo o emulo:mine) también escribe un card.json, y emulo --card <card_path> lo renderiza como una tarjeta compartible: arquetipo, leyes principales clasificadas por recibos de sesión de apoyo distintos, estadísticas de cobertura y una verdad contundente. emulo plugin status imprime el card_path. La ruta RUN_ME.md escribe you.md solamente, así que no tiene tarjeta para renderizar.

Esta tarjeta es de una ejecución diferente del minero que el perfil de principios de julio de 2026 citado en otro lugar de este README, así que sus conteos de sesión y tokens difieren de él.
Comparte la tarjeta o un rasgo corto, nunca tu perfil completo.
Inicio rápido
Paso a paso, con qué lee y escribe cada comando, qué llega a un modelo y cómo eliminarlo: docs/PROFILE-FLOW.md.
Instala el bootstrap entre agentes. Ejecuta el flujo de extracción en Claude Code y Codex:
npx skills add ohad6k/emulo@emulo
Luego dile a tu agente:
run emulo
Eso instala el bootstrap y crea un plan de extracción de historial completo de solo lectura. Tu agente debe mostrar el costo y esperar aprobación antes del trabajo del modelo.
Una vez que tu perfil exista, el bootstrap ofrece el plugin nativo para que también tengas las habilidades emulo: con espacio de nombres. Pregunta primero y acepta un no. En Codex puede ejecutar la instalación por sí mismo; en Claude Code /plugin lo escribes tú, así que te entrega las dos líneas exactas para pegar.
Instalar la CLI
Si prefieres ejecutar Emulo tú mismo en lugar de a través de un agente:
pip install emulo
Eso pone emulo en tu ruta. emulo --dry-run no escribe nada e imprime lo que encontró: sesiones, tus mensajes, tokens aproximados, cuántos mensajes tuvieron algo redactado y las rutas que escribiría. emulo luego extrae y escribe el corpus, los fragmentos y RUN_ME.md en emulo-out/ de inmediato. No hay paso de plan ni aprobación en esta ruta, porque no hace llamadas al modelo; el trabajo del modelo comienza cuando entregas RUN_ME.md a tu agente. emulo mcp ejecuta el servidor MCP a continuación. uv tool install emulo funciona igual, y uvx emulo lo ejecuta sin instalar.
emulo escribe RUN_ME.md junto a tus fragmentos. Es autocontenido, así que todo el paso restante es una línea para tu agente:
read emulo-out/RUN_ME.md and follow it
Su agente hace una pasada por cada fragmento, los fusiona, escribe you.md e imprime los comandos de instalación. No hay nada que pegar ni nada más que descargar.
Qué instalación elegir. Para Codex y OpenCode, emulo --install you.md --target agents --repo . en el proyecto en el que trabajas añade el perfil a su AGENTS.md, y esa es la ruta que una prueba host por host realizada el 2026-09-25 vio llegar al modelo. Escribe todo el perfil, incluidas citas textuales de tus sesiones, en el AGENTS.md de esa carpeta, que normalmente se confirma y se comparte, así que mantén ese archivo fuera del control de versiones o instala en una carpeta personal que no se confirme. Para Claude Code, emulo --install you.md --target claude instala una habilidad llamada you, y Claude Code no la abre de forma fiable por sí solo, así que escribe /you (o /you <task>) para cargarla. Los otros objetivos están en la matriz de soporte. you.md no necesita frontmatter: para los objetivos claude y codex, que lo instalan como habilidad, emulo --install añade name: you y una descripción predeterminada a la copia instalada cuando el archivo no tiene ninguna, y así lo indica. Un archivo cuyo frontmatter ya tenga name y description se instala tal como está escrito; el frontmatter al que le falte cualquiera de los dos se rechaza.
Comprueba los recibos
Un perfil solo vale la pena cargarlo si su evidencia es real. El fallo que importa no es una regla que falta, es una regla segura que cita algo que nunca dijiste:
emulo verify you.md
Extrae cada cita del perfil y busca en las sesiones minadas. Las citas que no puede encontrar se informan y el comando sale con un código distinto de cero, porque nada en el corpus minado las respalda. Una cita que falta puede ser inventada, parafraseada o de un historial que no se minó. Las citas que se apoyan en una sola sesión se marcan por separado: una sesión es contexto, no una regla. Añade --json para una salida legible por máquina, incluidos los identificadores de sesión que respaldan cada cita.
Esto comprueba lo que es mecánicamente comprobable. Si una regla es vaga, genérica o cierta para todo desarrollador vivo sigue siendo un juicio, y sigue siendo tuyo.
Plugin nativo de Codex
El plugin nativo añade emulo:mine, emulo:work, emulo:design, emulo:write y emulo:video:
codex plugin marketplace add ohad6k/emulo --ref v0.6.7 --json
codex plugin add emulo@emulo --json
El propio comando de instalación del plugin no escanea registros, no escribe estado privado del perfil y programa cero llamadas al modelo de minería. Pedir a un agente que instale, ejecute o actualice Emulo sigue consumiendo esa interacción del host más su sobrecarga normal de sistema y herramientas.
Plugin nativo de Claude Code
El plugin de Claude Code registra las mismas cinco habilidades. Instálalo desde dentro de Claude Code:
/plugin marketplace add ohad6k/emulo
/plugin install emulo@emulo
O desde una terminal: claude plugin marketplace add ohad6k/emulo, luego claude plugin install emulo@emulo. El 2026-09-25 ambos funcionaron sin cabeza y las cinco habilidades se registraron. Como cualquier habilidad, Claude Code decide cuándo abrir una. El plugin solo sirve a un perfil activado por el flujo de minería del agente (emulo:mine o run emulo), nunca un you.md hecho a mano ni uno de la ruta RUN_ME.md.
Servidor MCP
Emulo también incluye un servidor de Protocolo de Contexto de Modelo (MCP) al que cualquier cliente MCP puede conectarse. El 2026-09-25, Claude Code se conectó y listó la herramienta; Codex la llamó y recibió el mensaje de sin perfil. Otros clientes no se han probado. El servidor implementa MCP sobre stdio y expone una herramienta, load_emulo_profile, que devuelve tu perfil minado de trabajo, diseño, escritura o video a través del Protocolo de Contexto de Modelo.
Ejecútalo desde el paquete publicado con uvx emulo mcp, o desde un checkout con python emulo.py mcp, y apunta un cliente MCP hacia él:
{
"mcpServers": {
"emulo": { "command": "uvx", "args": ["emulo", "mcp"] }
}
}
El servidor MCP es solo de stdlib y no hace llamadas de red propias. Sirve el perfil activado por el flujo de minería del agente (run emulo o emulo:mine), que vive bajo ~/.emulo o EMULO_HOME. Un you.md de la ruta RUN_ME.md no se activa allí, por lo que el servidor no lo ve; instala ese con emulo --install en su lugar. Sin un perfil activado, la herramienta devuelve una instrucción de recuperación en su lugar.
Qué sucede cuando lo ejecutas
Cuando un agente ejecuta Emulo por ti (run emulo a través del bootstrap, o emulo:mine), primero imprime un plan de solo lectura desde emulo plugin preflight. Esto es un extracto; la salida real también lista los segmentos seleccionados y sus hashes:
{
"valid_sessions": "--",
"post_dedupe_source_tokens": "--",
"mode": "full",
"profile_scope": "full_profile",
"quality_default": true,
"candidate_index": null,
"selected_source_tokens": "--",
"planned_worker_calls": "--",
"planned_reducer_calls": "--"
}
El valor predeterminado de calidad de historial completo lee todo el historial elegible. El agente muestra el plan exacto primero y espera tu aprobación antes de que se ejecute cualquier trabajador o reductor. El comando simple emulo de Instalar el CLI es una ruta diferente: imprime recuentos, no este plan, y escribe fragmentos para que se los entregues a un agente tú mismo. Los informes en caché se reutilizan, por lo que el costo restante mostrado puede disminuir con el tiempo.
Si quieres explícitamente una primera mirada más barata, pide run emulo quick preview o usa --preview:
python emulo.py plugin preflight --preview
La vista previa rápida crea un perfil inicial a partir del historial seleccionado, no el perfil completo.
La escalera de vista previa rápida es:
| Candidato | Nuevo texto fuente | Pasos planificados máximos |
|---|---|---|
| 4 × 25K | 100K tokens | 4 trabajadores + 1 reductor |
| 6 × 25K | hasta 150K tokens | hasta 6 trabajadores + 1 reductor |
| 8 × 25K | límite duro de 160K tokens | hasta 8 trabajadores + 1 reductor |
La calibración congelada recuperó solo 5 de 22 rasgos requeridos en el candidato acotado más amplio. Por lo tanto, la vista previa rápida no puede describirse como el valor predeterminado de calidad a menos que una ejecución futura pase los 22 requisitos congelados. La línea base permanente no privada está en tests/fixtures/bounded-calibration-baseline.json.
La primera minería real de lanzamiento de historial completo recuperó 12 de los mismos 22 requisitos congelados: trabajo 5/10, diseño 5/5 y escritura 2/7. El historial completo sigue siendo el valor predeterminado de calidad porque mejora materialmente el recuerdo sobre la vista previa, no porque garantice un modelo personal completo. El paquete validado mantiene solo reglas respaldadas; los rasgos faltantes requieren futuras mejoras de minería en lugar de una puntuación suavizada.
En la actualización, los hashes de segmentos y evidencia sin cambios se reutilizan. Una actualización idéntica planifica cero pasadas adicionales de minería de Emulo. El historial nuevo planifica solo el trabajo de historial completo afectado más un reductor.
Estos son tokens fuente seleccionados y pasadas planificadas de trabajador/reductor, no eventos de facturación del proveedor. Emulo no puede medir los mensajes del sistema del proveedor, el tráfico de herramientas, la sobrecarga de orquestación o un porcentaje de una asignación de suscripción propietaria.
Recuerdo adaptativo experimental
La canalización de saliencia de recibos y explorador sigue disponible para desarrolladores a través de --stage A explícito, pero es experimental y no se usa en el lanzamiento del Plugin, la configuración predeterminada de calidad, las actualizaciones o la calibración.
Qué hace que el resultado sea confiable
La primera viñeta se cumple en cada ruta, porque el extractor la aplica. El resto se aplican en código en el flujo de minería del agente (run emulo, o emulo:mine). En la ruta RUN_ME.md solo se le pide a tu agente, por escrito, que use citas textuales fechadas, corte reglas sin una y elimine el relleno genérico; nada aplica eso, y emulo verify you.md solo verifica que cada cita aparezca en tu corpus. Consulta la guía del flujo de perfil para saber qué ruta hace qué.
- Solo se minan los mensajes que escribiste, leídos de los registros de sesión de cada herramienta: JSONL para Claude Code, Codex, Copilot CLI y Antigravity, y la base de datos SQLite o archivos de sesión JSON para OpenCode.
AGENTS.md,CLAUDE.md, archivos de memoria y autodescripciones escritas se rechazan como evidencia fuente. - Cada trabajador acotado cubre trabajo, diseño, escritura y video en un informe validado.
- Las citas deben ser recibos cortos, fechados y textuales de identificadores de sesión conocidos.
- Las reglas inferidas requieren al menos dos sesiones distintas y, cuando estén disponibles, dos estratos de fuente/tiempo.
- Una instrucción explícita sin contradicción puede sobrevivir como evidencia de baja frecuencia.
- El relleno genérico, las citas inventadas, las contradicciones no resueltas, los paquetes de perfil parciales y las cachés corruptas fallan de forma cerrada.
Los cargadores nativos están deliberadamente separados:
| Habilidad | Carga |
|---|---|
emulo:work | Perfil de trabajo principal |
emulo:design | Principal + gusto de diseño |
emulo:write | Principal + voz de escritura |
emulo:video | Principal + gusto de video |
emulo:mine | Solo solicitudes explícitas de configuración, actualización o profundización |
Privacidad
El extractor, la redacción, las cachés y los perfiles generados de Emulo permanecen locales. El texto redactado seleccionado se procesa con el proveedor de modelos que elijas. Con un modelo local, todo el flujo de minería puede permanecer local.
emulo.py en sí es un archivo solo de stdlib y no hace llamadas de red. El comando skills.sh descarga el bootstrap seleccionado. Fuera de un checkout de repositorio, ese bootstrap descarga solo emulo.py y MINING_PROMPT.md de la etiqueta de lanzamiento exacta después de la verificación SHA-256. Esas descargas ocurren antes del descubrimiento de registros y no leen datos de sesión.
La redacción es de mejor esfuerzo y se ejecuta antes de que el texto seleccionado se escriba en las cachés de Emulo. Inspecciona la salida privada antes de compartirla. Comparte la tarjeta o un rasgo corto, nunca tu perfil completo o el apéndice de recibos.
Consulta SECURITY.md para conocer el límite exacto.
CLI sin procesar de un solo archivo
El extractor heredado sigue disponible y es compatible hacia atrás:
curl -O https://raw.githubusercontent.com/ohad6k/emulo/v0.6.7/emulo.py
python emulo.py --dry-run
python emulo.py --chunks 4 --out emulo-out
Los adaptadores manuales siguen disponibles:
python emulo.py --install you.md --target codex
python emulo.py --install you.md --target claude
python emulo.py --install you.md --target cursor --repo .
python emulo.py --install you.md --target agents --repo .
python emulo.py --install you.md --target gemini --repo .
python emulo.py --install you.md --target opencode
Los objetivos agents, cursor y gemini escriben en la carpeta que pasas con --repo (AGENTS.md, .cursor/rules/you.mdc, GEMINI.md). Cada uno recibe todo el perfil, incluidas citas textuales de tus sesiones, y esos archivos generalmente se confirman y se comparten con todos los que trabajan en el repositorio. Mantenlos fuera del control de versiones, o instala en una carpeta que no se confirme.
Matriz de soporte
Las filas de carga provienen de una prueba host por host realizada el 2026-09-25: Emulo 0.6.6 desde PyPI, un perfil canario, sesiones sin cabeza frescas en cada host. Instalar un archivo y que un host lo lea se enumeran por separado.
Dónde va un perfil
| Superficie | Estado en esta versión |
|---|---|
Codex, --target agents --repo . (proyecto AGENTS.md) | Verificado de extremo a extremo en una prueba: un modelo real respondió el canario desde el perfil sin llamadas a herramientas, y el control sin él respondió "Unknown". |
OpenCode, --target opencode (global ~/.config/opencode/AGENTS.md) o un proyecto AGENTS.md | Cargado en las instrucciones de OpenCode: el perfil está en el prompt del sistema que OpenCode envía al modelo. No se probó si el modelo lo sigue |
Claude Code, --target claude (habilidad en ~/.claude/skills/you/) | Se instala. No se carga automáticamente de manera confiable: con muchas habilidades instaladas, Claude Code solo listó algunas de ellas al modelo y dejó fuera you. Escribir /you o /you <task> lo carga (verificado) |
Codex, --target codex (habilidad) | Se instala. Codex lo abre solo cuando una solicitud coincide con la descripción de la habilidad; en un prompt simple no se abrió. --target agents --repo . es la ruta verificada de extremo a extremo en una prueba |
| Plugin nativo de Claude Code | claude plugin marketplace add ohad6k/emulo y claude plugin install emulo@emulo funcionan sin interfaz y las cinco habilidades se registran (verificado). Sirve solo un perfil activado por el flujo de minería del agente, nunca uno hecho a mano o RUN_ME.md you.md |
| Plugin nativo de Codex | Probado localmente con cinco habilidades con espacio de nombres (emulo:mine, emulo:work, emulo:design, emulo:write, emulo:video): se instala y las lista. No se volvió a probar el 2026-09-25, y no se probó si Codex las abre durante una tarea |
Servidor MCP (emulo mcp) | El protocolo funciona. Claude Code se conectó y listó la herramienta; Codex la llamó y recibió el mensaje de sin perfil. Cualquier cliente MCP puede conectarse; otros no se probaron. Sirve solo un perfil activado por el flujo de minería del agente; si no hay ninguno, lo dice |
Cursor, --target cursor (.cursor/rules/you.mdc, alwaysApply) | Escribe el archivo donde Cursor busca reglas. La carga no está verificada |
Gemini, --target gemini (GEMINI.md) | Escribe el archivo donde Gemini lo busca. La carga no está verificada |
| OpenClaw / Hermes Agent | El descubrimiento de habilidades se verificó en julio de 2026 en versiones anteriores y no se ha vuelto a verificar; guía |
De dónde provienen los registros
| Fuente | Estado en esta versión |
|---|---|
| Claude Code, Codex, Copilot CLI | Minados de sus registros de sesión JSONL locales. Copilot CLI es solo una fuente, nunca un destino |
| OpenCode | Sesiones minadas de su almacén SQLite y diseño JSON heredado (--source opencode), verificado en vivo |
| Google Antigravity | Solo fuente. La minería se verificó en vivo contra una instalación local real (--source antigravity): los prompts escritos se extrajeron de transcripciones ~/.gemini/antigravity/brain, se eliminaron los envoltorios del arnés. Antigravity solo escribe transcripciones cuando el registro de interacción está habilitado en su configuración de privacidad |
Ejecutar el flujo de minería
| Superficie | Estado en esta versión |
|---|---|
Bootstrap de skills.sh (npx skills add ohad6k/emulo@emulo, luego run emulo) | Se ejecuta en Codex y Claude Code |
Actualizaciones y notificaciones
Ejecuta update emulo para reutilizar cachés estables y planificar solo el trabajo cambiado.
Una estrella en GitHub marca el repositorio como favorito, pero no te suscribe a las versiones. Para recibir notificaciones de versiones, elige Watch → Custom → Releases en GitHub.
Límites
- Emulo escribe reglas minadas de cómo trabajas, diseñas, escribes y haces videos. No hace más inteligente al modelo subyacente.
- Los historiales dispersos o repetitivos pueden dejar inactivos el diseño o la escritura. Emulo informa la instrucción exacta de profundización dirigida en lugar de inventar una persona.
- La contabilidad de tokens del proveedor permanece fuera de la medición exacta de Emulo.
- Pruebas publicadas hasta ahora: emulo.vercel.app/placebo y emulo.vercel.app/fable. Ninguna muestra que el trabajo haya mejorado; consulta Qué se ha probado hasta ahora.
Preguntas frecuentes
Las tres cosas que la gente cuestiona, respondidas una vez.
"¿Por qué no simplemente pedirle a Claude que resuma mis registros?"
Una sola pasada no puede hacerlo. A escala, un perfil que el autor minó a principios de julio de 2026 (1,656 sesiones) se minó de registros crudos que son en su mayoría salida de herramientas, volcados de archivos y errores pegados. Una sola llamada de resumen quema la ventana en ese ruido. Emulo conserva solo las palabras que escribiste, da a cada segmento validado su propia pasada de evidencia y requiere sesiones de respaldo distintas antes de que una regla inferida pueda sobrevivir. El perfil resultante conserva recibos de sesión en lugar de una puntuación obsoleta de recuento de trabajadores.
"Claude ya tiene memoria. ¿Por qué necesito esto?"
Usa ambos. La memoria es lo que le dijiste al modelo: notas curadas, CLAUDE.md, y permanece dentro de una sola herramienta. Emulo lee sesiones crudas compatibles de Codex, Claude Code, Copilot CLI, OpenCode y Google Antigravity y extrae lo que nunca escribiste: lo que rechazas, qué significa "hecho" para ti y cuándo exiges pruebas. La salida son archivos simples que posees, y la matriz de soporte dice qué agentes se vieron cargándolos.
"Claude solo conserva 30 días de registros. ¿De dónde salieron nueve meses?"
La retención de Claude Code es una configuración (cleanupPeriodDays, 30 por defecto), y mi historial más largo combina sesiones de Claude Code, Codex y Copilot CLI más archivos. Si mantienes la retención predeterminada, las sesiones más antiguas de Claude pueden desaparecer antes de que Emulo las vea. Aumenta la retención y luego mina lo que quede.
Mantenimiento
Emulo se mantiene, no se desarrolla más: correcciones de seguridad y redacción, una ruta de instalación o carga anunciada rota, y errores reproducibles. Consulta MAINTENANCE.md para saber qué está dentro y fuera del alcance y cómo informar.
Hoja de ruta
Consulta ROADMAP.md para ver lo que se lanzó y las ideas registradas pero no planificadas.
Comunidad
Licencia
MIT. Construido y mantenido por Ohad Krispin (@ohad6k).