En vivo · registrado desde una práctica en marcha automationdiary.com
Feed RSS 26 · 07 · 2026

Lo que un rm -rf me enseñó sobre mi configuración de Claude Code

Borré toda mi configuración de Claude Code con un solo comando. La reconstrucción se convirtió en una auditoría, y en una plantilla pública de lo que realmente sobrevivió.

Hace tres días escribí rm -rf ~/.claude en mi terminal, deliberadamente, porque creía que estaba limpiando caché. No estaba limpiando caché. Estaba borrando toda la capa operativa de mi Claude Code: el archivo de configuración global, unos sesenta archivos de memoria acumulados, cuatro agentes personalizados, cada slash command que había construido, y un hook que archivaba sesiones en mis notas automáticamente. Meses de conocimiento operativo acumulado, desaparecidos en el tiempo que toma presionar enter.

Quiero ser preciso sobre lo que significa esa frase, porque “conocimiento operativo” suena abstracto hasta que realmente lo pierdes. No era una carpeta de documentos. Era la forma acumulada de cómo le había enseñado a una herramienta a trabajar como yo trabajo: qué tareas se enrutan a dónde, cuáles son mis errores recurrentes, cómo se ve una buena respuesta para el tipo de preguntas que hago cada semana. Nada de eso está en ningún peso de ningún modelo. Todo estaba en ese directorio. Y nunca, ni una vez, lo había respaldado.

Aquí está la parte de la historia que realmente importa, y no es la eliminación. Es lo que sobrevivió.

La capa que me salvó fue la aburrida

Dos cosas me evitaron perderlo todo por completo. Primero, tenía una sesión de Claude Code todavía abierta en otra ventana, y esa sesión había cargado mi índice de memoria en su contexto antes de que ocurriera la eliminación, así que los resúmenes de una línea de esos sesenta archivos de memoria seguían ahí, en la transcripción de una conversación, incluso después de que los archivos mismos ya no existieran. Segundo, y más importante: el conocimiento duradero al que esos archivos de memoria apuntaban nunca había vivido realmente en ~/.claude. Vivía en un vault de notas en texto plano. El directorio de configuración era solo un puntero, un índice, una capa de conveniencia sobre lo real.

Así que la parte inteligente de mi configuración, los archivos de memoria, los agentes personalizados, los slash commands, todo diseñado específicamente para esta herramienta, murió instantánea y completamente. La parte tonta, archivos de texto plano en carpetas, sin formato propietario, sin depender de que ningún software en particular siguiera existiendo, ni siquiera se dio cuenta. Podría haber borrado ~/.claude desde órbita y el vault habría seguido ahí el martes por la mañana, sin inmutarse.

Esa es la asimetría que sigo dando vueltas en la cabeza. La mayoría de las personas que construyen algún tipo de flujo de trabajo con IA, instrucciones personalizadas, sistemas de memoria, configuraciones de agentes, como sea que la herramienta del mes lo llame, versionan su código obsesivamente y nunca se les ocurre versionar la capa que le dice a la IA cómo comportarse. Hemos internalizado “respalda tu código” como un reflejo. Nadie ha internalizado todavía “respalda la capa operativa de tu IA”, porque la herramienta es lo bastante nueva como para que no se sienta como infraestructura. Se siente como configuración. Uno no respalda la configuración.

Excepto que esto no era configuración. Era el resultado acumulado de cada sesión en la que había corregido a la herramienta, le había enseñado una preferencia, o había escrito una regla para no tener que repetirme. La configuración es estática. Esto era sedimentado. Y las cosas sedimentadas son exactamente las que lamentas no haber versionado, porque no puedes regenerarlas a partir de una especificación: tendrías que revivir cada corrección que las produjo.

Una eliminación catastrófica es la mejor auditoría gratuita que vas a tener

Lo otro que no esperaba: reconstruir me obligó a mirar lo que realmente había construido, en lugar de lo que asumía que había construido. La acumulación silenciosa esconde la podredumbre. Un colapso te obliga a leer cada línea.

El archivo de configuración global restaurado pasó de 8.5KB a 6.5KB, y no perdí ni una sola regla en el proceso: solo recorté el relleno alrededor de las reglas que realmente hacían trabajo. Ese archivo importa más de lo que su tamaño sugiere, porque no se carga una sola vez. Se envía con cada sesión que corro. Cada oración de más en él es un impuesto que se paga en cada conversación, para siempre, sin importar si esa sesión necesita la regla o no. El relleno en un archivo así no es un costo único que notas y arreglas. Es un cargo recurrente que nunca ves en ninguna factura, porque la sobrecarga de tokens no aparece como un ítem de línea, aparece como respuestas ligeramente peores, ligeramente más lentas, componiéndose de forma invisible a lo largo de cientos de sesiones hasta que finalmente te sientas a leer el archivo completo de principio a fin, que es exactamente lo que perderlo me obligó a hacer.

Los skills mostraron su propia podredumbre. Tres de ellos hacían referencia a slash commands que ya no existían: enlaces muertos que aparentemente había estado cargando en silencio durante quién sabe cuánto tiempo, sin notarlo nunca porque un skill con una referencia rota no lanza un error, simplemente rinde peor en silencio. Y cuatro agentes nombrados directamente en mi configuración no existían como archivos en ningún lugar del disco. No “difíciles de encontrar”. Ausentes. Referenciados con total confianza, invocados por nombre, y ausentes, y nada se había quejado nunca, porque nada en el sistema lo estaba verificando.

