MemoryLake
Volver a todos los artículos
Tutorial26 de agosto de 2026·12 min de lectura

Cómo migrar de Kiro a Cursor sin perder el contexto (2026)

Existe una versión de cinco minutos de esta migración que parece funcionar y, en silencio, no hace nada.

Copias tus archivos .kiro/steering/*.md en .cursor/rules/, reinicias y sigues con tu día. Pero la documentación de Cursor es explícita sobre lo que sucede a continuación: "Un archivo .md simple en .cursor/rules es ignorado por el sistema de reglas porque no tiene frontmatter para especificar description, globs y alwaysApply." Los archivos de dirección de Kiro son markdown simple. Las reglas de proyecto de Cursor deben ser .mdc. No hay advertencia, ni error, ni entrada en el panel de reglas; simplemente los archivos no se leen.

La solución es sencilla una vez que la conoces, y hay una razón genuinamente satisfactoria para hacerlo correctamente: los cuatro modos de inclusión de dirección de Kiro se asignan casi uno a uno a los cuatro tipos de reglas de Cursor. Nadie parece haber plasmado esa tabla por escrito, así que este artículo lo hace.

La parte más difícil es que Kiro tiene tres superficies de memoria independientes y el índice de documentación de Cursor no contiene ninguna página sobre memoria. Esto cubre qué se transfiere, qué no y dónde guardar la parte que no tiene dónde aterrizar. El comportamiento de sesión propio de Cursor se cubre en cómo llevar el contexto de Cursor a través de las sesiones.

Qué se transfiere realmente

Tus archivos de dirección, con un cambio de nombre y cuatro líneas de frontmatter. Este es el núcleo de la migración, y la asignación es limpia:

Inclusión de dirección de Kiro:Tipo de regla de CursorFrontmatter de Cursor
always (por defecto)Always ApplyalwaysApply: true
fileMatch + fileMatchPatternApply to Specific Filesglobs configurado, alwaysApply: false
auto + name + descriptionApply Intelligentlydescription configurado, sin globs
manualApply Manuallysin description, sin globs

Ambos lados funcionan de la misma manera por debajo. El modo auto de Kiro "utiliza la descripción para decidir cuándo es relevante el archivo de dirección". El equivalente de Cursor: "la descripción de la regla se presentará al Cursor Agent para decidir si debe aplicarse". Los archivos manual de Kiro se invocan con #nombre-del-archivo-de-direccion; los de Cursor se mencionan con @. Cambia el nombre de cada archivo a .mdc, añade el frontmatter correspondiente y tendrás el mismo comportamiento que tenías.

Tus archivos de base, como reglas siempre activas. Los archivos product.md, tech.md y structure.md de Kiro se "incluyen en cada interacción por defecto". Esos se convierten en reglas con alwaysApply: true. Sin embargo, léelos antes de convertirlos: la propia guía de dirección de Kiro advierte contra la duplicación de lo que el código base ya establece, y la documentación de reglas de Cursor ofrece el mismo consejo. Un archivo structure.md que es principalmente un listado de directorios vale la pena depurarlo, no portarlo; las razones de esto se encuentran en cómo hacer que Cursor recuerde la estructura de archivos de tu proyecto.

Tu AGENTS.md, sin cambios. Ambas herramientas lo admiten. Kiro lo carga desde la raíz del espacio de trabajo, desde ~/.kiro/steering/ y desde subdirectorios, señalando que "los archivos AGENTS.md no admiten modos de inclusión y siempre se incluyen". Cursor "admite AGENTS.md en la raíz del proyecto y subdirectorios" y lo recomienda explícitamente como la alternativa en markdown simple a las reglas .mdc. Si la mayor parte de tu dirección ya estaba siempre activa de todos modos, AGENTS.md es el destino con menor fricción.

Tus Skills, como un movimiento de directorio o sin movimiento alguno. Cursor lee .agents/skills/, .cursor/skills/, ~/.agents/skills/ y ~/.cursor/skills/, además de —"Por compatibilidad"— .claude/skills/, .codex/skills/, ~/.claude/skills/ y ~/.codex/skills/. Ambas herramientas se basan en el mismo estándar abierto de Agent Skills, por lo que los archivos SKILL.md se trasladan tal cual. Una diferencia de comportamiento: una skill de Cursor invocada con / "se adjunta a un mensaje", y mantenerla activa durante toda una sesión requiere ejecutarla como un Custom Mode con Option+Enter.

Tus especificaciones (specs), como archivos pero no como un flujo de trabajo. Las especificaciones de Kiro viven en .kiro/specs/<nombre>/ como requirements.md (o bugfix.md), design.md y tasks.md. Son markdown en tu repositorio, por lo que sobreviven al traslado y siguen siendo legibles. Lo que no sobrevive es el flujo de trabajo de tres fases que las rodea: la progresión de requisitos-diseño-tareas con aprobaciones intermedias y estado de tareas en tiempo real.

El equivalente más cercano en Cursor es el Plan Mode, y no es poca cosa: "crea planes de implementación detallados antes de escribir cualquier código", puedes "revisar y editar el plan a través del chat o de archivos markdown", y puedes revertir y volver a ejecutar desde un plan refinado. Pero ten en cuenta a dónde va el artefacto: "Los planes se guardan por defecto en tu directorio de inicio. Haz clic en 'Save to workspace' para moverlo a tu espacio de trabajo para referencia futura, compartir con el equipo y documentación". Una especificación de Kiro estaba en el repositorio por defecto. Un plan de Cursor está en tu directorio de inicio por defecto. Esa diferencia predeterminada es la diferencia entre un artefacto de equipo y uno personal.

Nada más se transfiere, y la razón es arquitectónica. Kiro mantiene tres superficies de memoria. El índice de documentación de Cursor no tiene ninguna página de memoria.

Las seis capas de Kiro Crew no tienen destino. Crew conserva preferences.md y projects.md (ambos reemplazados por completo por un consolidador cada 30 mensajes), un directorio history/ con degradación escalonada, un almacén semántico SQLite, un almacén episódico con búsqueda vectorial y un almacén de lecciones para correcciones aprendidas. Cada capa tiene un límite de caracteres y su propia regla de degradación: el historial se reduce a "Primera entrada por día + recuento" a los 14 días, deja de cargarse a los 181 y se "elimina del disco" a los 365. Las lecciones están limitadas a 50 entradas y marcadas para que "lo explícito del usuario siempre gane". Es un sistema de memoria real, y Cursor no tiene ningún contenedor para recibirlo.

La memoria aprendida de Kiro Web tampoco se transfiere. Se construye a partir de tus comentarios en las pull requests —"Solo tus comentarios, como el usuario que creó la tarea, influyen en lo que aprende el agente"— y tu control sobre ella se limita a las eliminaciones.

Un snapshot de Crew es una copia de seguridad, no una exportación. kirocrew snapshot produce un único archivo tarball que cubre memoria, espacio de trabajo, crons, configuración, skills y notificaciones. Es la forma correcta de moverse entre máquinas, y Kiro lo documenta exactamente así. Pero solo Kiro lo lee, por lo que es una copia de seguridad de lo que estás dejando, no un archivo de importación para lo que estás adoptando. Trátalo con cuidado: Kiro advierte que "Los snapshots contienen datos confidenciales (claves de seguridad utilizadas para la integridad del registro de auditoría)".

La migración manual

Paso 1: Toma un snapshot y luego lee las capas que estás a punto de perder

Ejecuta kirocrew snapshot ~/migrate antes de cualquier otra cosa. Incluso si Cursor no puede leerlo, querrás tener la copia; y la tarea diaria integrada de Crew solo "conserva los últimos 7 snapshots", así que no asumas que el de ayer todavía está ahí.

Luego lee, en lugar de copiar. Abre ~/.kiro/crew/workspace/memory/preferences.md y projects.md. Debido a que esos dos archivos son "reemplazados por completo por el consolidador cada 30 mensajes, no son de solo adición", representan una instantánea actual del modelo que Crew tiene de ti, no un registro. Lo que sea que esté en ellos es lo que Crew cree que importa en este momento, lo que los convierte en una lectura corta y de una señal inusualmente alta.

Luego mira tus lecciones: las correcciones aprendidas, limitadas a 50. Estas son las cosas que le dijiste a Crew que hiciera siempre, o que corregiste para que hiciera. Nada en tu repositorio las implica, por lo que nada en Cursor las reconstruirá.

También verifica tu dirección global en ~/.kiro/steering/. Kiro resuelve los conflictos priorizando la dirección del espacio de trabajo sobre la global. El orden de Cursor es "Team Rules → Project Rules → User Rules", donde "las fuentes anteriores tienen prioridad cuando las pautas entran en conflicto". El proyecto sigue superando a lo personal, por lo que esa mitad del comportamiento sobrevive; pero si usas las Team Rules de Cursor, una nueva capa ahora supera a ambas.

Paso 2: Convierte la dirección a .mdc y elige qué se queda como texto simple

Para cada archivo en .kiro/steering/, lee su frontmatter, busca la fila en la tabla anterior y escribe el equivalente de Cursor. Un archivo fileMatch se convierte en un valor de globs; un archivo auto conserva su description y descarta el name; un archivo siempre activo se convierte en alwaysApply: true y no necesita ninguno de los dos.

Dos conversiones que vale la pena hacer a mano en lugar de mecánicamente:

Las referencias a archivos dejan de funcionar. La dirección de Kiro puede incrustar archivos en tiempo real con #[[file:api/openapi.yaml]], por lo que el texto de dirección se mantenía actualizado a medida que cambiaba el archivo. Las reglas de Cursor no tienen una directiva equivalente. O bien incluyes el contenido en línea —y aceptas que se desactualizará— o haces referencia a la ruta en prosa y dejas que el agente la lea.

Las listas de recursos de agentes personalizados no tienen contraparte. Si configuraste agentes personalizados en Kiro, recuerda que "los archivos de dirección no se incluyen automáticamente" para ellos y tenías que listarlos explícitamente, a menudo como {"resources": ["file://.kiro/steering/**/*.md"]}. Cursor aplica las reglas según su frontmatter independientemente del modo, por lo que esas listas explícitas de recursos no tienen nada en qué convertirse; verifica si algún agente se estaba ejecutando deliberadamente sin dirección, porque esa intención no se trasladará.

Si la mayor parte de tu dirección era siempre activa y simple, la recomendación honesta es omitir .mdc para esos archivos por completo y colocar el contenido en AGENTS.md. La documentación de Cursor sugiere exactamente esto para "proyectos que necesitan instrucciones simples y legibles sin la sobrecarga de reglas estructuradas". Reserva .mdc para los archivos que realmente necesitan globs o descripciones.

Una última nota si estás trasladando a un equipo: la dirección de equipo de Kiro se distribuía enviando archivos a las máquinas "a través de soluciones MDM o políticas de grupo". Las Team Rules de Cursor se gestionan desde el panel de control en los planes Team y Enterprise, se aplican "en todos los repositorios y proyectos de ese equipo" y se pueden marcar como "Enforce this rule" para que los miembros no puedan desactivarlas. Ese es un mejor mecanismo, pero es texto libre —las Team Rules "no utilizan la estructura de carpetas de las Project Rules"— por lo que un directorio de archivos de dirección tiene que aplanarse.

La mejor manera: mantén la mitad aprendida en un lugar que el editor no posea

Observa cómo las dos mitades de esta migración se comportaron de manera diferente. Todo lo que escribiste se trasladó: la dirección se convirtió en reglas, AGENTS.md se quedó donde estaba, las skills no necesitaron cambios, las especificaciones siguieron siendo legibles. Todo lo que la herramienta aprendió no se trasladó en absoluto.