Nada de eso habría salido a la superficie por sí solo. No iba a auditar una configuración que funcionaba. Las cosas que funcionan no se auditan; se dejan en paz hasta que se rompen, y para cuando se rompen normalmente ya olvidaste que había algo que revisar. La eliminación hizo la auditoría por mí, en el peor momento posible, que es el único momento en que una auditoría así realmente sucede.

Lo que reconstruí, y por qué cada pieza es honesta en lugar de ingeniosa

No reconstruí lo mismo. Reconstruí tres protecciones específicas, cada una apuntada a un modo de fallo específico del incidente mismo.

La primera es aburrida de la mejor manera: todo el directorio de configuración ahora está versionado con git, usando un directorio de git separado (detached), un script wrapper de tres líneas que corre git --git-dir=~/.claude/config.git --work-tree=~/.claude en lugar de una carpeta .git normal dentro del directorio. Esa distinción importa más de lo que parece. Una carpeta .git normal dentro de ~/.claude corre el riesgo de que otras herramientas la traten como un repo de proyecto, o peor, de que quede anidada dentro de las reglas de ignorados de algún otro repo y se salte en silencio. El directorio de git separado hace que la carpeta de configuración se vea, para todo lo demás, como una carpeta ordinaria, mientras sigue completamente rastreada. También se refleja en un repo privado de GitHub. Todo el valor de esto es que un rm -rf ahora cuesta un git clone en lugar de costar meses. No construí nada sofisticado. Construí el equivalente a un cinturón de seguridad.

La segunda es un árbol de dispatch de presupuesto viviendo dentro de la configuración global misma: reglas de enrutamiento estrictas que envían tareas de código a una CLI de código barata, preguntas de investigación a una herramienta de búsqueda con grounding, y borradores largos a modelos de nivel gratuito, reservando el plan pagado de Claude específicamente para orquestación y el razonamiento que de verdad es difícil. Junto a eso, cada respuesta ahora termina con un pie de atribución de modelo que nombra exactamente qué modelo hizo qué parte del trabajo, incluida una bandera autorreportada en la rara ocasión en que el modelo pagado hizo algo que las reglas de enrutamiento decían que debía delegarse. El punto no es el ahorro, aunque hay ahorro. El punto es que la disciplina de costos deja de ser algo que infieres de un tablero de facturación mensual tres semanas después, y se convierte en algo legible en cada respuesta individual, en tiempo real, donde de verdad puedes atrapar el desvío antes de que se acumule.

La tercera es un hook de fin de sesión que archiva cualquier sesión sustancial, cinco mensajes o más, en el vault automáticamente: una entrada de registro de una línea más una nota fechada, resumida por un modelo de nivel gratuito, verificada contra los escritos manuales para que nada se duplique, y escrita de forma lo bastante defensiva como para que nunca pueda bloquear ni hacer colapsar la sesión al salir. Esta es la que más me importa, honestamente, porque cierra el bucle real del fallo. La base de conocimiento ahora se alimenta a sí misma. Olvidarme de escribir las cosas deja de ser un modo de fallo, porque el sistema ya no depende de que yo lo recuerde.

El repo, si quieres los archivos reales

Saneé todo el sistema reconstruido y lo publiqué: claude-code-os. Es la plantilla de CLAUDE.md, ocho skills, varios construidos sobre el trabajo de skills de Matt Pocock con licencia MIT, acreditado en el repo, los cuatro agentes con enrutamiento de modelo, el hook de fin de sesión, y el script wrapper del directorio de git separado. No es un producto. Es un registro de lo que reconstruí después de tres días de descubrir, por las malas, qué partes de mi configuración eran estructurales y cuáles eran decoración.

Si algo de esto te suena familiar, un directorio de configuración que nunca has versionado, agentes o comandos que apenas recuerdas haber escrito y no has revisado en meses, probablemente tienes la misma brecha que yo tenía, y probablemente no la encontrarás hasta que algo te obligue a hacer la auditoría. No necesitas el colapso para hacer la auditoría. Puedes simplemente ir a leer el repo claude-code-os y robar las partes que arreglan la brecha que ya tienes.

Plantilla complementaria · de este artículo

El Prospect Intake + Tension Brief

La plantilla exacta de Obsidian y la cadena de prompts completa: la nota de recepción estructurada, el prompt de contraste, y el checklist de provocación. Ponla en tu vault y corre tu próximo prospecto en cuarenta minutos.

$29 Próximamente
Divulgación: Algunos enlaces en este sitio son enlaces de afiliado: si compras a través de ellos puedo ganar una comisión, sin costo adicional para ti. Solo recomiendo herramientas que realmente uso, y te digo cuando algo que probé no pasó el corte. Esa es toda la promesa aquí.

Un flujo de trabajo real, en tu bandeja de entrada, cuando esté listo.

Sin calendario. Sin relleno. Sin patrocinios. Una nueva entrega sale solo cuando vale tus diez minutos: usualmente cada 2 a 4 semanas.

"Solo te enviaré algo que habría escrito incluso si nadie me pagara por hacerlo. El día que eso pare, el newsletter para."

Frecuencia Solo cuando una entrega valga tus diez minutos
NuevoRecién lanzado
2–4 semEntre entregas
0Patrocinios jamás