Esa división no es un problema de Kiro o de Cursor. Kiro construyó un elaborado sistema de memoria aprendida y lo mantiene bajo ~/.kiro/. Cursor tomó una decisión deliberada diferente: el contexto duradero vive en archivos de reglas y skills controlados por versiones, razón por la cual sus reglas son revisables y su documentación no tiene página de memoria. Ambos son diseños coherentes. Ninguno es un buen lugar para tener la única copia de por qué rechazaste un enfoque.

Eso es lo que MemoryLake contiene: el conocimiento duradero de tu proyecto en una capa que tus herramientas consultan, para que la mitad aprendida deje de ser una propiedad del editor que casualmente abriste. La configuración consta de tres pasos.

Paso 1: Crea una clave API

Inicia sesión y crea una clave API. Una sola credencial para todas las herramientas que conectes.

Crear una clave API de MemoryLake
Crear una clave API de MemoryLake

Paso 2: Sube tus primeras memorias

Entradas cortas, una afirmación cada una. Escribe estas directamente a partir de la lectura del Paso 1:

Subir tus primeras memorias a MemoryLake
Subir tus primeras memorias a MemoryLake

Tus lecciones, una por entrada. Las correcciones aprendidas limitadas a 50 en Crew. Estas son las líneas de mayor valor que posees y las menos recuperables.

Lo que dicen actualmente preferences.md y projects.md. Son una instantánea en tiempo real, por lo que son cortas. Divídelas en afirmaciones en lugar de pegar el archivo completo.

Decisiones con la razón adjunta. "Ponemos en cola las escrituras porque la réplica se retrasa bajo carga". Una regla establece la política; solo la razón evita que vuelva a surgir la alternativa.

Enfoques ya rechazados en este código base. La categoría que no aparece en ningún archivo de dirección, ninguna regla y ningún mensaje de commit.

Paso 3: Conecta tu IA y agentes

Conecta lo que uses. Se puede acceder a MemoryLake a través de MCP y de una API, y tanto Kiro como Cursor admiten servidores MCP, por lo que puedes ejecutarlos en paralelo durante la transición sin mantener dos copias del mismo razonamiento, y otros asistentes leerán la misma memoria a través de la API.

Conectar tu IA y agentes a través de MCP
Conectar tu IA y agentes a través de MCP

Tres límites honestos. MemoryLake no puede leer un snapshot de Crew, importar la memoria aprendida de Kiro Web ni escribir tus archivos .mdc; esos son los formatos de Kiro y la superficie de dirección de Cursor. Solo contiene lo que tú o tus agentes introducen en él, por lo que el Paso 2 es manual. Y las reglas son contexto en lugar de una configuración forzada; cualquier cosa que deba cumplirse siempre pertenece a las Team Rules de Cursor con la opción de cumplimiento activada, no a una capa de memoria.

Qué cambia esto en la práctica

La conversión de dirección se convierte en una búsqueda, no en un juicio de valor. Cuatro modos, cuatro tipos de reglas, una tabla.

Dejan de ocurrir operaciones silenciosas que no hacen nada. Un archivo .md simple en .cursor/rules se ignora. Ahora lo sabes antes de enviarlo.

Las especificaciones siguen siendo legibles, y tú decides sobre el flujo de trabajo. Los archivos sobreviven; las fases de aprobación no.

Los planes necesitan guardarse deliberadamente. Los planes de Cursor se guardan por defecto en tu directorio de inicio, por lo que "Save to workspace" es el paso que lo convierte en un artefacto de equipo.

Las skills dejan de ser específicas de una herramienta. El mismo SKILL.md se ejecuta en Kiro, Cursor, Claude Code y Codex.

La degradación deja de ser una sorpresa. El historial de Crew perdía detalles a los 14 días y se eliminaba a los 365; un comportamiento que vale la pena comprender en sus propios términos, como en lo que mostró un árbol de memoria con puntuación de retención.

Buenas prácticas para cambiar de Kiro a Cursor

Toma un snapshot antes de comenzar y mantén el archivo tarball fuera de las unidades compartidas. Kiro advierte que los snapshots contienen claves confidenciales.

Lee preferences.md, projects.md y tus lecciones. Los archivos reemplazados por completo son cortos por diseño. No hay excusa para pasarlos por alto.

Cambia el nombre a .mdc y añade frontmatter, o mueve el contenido a AGENTS.md. Esas son las únicas dos opciones que realmente se cargan.

Prefiere AGENTS.md para cualquier cosa que sea simple y esté siempre activa. Cursor lo recomienda y funciona en ambas herramientas durante la transición.

Convierte las referencias #[[file:…]] de manera deliberada. Incluirlas en línea las desactualiza; las referencias en prosa las mantienen activas.

Depura structure.md en lugar de portarlo. Ambos proveedores desaconsejan volver a describir el código base.

Aplana la dirección de equipo antes de tocar las Team Rules. Son texto libre, no una estructura de carpetas.

Mantén el razonamiento fuera de las reglas siempre activas. Cada herramienta limita lo que transporta y el razonamiento es lo primero que se recorta; el problema general en lo que realmente leen los agentes de programación.

Conclusión

La migración de Kiro a Cursor consta de dos partes con dificultades muy diferentes. La parte escrita es casi mecánica: los cuatro modos de inclusión de dirección se asignan a cuatro tipos de reglas de Cursor, AGENTS.md funciona en ambos, los archivos SKILL.md no necesitan cambios y las especificaciones siguen siendo markdown legible en tu repositorio. La única cosa que te causará problemas es la extensión del archivo: un archivo .md simple en .cursor/rules se ignora por completo, sin ningún error que te lo advierta.

La mitad aprendida no se migra en absoluto. Kiro Crew conserva seis capas de memoria en tu directorio de inicio, cada una con su propio límite y programa de degradación, además de una memoria aprendida independiente en Kiro Web construida a partir de tus comentarios en las PR. El índice de documentación de Cursor no tiene página de memoria, porque su diseño coloca el contexto duradero en reglas y skills controladas por versiones. Un kirocrew snapshot te brinda una copia de seguridad completa que solo Kiro puede leer.

Por lo tanto: toma un snapshot, lee los tres archivos que contienen el modelo actual que Crew tiene de ti, convierte la dirección con la tabla, decide por archivo entre .mdc y AGENTS.md, y coloca las lecciones y los enfoques rechazados en un lugar que ambos editores puedan consultar. Así, el próximo cambio de herramienta será una preferencia en lugar de un evento de amnesia.

Preguntas frecuentes

¿Por qué no funcionan mis archivos de dirección de Kiro después de copiarlos en Cursor?

Debido a la extensión. La documentación de Cursor establece que un archivo .md simple en .cursor/rules "es ignorado por el sistema de reglas porque no tiene frontmatter para especificar description, globs y alwaysApply". Los archivos de dirección de Kiro son markdown simple. Cambia el nombre de cada uno a .mdc y añade el frontmatter correspondiente, o coloca el contenido en AGENTS.md, que Cursor admite en la raíz del proyecto y en los subdirectorios.

¿Cómo se asignan los modos de inclusión de Kiro a los tipos de reglas de Cursor?

Uno a uno. El modo always de Kiro se convierte en alwaysApply: true (Always Apply). fileMatch con un fileMatchPattern se convierte en un valor de globs (Apply to Specific Files). auto con una description se convierte en una regla solo de descripción (Apply Intelligently), ya que ambas herramientas permiten que el agente decida a partir de la descripción. manual se convierte en una regla sin ninguno de los dos campos, que se invoca mediante una mención con @ en lugar del #nombre de Kiro.

¿Tiene Cursor un equivalente a las especificaciones (specs) de Kiro?

En parte. El Plan Mode de Cursor crea un plan de implementación revisable que puedes editar en el chat o como markdown antes de compilar, y puedes revertir y volver a ejecutar desde un plan refinado. No reproduce la estructura de tres archivos de Kiro (requirements.md, design.md y tasks.md) ni sus fases de aprobación. Ten en cuenta también que los planes de Cursor "se guardan por defecto en tu directorio de inicio" y necesitan un "Save to workspace" explícito para convertirse en un artefacto del repositorio.

¿Puedo exportar la memoria de Kiro Crew a Cursor?

No. kirocrew snapshot produce un archivo tarball que cubre la memoria, el espacio de trabajo, los crons, la configuración, las skills y las notificaciones, y es la forma documentada de mover Crew entre máquinas, pero solo Kiro lo lee. El índice de documentación de Cursor no contiene ninguna página de memoria, por lo que no hay un almacén de destino. Lee preferences.md, projects.md y tus lecciones, y vuelve a introducir lo que importa en las reglas o en una capa de memoria independiente.

¿Funcionan mis skills de Kiro en Cursor?

Sí. Ambos se basan en el estándar abierto de Agent Skills, por lo que los archivos SKILL.md se trasladan. Cursor carga skills desde .agents/skills/, .cursor/skills/, ~/.agents/skills/ y ~/.cursor/skills/, y por compatibilidad también desde .claude/skills/, .codex/skills/, ~/.claude/skills/ y ~/.codex/skills/.

¿Seguirá perdiendo mi dirección global frente a la dirección del proyecto en Cursor?

Sí, con una nueva capa por encima de ambas. Kiro prioriza la dirección del espacio de trabajo sobre la dirección global cuando entran en conflicto. El orden de Cursor es Team Rules, luego Project Rules y después User Rules, donde todas las reglas aplicables se fusionan y las fuentes anteriores tienen prioridad en caso de conflicto. Por lo tanto, el proyecto sigue superando a lo personal, pero una Team Rule ahora supera a tus reglas de proyecto, y una Team Rule obligatoria no puede ser desactivada por los miembros.