[{"data":1,"prerenderedAt":13261},["ShallowReactive",2],{"biblioteca-list":3},[4,617,1460,2250,2531,2930,3440,3839,4319,4568,6073,6616,7261,7666,8000,8410,8759,9085,9742,10506,11546],{"id":5,"title":6,"author":7,"body":8,"cover":42,"description":600,"extension":601,"meta":602,"navigation":603,"nivel":604,"path":605,"publishedAt":606,"seo":607,"stem":608,"tags":609,"__hash__":616},"biblioteca\u002Fbiblioteca\u002Fhermes.md","Hermes · el secretario que ordena tu información","Miguel Santa",{"type":9,"value":10,"toc":586},"minimark",[11,29,36,44,49,52,55,58,61,64,78,81,85,88,91,97,103,109,112,115,117,121,124,127,132,135,143,165,178,221,248,276,308,331,333,337,340,343,346,348,352,355,372,374,378,381,388,391,395,398,401,408,411,414,416,420,423,449,456,458,462,485,487,491,494,545,548,550,554,569,573],[12,13,16,20,26],"callout",{"title":14,"type":15},"¿Apurado? Que Claude te haga un resumen rápido.","claude",[17,18,19],"p",{},"Copia el link de esta página y pégalo en Claude. Le pides algo así:",[17,21,22],{},[23,24,25],"strong",{},"\"Resúmeme esta guía y dime qué pieza de Hermes debería configurar primero para mi negocio.\"",[17,27,28],{},"En 30 segundos sabes por dónde empezar.",[30,31],"youtube-cta",{"channel":32,"subtitle":33,"title":34,"url":35},"@Santaia_lab","Te muestro cómo instalo Hermes en Telegram sin abrirlo a internet.","Esta guía va con video en el canal","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=MP8ggjJV7zw",[17,37,38],{},[39,40],"img",{"alt":41,"src":42,"width":43},"Cuadro del Reel: el dueño de un negocio señala un informe con una barra por cada línea de venta","\u002Fbiblioteca\u002Fhermes-portada.webp",420,[45,46,48],"h2",{"id":47},"tu-información-vive-regada","Tu información vive regada",[17,50,51],{},"Tienes chats de clientes en WhatsApp. Grupos del equipo. Correos. Notas de voz. La agenda. Cada cosa en un lado distinto.",[17,53,54],{},"Cuando necesitas un dato, te toca buscarlo a mano. ¿Qué quedó pendiente con el cliente de ayer? ¿Cuántos clientes escribieron hoy? ¿A quién le tocaba enviar la cotización? Nadie lo tiene a la mano.",[17,56,57],{},"Hermes es la pieza que ordena eso. Es un agente de IA que queda prendido en un computador. Recibe lo que le llega, lo guarda en su cajón y te lo entrega cuando lo necesitas.",[17,59,60],{},"Piénsalo como un secretario que trabaja en un computador que nunca se apaga. Tú le escribes desde el celular y el mensaje le llega aunque estés en el parque.",[17,62,63],{},"Hermes no lo hicimos nosotros. Es un programa gratis y abierto de una empresa que se llama Nous Research. Aquí te comparto cómo lo configuramos y qué aprendimos usándolo todos los días.",[12,65,69],{"title":66,"type":67,"icon":68},"¿Y en qué se diferencia de un chat con Claude?","info","lucide:message-circle",[17,70,71,72,77],{},"Un chat con Claude se termina cuando cierras la ventana. Hermes sigue prendido: escucha, guarda y hace tareas a una hora fija aunque tú no estés. Si quieres entender qué es un agente por dentro, lee ",[73,74,76],"a",{"href":75},"\u002Fbiblioteca\u002Fasi-piensa-un-agente","Así piensa un agente",".",[79,80],"hr",{},[45,82,84],{"id":83},"por-qué-hermes-es-el-que-maneja-la-información","Por qué Hermes es el que maneja la información",[86,87],"diagram-hermes-informacion",{},[17,89,90],{},"Hermes hace tres cosas con todo lo que le llega.",[17,92,93,96],{},[23,94,95],{},"Recibe."," Mensajes de los grupos, notas de voz, correo, la agenda.",[17,98,99,102],{},[23,100,101],{},"Ordena."," Cada grupo tiene su propio cajón, como las cartucheras de cada niño del salón. Lo de un cajón no se mezcla con lo de otro. El grupo de tu casa no ve lo del grupo de un cliente.",[17,104,105,108],{},[23,106,107],{},"Entrega."," Un informe al final del día, un recordatorio en cada grupo, un aviso si algo se cae. Y cuando preguntas algo, el dato sale del cajón correcto.",[17,110,111],{},"En cada cajón hay un cuaderno de tareas. Lo que alguien pide queda escrito con la fecha y con el nombre de quien lo tiene que hacer. A las 7 de la noche, Hermes manda esa lista al grupo.",[17,113,114],{},"Cuando nadie lo nombra, no habla. Sigue anotando. Es como el niño que en clase no interrumpe pero copia todo en su cuaderno.",[79,116],{},[45,118,120],{"id":119},"las-7-piezas-que-se-configuran","Las 7 piezas que se configuran",[122,123],"diagram-hermes-piezas",{},[17,125,126],{},"No necesitas saber programar. Hermes se instala con un solo comando, y Claude Code te acompaña en cada paso. Le escribes algo así:",[17,128,129],{},[23,130,131],{},"\"Acompáñame a instalar Hermes en mi computador, con Telegram, sin abrirlo a internet y con la versión congelada.\"",[17,133,134],{},"Y vas pieza por pieza, en este orden.",[12,136,140],{"title":137,"type":138,"icon":139},"Empieza en tu propio computador","warning","lucide:laptop",[17,141,142],{},"Para tu primer Hermes no necesitas un servidor. Lo instalas en tu computador y lo dejas prendido. El servidor en la nube, que es un computador alquilado que no se apaga, viene después, cuando ya te sientas cómodo.",[144,145,148,155,162],"step-card",{"number":146,"title":147},"1","La puerta: por dónde le escribes",[17,149,150,151,154],{},"La puerta es el chat por donde hablas con Hermes. Para empezar, usa ",[23,152,153],{},"Telegram",": es gratis, es oficial y no hay riesgo de que te bloqueen el número.",[17,156,157,158,77],{},"En Telegram creas un bot con BotFather, la cuenta oficial de Telegram para crear bots. Te entrega una llave. Esa llave es como la llave de tu casa: no se la muestras a nadie y la guardas en la caja fuerte. Aquí te explico cómo: ",[73,159,161],{"href":160},"\u002Fbiblioteca\u002Fguarda-tus-tokens-sin-filtrarlos","Guarda tus tokens sin filtrarlos",[17,163,164],{},"¿Y WhatsApp? También se puede. Más abajo te cuento cómo lo usamos y qué riesgos tiene.",[144,166,169,172,175],{"number":167,"title":168},"2","El portero: quién puede entrar",[17,170,171],{},"En la puerta va un portero con una lista de nombres. Si tu nombre no está en la lista, tu mensaje no pasa.",[17,173,174],{},"Pon la lista antes de compartir el bot con alguien. Primero tú. Después, una por una, las personas de tu equipo.",[17,176,177],{},"Y una regla desde el primer minuto: Hermes no queda abierto a internet. Solo escucha desde adentro de tu computador. Nadie de afuera le puede tocar la puerta.",[144,179,182,185,192,195,198,211,218],{"number":180,"title":181},"3","El cerebro: el modelo de IA, con tarjeta con tope",[17,183,184],{},"Hermes no piensa por su cuenta. Le pasa cada mensaje a un modelo de IA, como Claude, que es el que escribe la respuesta. Cada respuesta cuesta unos centavos.",[17,186,187,188,191],{},"Por eso, antes de conectarlo, le prestas una ",[23,189,190],{},"tarjeta con tope",". OpenRouter, por ejemplo, es como una tienda de modelos: con una sola llave escoges entre cientos y le pones un límite de 10 a 20 dólares al mes. Si llega al tope, deja de responder y te enteras. Así no se gasta la plata de la alcancía en un día.",[17,193,194],{},"Nos pasó: con el modelo más grande, un agente prendido gastó 50 dólares en dos días y medio. El tope lo frenó.",[17,196,197],{},"La regla que usamos es una escalera de tres:",[199,200,201,205,208],"ul",{},[202,203,204],"li",{},"Un modelo barato para el día a día: conversar, anotar, recordar.",[202,206,207],{},"Uno intermedio cuando hay que escribir código.",[202,209,210],{},"El grande solo cuando de verdad vale la pena.",[17,212,213,214,217],{},"Y un truco: ",[23,215,216],{},"Hermes conversa, Claude Code ejecuta."," Hermes, con el modelo barato, escribe la nota del encargo. Claude Code, que viene en el plan Pro de Claude de 20 dólares al mes, hace el trabajo pesado. Es como dictarle a un amigo cómo armar el castillo de bloques mientras él lo arma.",[17,219,220],{},"En OpenRouter deja apagada la casilla que te da un descuento a cambio de guardar tus chats.",[144,222,225,228,231,242,245],{"number":223,"title":224},"4","La libreta de reglas: cómo habla y qué calla",[17,226,227],{},"Hermes tiene una libreta donde está escrito cómo hablar, qué contestar y qué nunca decir. Se llama SOUL, que en inglés quiere decir alma.",[17,229,230],{},"Si una regla no está escrita, Hermes no la cumple. Hay que escribírsela. Por ejemplo:",[199,232,233,236,239],{},[202,234,235],{},"\"Hablo siempre en español.\"",[202,237,238],{},"\"En los grupos solo hablo si me nombran.\"",[202,240,241],{},"\"Si un cliente pregunta por precios, respondo 'Anotado' y le aviso al dueño.\"",[17,243,244],{},"Además, cada grupo puede tener sus propias reglas. El grupo de la casa no se maneja igual que el grupo de un cliente. Así cada grupo es su propio mundo, con su cajón y su cuaderno de pendientes.",[17,246,247],{},"Algo que aprendimos: cuando Hermes habla de más, casi nunca es que falte la regla de silencio. Es que otra regla le gana. Revisa que tus reglas no se peleen entre ellas.",[144,249,252,255,258,266,269],{"number":250,"title":251},"5","El baúl: lo que recuerda",[17,253,254],{},"Recién instalado, Hermes está en blanco. Solo recuerda lo que se guarda.",[17,256,257],{},"Tiene dos memorias:",[199,259,260,263],{},[202,261,262],{},"La mesa de trabajo: la conversación de hoy. Se llena y se limpia.",[202,264,265],{},"El baúl: lo que se guarda para siempre. Quién eres, cómo te gusta que te hablen, qué herramientas usas.",[17,267,268],{},"El baúl son archivos de texto que puedes abrir y corregir como cualquier nota. Escríbelo bien el primer día, porque lo que pones al inicio manda. Una vez dejamos un cargo viejo en el baúl y Hermes lo repetía en todas las respuestas.",[17,270,271,272,77],{},"Si ya tienes un cerebro de notas, Hermes lo puede leer. Nosotros dejamos que lea todo y que escriba solo en el buzón de entrada. Así está armado el nuestro: ",[73,273,275],{"href":274},"\u002Fbiblioteca\u002Fjarvis-tu-cerebro-local","JARVIS · tu cerebro local",[144,277,280,283,291,294,305],{"number":278,"title":279},"6","El reloj: tareas que corren solas",[17,281,282],{},"Hay cosas que Hermes hace sin que se las pidas. Son de dos tipos:",[199,284,285,288],{},[202,286,287],{},"Por horario: \"todos los días a las 7 de la noche, manda los pendientes al grupo\". Escribe la hora de tu país, porque el computador puede tener otra.",[202,289,290],{},"Por evento: \"cada vez que llegue un correo nuevo, avísame\". Es como un guardia que actúa cuando pasa algo.",[17,292,293],{},"Estas corren en el nuestro:",[199,295,296,299,302],{},[202,297,298],{},"7 p.m.: los pendientes de cada grupo, en su grupo.",[202,300,301],{},"9 p.m.: el informe del día para el dueño de un negocio.",[202,303,304],{},"Cada 5 minutos: revisar que las líneas sigan conectadas y avisar si una se cae.",[17,306,307],{},"Para que todo esto funcione, Hermes tiene que volver a prenderse solo cuando el computador se reinicia. Pídeselo a Claude Code en la instalación. Si no, apagas el computador y Hermes no vuelve.",[144,309,312,315,318,321,324],{"number":310,"title":311},"7","El recetario: skills y la caja negra",[17,313,314],{},"Una skill es una receta: qué oficio es, cuándo usarla y los pasos. Hermes escribe sus propias recetas cuando repite algo o se equivoca varias veces.",[17,316,317],{},"Un ejemplo real: después de tres errores seguidos en el programa de un cliente, Hermes escribió una receta de revisión con una regla: \"si la revisión falla, no se publica\".",[17,319,320],{},"Ojo: eso es una caja negra. Hermes decide por su cuenta qué guarda y por qué. Por eso revísale la tarea, como un papá revisa el cuaderno antes de firmarlo. Sobre todo si trabaja con clientes.",[17,322,323],{},"Nuestra regla: una vez es nota, dos veces es candidata, tres veces es receta. Y no instales recetas de desconocidos sin leerlas. En la tienda de recetas de otro agente encontraron programas dañinos en cerca de 1 de cada 8.",[17,325,326,327,77],{},"Si quieres escribir tu primera receta a mano: ",[73,328,330],{"href":329},"\u002Fbiblioteca\u002Ftu-primera-skill-desde-cero","Tu primera skill desde cero",[79,332],{},[45,334,336],{"id":335},"que-no-la-embarre-las-cinco-capas","Que no la embarre: las cinco capas",[17,338,339],{},"Un agente prendido todo el día es como una casa con la puerta hacia la calle. Por eso lo cuidamos con cinco capas.",[341,342],"diagram-hermes-cinco-capas",{},[17,344,345],{},"Y tiene un freno de emergencia: con una orden, Hermes se pausa. Paran las tareas programadas y las respuestas, hasta que lo vuelvas a encender.",[79,347],{},[45,349,351],{"id":350},"y-whatsapp","¿Y WhatsApp?",[17,353,354],{},"Se puede, y así lo usamos con un negocio de cinco ciudades. Pero tiene riesgos que prefiero decirte de frente:",[199,356,357,360,363,366,369],{},[202,358,359],{},"La conexión de Hermes con WhatsApp no es la oficial de Meta. Funciona como un WhatsApp Web más, conectado con un código QR. WhatsApp puede restringir el número.",[202,361,362],{},"Por eso, número dedicado: un chip solo para Hermes. Nunca tu número personal.",[202,364,365],{},"Nada de mensajes iguales en lote ni a gente que no te escribió primero. Ese es el patrón que dispara un bloqueo.",[202,367,368],{},"La línea se desconecta si alguien la saca desde el celular o si se actualiza WhatsApp. Pon un vigilante que te avise.",[202,370,371],{},"Existe la conexión oficial de Meta, que se llama API de WhatsApp Business. Es más segura, pero tiene reglas y costos: pasadas 24 horas sin que el cliente escriba, solo puedes mandar plantillas aprobadas, y se pagan.",[79,373],{},[45,375,377],{"id":376},"ejemplo-real-un-negocio-de-suplementos-naturales","Ejemplo real: un negocio de suplementos naturales",[17,379,380],{},"Un negocio de suplementos naturales vende por WhatsApp en cinco ciudades. Cada ciudad tiene su línea. A cada línea le conectamos su propio Hermes, en un servidor en la nube, con su propio cajón. Una ciudad no ve lo de otra.",[17,382,383,384,387],{},"La decisión del dueño fue clara: ",[23,385,386],{},"solo escuchar",". Durante el estudio, Hermes guardó y ordenó cada chat y no le contestó a ningún cliente.",[17,389,390],{},"Con ese archivo ordenado, Claude Code hizo las cuentas. Esto salió:",[392,393],"stat-grid",{":items":394},"[{\"value\":\"193\",\"label\":\"chats sin respuesta\",\"caption\":\"en una ciudad, nadie del equipo contestó\",\"accent\":true},{\"value\":\"12 h\",\"label\":\"espera de noche\",\"caption\":\"para quien escribía fuera de horario\"},{\"value\":\"7 de 10\",\"label\":\"se quedan en la lista de precios\",\"caption\":\"reciben precios y no dan el siguiente paso\"},{\"value\":\"59%\",\"label\":\"compran con pregunta de cierre\",\"caption\":\"contra 5,7% sin ella\",\"accent\":true},{\"value\":\"6 de 100\",\"label\":\"clientes fríos con seguimiento\",\"caption\":\"a los demás nadie les volvió a escribir\"},{\"value\":\"+53%\",\"label\":\"más ventas en una ciudad\",\"caption\":\"con apenas 8% más chats que la otra\"}]",[17,396,397],{},"La pregunta de cierre era algo tan simple como \"¿para qué dirección sería?\".",[17,399,400],{},"No cambiamos a ningún vendedor. Lo que cambió es que ahora el dueño ve qué pasa en cada línea. Cada noche a las 9 le llega un informe con las cifras del día, sin teléfonos ni nombres de clientes.",[12,402,405],{"title":403,"type":138,"icon":404},"Asociación no es causa","lucide:scale",[17,406,407],{},"Las diferencias entre chats con y sin pregunta de cierre son asociación, no causa. Te dicen dónde mirar. Para saber cuánto vende de más una pregunta hay que probarla: la mitad de los chats con ella y la otra mitad sin ella.",[17,409,410],{},"Hoy, en una de las ciudades, el dueño pidió un paso más: si nadie de la línea contesta en 5 minutos, Hermes atiende. Se presenta como asistente virtual, nunca como persona. Solo usa respuestas aprobadas y el inventario del día. No recomienda dosis ni promete efectos en la salud. Y si alguien del equipo empieza a contestar, Hermes se calla.",[17,412,413],{},"El camino que recomendamos va por pasos: primero solo escuchar, después borradores que aprueba la vendedora y al final respuestas automáticas con límites. En esa ciudad el dueño decidió saltarse el paso de los borradores.",[79,415],{},[45,417,419],{"id":418},"lo-que-esto-no-hace","Lo que esto no hace",[17,421,422],{},"Prefiero que lo sepas antes de montarlo.",[199,424,425,428,431,434,437,440,443,446],{},[202,426,427],{},"No es un vendedor. Leer miles de chats no lo vuelve vendedor. Hay que escribirle las reglas, las fichas de producto y las respuestas aprobadas.",[202,429,430],{},"Puede inventar. Un modelo barato nos cruzó números entre personas y se inventó un formulario. Escoge el modelo por cómo se comporta, no solo por el precio.",[202,432,433],{},"No cuida la privacidad por su cuenta. Todo lo que lee lo manda al proveedor del modelo. Conéctale solo lo necesario, cada grupo en su cajón y sin teléfonos en los informes.",[202,435,436],{},"No se pone el tope de gasto solo. Ponlo tú antes de conectar la llave, y sin recarga automática.",[202,438,439],{},"No es una herramienta madura. Sale versión nueva cada una a tres semanas. Congela tu versión y actualiza solo cuando tú decidas.",[202,441,442],{},"No tiene niveles de permiso. Quien pasa al portero entra con todos los permisos. Cuida quién está en la lista.",[202,444,445],{},"La suscripción tiene letra pequeña. Los términos de Anthropic limitan el uso de la suscripción de Claude en agentes de terceros. Para empezar, lo seguro es una llave con tope.",[202,447,448],{},"WhatsApp por la vía no oficial puede bloquear tu número. Número dedicado, siempre.",[12,450,453],{"title":451,"type":452},"Patrón aplicado · un secretario que ordena, un obrero que construye","tip",[17,454,455],{},"La tesis de santa-ia es que orquestar pesa más que ejecutar. Hermes recibe, ordena y entrega la información. Claude Code hace el trabajo pesado cuando hace falta. Tú decides con el dato a la mano.",[79,457],{},[45,459,461],{"id":460},"lo-que-tienes-que-recordar","Lo que tienes que recordar",[199,463,464,467,470,473,476,479,482],{},[202,465,466],{},"Hermes es como un secretario en un computador que nunca se apaga. Recibe, ordena en cajones y entrega.",[202,468,469],{},"Se configura en 7 piezas: puerta, portero, cerebro, libreta de reglas, baúl, reloj y recetario.",[202,471,472],{},"Empieza con Telegram, en tu propio computador y sin abrirlo a internet.",[202,474,475],{},"Tarjeta con tope antes de conectar el cerebro.",[202,477,478],{},"Si una regla no está escrita, no se cumple.",[202,480,481],{},"Revisa las recetas que Hermes escribe por su cuenta.",[202,483,484],{},"Con WhatsApp: número dedicado y nada de mensajes en lote.",[79,486],{},[45,488,490],{"id":489},"la-serie-completa-en-video","La serie completa en video",[17,492,493],{},"Seis videos del canal, en el orden en que te recomiendo verlos:",[495,496,497,506,514,521,529,537],"ol",{},[202,498,499,505],{},[73,500,504],{"href":501,"rel":502},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=nYcFLV4zo3Q",[503],"nofollow","Hermes vs OpenClaw",": dos agentes que siguen prendidos aunque cierres el computador, y por qué empezamos con Hermes.",[202,507,508,513],{},[73,509,512],{"href":510,"rel":511},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=QhPKcooQ9BM",[503],"Todo lo que mi agente hace por mí sin que yo lo toque",": capturar ideas, consultar datos del negocio y recibir encargos del equipo.",[202,515,516,520],{},[73,517,519],{"href":35,"rel":518},[503],"Hermes en Telegram",": la instalación paso a paso, sin exponerlo a internet.",[202,522,523,528],{},[73,524,527],{"href":525,"rel":526},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3wlFzesEjgU",[503],"La calculadora de costos",": el mismo agente puede costar 270 o 6 dólares al mes según el cerebro.",[202,530,531,536],{},[73,532,535],{"href":533,"rel":534},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=RjjzAaGxuO0",[503],"Así le enseño a Hermes a recordarme",": la mesa de trabajo, el baúl y cómo se conecta con tu cerebro de notas.",[202,538,539,544],{},[73,540,543],{"href":541,"rel":542},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=mPDdXHURfnQ",[503],"La caja negra de Hermes",": las recetas que escribe después de equivocarse y cómo revisarlas.",[17,546,547],{},"En los videos de agosto el cerebro era DeepSeek. Hoy usamos Claude. La regla del tope sigue igual.",[79,549],{},[45,551,553],{"id":552},"quieres-que-te-lo-montemos","¿Quieres que te lo montemos?",[12,555,559,562],{"title":556,"type":557,"icon":558},"Lo dejamos corriendo en tu negocio","success","lucide:calendar-check",[17,560,561],{},"Si quieres un Hermes que ordene la información de tu negocio y no quieres instalarlo tú, lo montamos contigo: la puerta, el portero, el tope, las reglas de cada grupo y el informe diario.",[17,563,564,568],{},[73,565,567],{"href":566},"\u002Fagenda","Agenda una llamada"," y lo revisamos juntos.",[30,570],{"channel":32,"subtitle":571,"title":572,"url":541},"La caja negra de Hermes: qué guarda después de equivocarse y cómo lo reviso.","Mira cómo escribe sus propias recetas",[17,574,575,576,580,581,77],{},"Si te quedó alguna duda concreta: comenta ",[577,578,579],"code",{},"CLAUDE"," en el Reel o escríbeme por DM en ",[73,582,585],{"href":583,"rel":584},"https:\u002F\u002Finstagram.com\u002Fsantaia.lab",[503],"@santaia.lab",{"title":587,"searchDepth":588,"depth":588,"links":589},"",2,[590,591,592,593,594,595,596,597,598,599],{"id":47,"depth":588,"text":48},{"id":83,"depth":588,"text":84},{"id":119,"depth":588,"text":120},{"id":335,"depth":588,"text":336},{"id":350,"depth":588,"text":351},{"id":376,"depth":588,"text":377},{"id":418,"depth":588,"text":419},{"id":460,"depth":588,"text":461},{"id":489,"depth":588,"text":490},{"id":552,"depth":588,"text":553},"Hermes es un agente que queda prendido, lee tus chats y guarda cada cosa en su cajón. Así se configura, pieza por pieza, explicado sin tecnicismos.","md",{},true,"principiante","\u002Fbiblioteca\u002Fhermes","2026-10-07",{"title":6,"description":600},"biblioteca\u002Fhermes",[610,611,612,613,614,615],"hermes","agentes","telegram","whatsapp","memoria","automatizacion","LWwW96Q7fAhqt7WknhofrgOG5ZY1mCkMfsZ99Z3VagE",{"id":618,"title":619,"author":7,"body":620,"cover":1448,"description":1449,"extension":601,"meta":1450,"navigation":603,"nivel":1451,"path":1452,"publishedAt":606,"seo":1453,"stem":1454,"tags":1455,"__hash__":1459},"biblioteca\u002Fbiblioteca\u002Fmods-de-claude-code.md","Mods de Claude Code · cómo se crean y cómo se instalan",{"type":9,"value":621,"toc":1426},[622,634,638,641,648,651,666,668,672,675,678,684,690,696,734,746,748,752,755,809,814,824,834,841,843,847,850,889,896,898,902,905,909,919,932,938,952,966,972,989,993,1012,1026,1032,1041,1051,1060,1080,1089,1104,1117,1125,1132,1136,1139,1141,1145,1152,1161,1168,1172,1185,1236,1254,1256,1260,1291,1298,1302,1337,1340,1355,1357,1359,1402,1404,1408,1418],[12,623,624,626,631],{"title":14,"type":15},[17,625,19],{},[17,627,628],{},[23,629,630],{},"\"Resúmeme esta guía y dime qué mod me serviría en mi forma de trabajar con Claude Code.\"",[17,632,633],{},"En 30 segundos sabes si te sirve y por dónde empezar.",[45,635,637],{"id":636},"claude-code-ahora-se-deja-cambiar-por-dentro","Claude Code ahora se deja cambiar por dentro",[17,639,640],{},"Hasta hace poco, todo lo que le agregabas a Claude Code trabajaba desde afuera. Una skill le da instrucciones. Un servidor MCP le da herramientas. Un hook de configuración corre un script cuando pasa algo. Ninguno puede tocar lo que ves en la pantalla.",[17,642,643,644,647],{},"Los mods sí. Un mod es código que corre ",[23,645,646],{},"dentro"," de Claude Code. Puede dibujar un panel al lado de la conversación, poner una franja arriba de donde escribes, cambiar cómo se ve el spinner o frenar un comando peligroso antes de que corra.",[17,649,650],{},"Todo lo que sigue sale de la documentación oficial de Claude Code, en la sección de mods. La revisé el 7 de octubre de 2026.",[12,652,655],{"title":653,"type":67,"icon":654},"Lo que necesitas","lucide:badge-check",[17,656,657,658,661,662,665],{},"Claude Code en la versión ",[23,659,660],{},"2.1.287"," o una posterior. Para ver la tuya, escribe ",[577,663,664],{},"claude --version"," en la terminal. Si es más vieja, actualiza Claude Code. Los mods vienen encendidos por defecto.",[79,667],{},[45,669,671],{"id":670},"qué-es-un-mod","Qué es un mod",[17,673,674],{},"Un mod es un plugin de Claude Code que trae funciones escritas en JavaScript o TypeScript. Cada función está pendiente de un evento: Claude va a usar una herramienta, envías un prompt, se dibuja una parte de la pantalla. Cuando el evento pasa, Claude Code llama la función y ella decide qué hacer.",[17,676,677],{},"Tiene tres caminos:",[144,679,681],{"number":146,"title":680},"Observar",[17,682,683],{},"Mira lo que pasa, lo anota y deja que todo siga igual. Por ejemplo, contar cuántas herramientas usó Claude en la sesión.",[144,685,687],{"number":167,"title":686},"Reescribir",[17,688,689],{},"Cambia el evento antes de que siga. Por ejemplo, agregarle un texto al spinner mientras Claude trabaja.",[144,691,693],{"number":180,"title":692},"Responder",[17,694,695],{},"Atiende el evento ella misma y el comportamiento normal no corre. Por ejemplo, rechazar un comando que borra carpetas completas.",[697,698,703,720],"compare-grid",{"bad-label":699,"bad-title":700,"good-label":701,"good-title":702},"DESDE AFUERA","Skill, MCP y hooks de configuración","DESDE ADENTRO","Mod",[704,705,706],"template",{"v-slot:bad":587},[199,707,708,711,714,717],{},[202,709,710],{},"La skill es un archivo de instrucciones que Claude lee",[202,712,713],{},"El servidor MCP le da herramientas nuevas a Claude",[202,715,716],{},"El hook de configuración corre un script cuando pasa algo",[202,718,719],{},"Ninguno dibuja nada en la pantalla",[704,721,722,725,728,731],{"v-slot:good":587},[202,723,724],{},"Corre dentro del mismo Claude Code",[202,726,727],{},"Cambia herramientas, prompts, comandos y turnos",[202,729,730],{},"Dibuja paneles, franjas, botones y campos de texto",[202,732,733],{},"Puede rehacer partes de la pantalla de Claude Code",[12,735,738,741],{"title":736,"type":452,"icon":737},"¿Mod o skill? La regla de Anthropic","lucide:signpost",[17,739,740],{},"Si siempre le repites las mismas instrucciones a Claude, eso es una skill. Si Claude necesita llegar a un sistema de afuera, eso es un MCP. Si quieres bloquear o registrar algo con un script que ya tienes, eso es un hook de configuración. El mod es para cuando quieres un panel, una franja arriba del prompt, un comando propio o cambiar un evento.",[17,742,743,744,77],{},"Si ya tienes clara la skill, la guía está en ",[73,745,330],{"href":329},[79,747],{},[45,749,751],{"id":750},"qué-puede-hacer-un-mod","Qué puede hacer un mod",[17,753,754],{},"La documentación lista estas capacidades:",[199,756,757,763,769,775,785,791,797,803],{},[202,758,759,762],{},[23,760,761],{},"Dibujar una interfaz propia."," Un panel al lado de la conversación o una franja arriba del prompt, con pestañas, botones y campos de texto.",[202,764,765,768],{},[23,766,767],{},"Rehacer partes de Claude Code."," La fila de una herramienta, el spinner, los mensajes o el diálogo donde Claude te hace preguntas.",[202,770,771,774],{},[23,772,773],{},"Meterse en una herramienta o en una petición."," Frenarla para preguntarte algo, responderla sin correr la herramienta o mandar esa petición a otro modelo.",[202,776,777,780,781,784],{},[23,778,779],{},"Crear comandos propios."," Un ",[577,782,783],{},"\u002Fcomando"," que corre tu código al instante, sin turno de Claude, incluso mientras Claude está trabajando.",[202,786,787,790],{},[23,788,789],{},"Compartir datos entre sus partes."," Una función cuenta y otra muestra el conteo en pantalla.",[202,792,793,796],{},[23,794,795],{},"Llamar otro modelo."," Mandarle una tarea a un modelo distinto, por fuera de la conversación.",[202,798,799,802],{},[23,800,801],{},"Mandar mensajes a otra sesión."," A otra de tus sesiones de Claude Code o a un subagente.",[202,804,805,808],{},[23,806,807],{},"Trabajar en segundo plano y guardar datos"," entre una sesión y otra.",[810,811,813],"h3",{"id":812},"tres-usos-que-se-entienden-rápido","Tres usos que se entienden rápido",[144,815,818,821],{"number":816,"title":817},"A","Comunicar dos sesiones abiertas",[17,819,820],{},"Tienes dos sesiones de Claude Code trabajando. Un mod puede crear un comando que le pregunta a la otra cómo va y te muestra si el mensaje llegó. Es la misma entrega que usa Claude cuando le habla a un subagente.",[17,822,823],{},"Un cuidado que pide Anthropic: el nombre de quien envía lo escribe quien envía. No tomes decisiones con base en ese nombre.",[144,825,828,831],{"number":826,"title":827},"B","Ver qué hacen tus agentes sin preguntarles",[17,829,830],{},"Cada vez que Claude usa una herramienta, el mod se entera. También las herramientas de los subagentes y las de MCP. Con eso puede armar un panel con lo que está haciendo cada uno, o una franja con qué tan lleno va tu contexto.",[17,832,833],{},"Para avisos cortos hay tres lugares: una línea fija debajo del prompt, una notificación arriba a la derecha que se va sola y una línea tenue en la conversación que Claude no lee.",[144,835,838],{"number":836,"title":837},"C","Mandar lo fácil a un modelo más barato",[17,839,840],{},"Un mod puede mandarle una tarea simple a Haiku, por fuera de la conversación. Por ejemplo, clasificar un mensaje en bug, función nueva o pregunta. Ojo: esas llamadas se cobran de tu plan o de tu API key.",[79,842],{},[45,844,846],{"id":845},"dónde-funciona","Dónde funciona",[17,848,849],{},"Un mod corre en todas las sesiones que cargan el plugin. Lo que dibuja se ve en menos lugares.",[199,851,852,861,867,877,883],{},[202,853,854,860],{},[23,855,856,857,859],{},"Terminal (",[577,858,15],{},")",", también en la terminal del editor y en el plugin de JetBrains: corre y se ve todo.",[202,862,863,866],{},[23,864,865],{},"Pestaña Code de Claude Desktop:"," corre y se ve, salvo algunos elementos que son solo para la terminal.",[202,868,869,876],{},[23,870,871,872,875],{},"Extensión de VS Code, ",[577,873,874],{},"claude -p"," y el Agent SDK:"," corre, pero no se dibuja nada.",[202,878,879,882],{},[23,880,881],{},"Remote Control desde claude.ai o el celular:"," corre en tu máquina y se ve en la terminal de tu máquina.",[202,884,885,888],{},[23,886,887],{},"Sesiones en la nube:"," corre si el plugin llega a esa sesión, pero no se dibuja nada.",[12,890,893],{"title":891,"type":452,"icon":892},"¿Por dónde empiezo? Te ahorro la decisión","lucide:mouse-pointer-click",[17,894,895],{},"En la terminal. Es donde todo lo que el mod dibuja se ve completo.",[79,897],{},[45,899,901],{"id":900},"cómo-se-crea-un-mod","Cómo se crea un mod",[17,903,904],{},"Hay dos caminos. El primero no te pide saber programar.",[810,906,908],{"id":907},"camino-1-se-lo-pides-a-claude","Camino 1 · Se lo pides a Claude",[17,910,911,912,915,916,77],{},"Claude Code trae una skill integrada que se llama ",[577,913,914],{},"plugin-authoring",". Le dice a Claude dónde escribir el mod, qué eventos tiene tu versión y cómo se carga. Claude la usa sola cuando le pides un mod, o la cargas tú con ",[577,917,918],{},"\u002Fplugin-authoring",[144,920,922],{"number":146,"title":921},"Describe el mod con tus palabras",[17,923,924,925,928,929,77],{},"Algo así: ",[23,926,927],{},"\"Haz un mod que muestre la rama de git arriba del prompt.\""," Claude lo escribe en una carpeta de la sesión, dentro de ",[577,930,931],{},"~\u002F.claude\u002Fdev-mods\u002F",[144,933,935],{"number":167,"title":934},"Aprueba cada archivo",[17,936,937],{},"Como esa carpeta está protegida, Claude Code te pregunta antes de crear cada archivo. Los apruebas uno por uno.",[144,939,941],{"number":180,"title":940},"Escoge Enable for this session",[17,942,943,944,947,948,951],{},"Con el primer archivo te pregunta si quieres recarga en caliente. Si escoges ",[23,945,946],{},"Enable for this session",", el mod carga al terminar el turno y se recarga cada vez que Claude lo cambia. Si escoges ",[23,949,950],{},"Not now",", no carga por ahora y queda para la próxima vez que abras esa sesión.",[144,953,955],{"number":223,"title":954},"Revisa que cargó",[17,956,957,958,961,962,965],{},"Escribe ",[577,959,960],{},"\u002Fplugin"," y con Tab pasa a la pestaña ",[23,963,964],{},"Installed",". Ahí aparece tu mod y ahí mismo lo apagas si quieres.",[144,967,969],{"number":250,"title":968},"Corrige por rondas",[17,970,971],{},"Si no hace lo que querías, le dices qué cambiar. El mod se recarga al final de cada turno que lo toca.",[12,973,976],{"title":974,"type":138,"icon":975},"Si te gustó, sácalo de esa carpeta","lucide:folder-input",[17,977,978,979,981,982,985,986,77],{},"Lo que Claude escribe en ",[577,980,931],{}," vive con la sesión y se borra cuando la sesión pasa el tiempo de limpieza de Claude Code. Para usarlo siempre, copia la carpeta a un lugar tuyo, por ejemplo ",[577,983,984],{},"~\u002Fmods\u002Fgit-branch",", y abre Claude Code con ",[577,987,988],{},"claude --plugin-dir ~\u002Fmods\u002Fgit-branch",[810,990,992],{"id":991},"camino-2-lo-escribes-tú-tres-archivos","Camino 2 · Lo escribes tú: tres archivos",[17,994,995,996,999,1000,1003,1004,1007,1008,1011],{},"Este es el ejemplo de la documentación. El mod se llama ",[577,997,998],{},"first-mod",", cuenta las herramientas que usa Claude, muestra el conteo al lado del spinner y crea el comando ",[577,1001,1002],{},"\u002Ftally",". No necesitas Node.js ni compilar nada: Claude Code lee los archivos ",[577,1005,1006],{},".js"," y ",[577,1009,1010],{},".ts"," directo.",[1013,1014,1017],"terminal",{"title":1015,"user":1016},"estructura del mod","miguel",[1018,1019,1024],"pre",{"className":1020,"code":1022,"language":1023},[1021],"language-text","first-mod\u002F\n├── .claude-plugin\u002F\n│   └── plugin.json\n└── hooks\u002F\n    ├── hooks.json\n    └── register.js\n","text",[577,1025,1022],{"__ignoreMap":587},[144,1027,1029],{"number":146,"title":1028},"plugin.json · la ficha del plugin",[17,1030,1031],{},"Nombre, versión, descripción y autor. Es la ficha de cualquier plugin de Claude Code.",[1013,1033,1035],{"title":1034,"user":1016},"first-mod\u002F.claude-plugin\u002Fplugin.json",[1018,1036,1039],{"className":1037,"code":1038,"language":1023},[1021],"{\n  \"name\": \"first-mod\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Counts Claude's tool calls, shows the count beside the spinner, and adds a \u002Ftally command\",\n  \"author\": { \"name\": \"Your Name\" }\n}\n",[577,1040,1038],{"__ignoreMap":587},[144,1042,1044],{"number":167,"title":1043},"hooks.json · dónde está tu código",[17,1045,1046,1047,1050],{},"La llave ",[577,1048,1049],{},"modules"," le dice a Claude Code dónde está el código. Tener esa llave es lo que vuelve el plugin un mod.",[1013,1052,1054],{"title":1053,"user":1016},"first-mod\u002Fhooks\u002Fhooks.json",[1018,1055,1058],{"className":1056,"code":1057,"language":1023},[1021],"{\n  \"description\": \"The first-mod hooks module\",\n  \"modules\": [\".\u002Fregister.js\"]\n}\n",[577,1059,1057],{"__ignoreMap":587},[144,1061,1063],{"number":180,"title":1062},"register.js · lo que hace el mod",[17,1064,1065,1066,1069,1070,1073,1074,1076,1077,1079],{},"Claude Code llama la función ",[577,1067,1068],{},"register"," una vez, cuando el mod carga. Cada ",[577,1071,1072],{},"on(...)"," deja una función pendiente de un evento. Aquí son cuatro: al iniciar la sesión crea ",[577,1075,1002],{},", con cada herramienta suma uno, cuando escribes ",[577,1078,1002],{}," responde el conteo y cuando se dibuja el spinner le agrega el número.",[1013,1081,1083],{"title":1082,"user":1016},"first-mod\u002Fhooks\u002Fregister.js",[1018,1084,1087],{"className":1085,"code":1086,"language":1023},[1021],"let calls = 0\n\nexport function register(on) {\n  on('session.start', async ($, e, next) => {\n    await $.command.register({\n      name: 'tally',\n      description: 'Show how many tool calls Claude has made',\n    })\n    return next(e)\n  })\n\n  on('tool.call', async ($, e, next) => {\n    calls += 1\n    $.ui.invalidate('ui.render')\n    return next(e)\n  })\n\n  on('command.run', { command: 'tally' }, async () => {\n    return { text: 'Claude has made ' + calls + ' tool calls since this mod loaded' }\n  })\n\n  on('ui.render', { component: 'Spinner' }, async ($, e, next) => {\n    return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })\n  })\n}\n",[577,1088,1086],{"__ignoreMap":587},[17,1090,1091,1092,1095,1096,1099,1100,1103],{},"Cada función recibe tres cosas. ",[577,1093,1094],{},"$"," es la caja de herramientas del mod: con ella dibuja, crea comandos o llama un modelo. ",[577,1097,1098],{},"e"," es el evento que acaba de pasar. ",[577,1101,1102],{},"next"," deja que el evento siga hacia los demás mods y hacia Claude Code.",[144,1105,1107],{"number":223,"title":1106},"Cárgalo y pruébalo",[17,1108,1109,1110,1113,1114,1116],{},"Abre Claude Code con el mod y pídele algo que use varias herramientas, como \"lista los archivos y lee el README\". Mientras trabaja, el spinner dice ",[577,1111,1112],{},"Thinking · tool calls: 2…",". Cuando termine, escribe ",[577,1115,1002],{}," y te dice cuántas lleva.",[1013,1118,1119],{"title":15,"user":1016},[1018,1120,1123],{"className":1121,"code":1122,"language":1023},[1021],"$ claude --plugin-dir .\u002Ffirst-mod\n\n> \u002Ftally\nfirst-mod: Claude has made 2 tool calls since this mod loaded\n",[577,1124,1122],{"__ignoreMap":587},[17,1126,1127,1128,1131],{},"Mientras lo cargues con ",[577,1129,1130],{},"--plugin-dir",", Claude Code vigila la carpeta y recarga el mod cada vez que cambias un archivo. Al recargar, el conteo vuelve a cero.",[810,1133,1135],{"id":1134},"revisarlo-antes-de-usarlo","Revisarlo antes de usarlo",[392,1137],{":items":1138},"[{\"value\":\"validate\",\"label\":\"Qué hace, sin correrlo\",\"caption\":\"claude plugin validate .\u002Fmi-mod lista los eventos que atiende y lo que pide hacer: leer archivos, red, llamar modelos.\",\"accent\":true},{\"value\":\"test\",\"label\":\"Pruebas sin sesión\",\"caption\":\"claude plugin test corre pruebas automáticas sin sesión, sin iniciar sesión y sin red.\"},{\"value\":\"\u002Fplugin\",\"label\":\"Qué cargó la sesión\",\"caption\":\"Debajo de las pestañas sale cuántos mods hay activos y cuáles.\"}]",[79,1140],{},[45,1142,1144],{"id":1143},"cómo-se-instala-un-mod-hecho-por-otro","Cómo se instala un mod hecho por otro",[17,1146,1147,1148,1151],{},"Un mod se instala como cualquier plugin: desde un marketplace, con el nombre del plugin, una ",[577,1149,1150],{},"@"," y el nombre del marketplace.",[1013,1153,1155],{"title":1154,"user":1016},"instalar un mod",[1018,1156,1159],{"className":1157,"code":1158,"language":1023},[1021],"# Dentro de una sesión de Claude Code\n> \u002Fplugin install token-chart@your-org\n\n# Desde la terminal\n$ claude plugin install token-chart@your-org\n\n# Si la sesión ya estaba abierta, para que lo cargue\n> \u002Freload-plugins\n",[577,1160,1158],{"__ignoreMap":587},[17,1162,1163,1164,1167],{},"Si lo instalas desde la terminal con una sesión abierta, corres ",[577,1165,1166],{},"\u002Freload-plugins"," en esa sesión. Si no, carga la próxima vez que abras Claude Code.",[810,1169,1171],{"id":1170},"los-que-ya-vienen-con-claude-code","Los que ya vienen con Claude Code",[17,1173,1174,1175,1177,1178,1180,1181,1184],{},"Algunas funciones de Claude Code ya son mods. Los ves en ",[577,1176,960],{},", pestaña ",[23,1179,964],{},", bajo ",[23,1182,1183],{},"Built-in",":",[199,1186,1187,1195,1207,1214,1225],{},[202,1188,1189,1194],{},[23,1190,1191,1184],{},[577,1192,1193],{},"\u002Fdiff"," te muestra en un panel los cambios que aún no tienen commit.",[202,1196,1197,1202,1203,1206],{},[23,1198,1199,1184],{},[577,1200,1201],{},"agents-md"," carga el archivo ",[577,1204,1205],{},"AGENTS.md"," como instrucciones del proyecto.",[202,1208,1209,1213],{},[23,1210,1211,1184],{},[577,1212,914],{}," la skill con la que Claude te escribe mods.",[202,1215,1216,1221,1222,77],{},[23,1217,1218,1184],{},[577,1219,1220],{},"you-should-know"," un agente lateral que, en tareas largas, te avisa arriba del prompt lo que se te puede pasar. Viene apagado y se prende con ",[577,1223,1224],{},"\u002Fplugin enable cc-plugin-you-should-know@builtin",[202,1226,1227,1235],{},[23,1228,1229,1007,1232,1184],{},[577,1230,1231],{},"sec-default",[577,1233,1234],{},"telemetry"," la seguridad de tu organización y la analítica de Claude Code.",[17,1237,1238,1239,1242,1243,1242,1245,1007,1247,1249,1250,1253],{},"El código de ",[577,1240,1241],{},"diff",", ",[577,1244,1201],{},[577,1246,1231],{},[577,1248,1234],{}," es público en el repositorio de Claude Code, en la carpeta ",[577,1251,1252],{},"mods",". Si quieres ver cómo está hecho un mod real, de ahí puedes partir.",[79,1255],{},[45,1257,1259],{"id":1258},"antes-de-instalar-la-parte-de-seguridad","Antes de instalar, la parte de seguridad",[12,1261,1265,1268,1288],{"title":1262,"type":1263,"icon":1264},"Un mod corre con tus permisos","danger","lucide:shield-alert",[17,1266,1267],{},"Una vez carga, un mod puede:",[199,1269,1270,1273,1276,1279,1282,1285],{},[202,1271,1272],{},"Leer y escribir tus archivos, abrir programas y hacer peticiones a internet.",[202,1274,1275],{},"Leer tus secretos: variables de entorno y archivos de configuración, incluida tu API key.",[202,1277,1278],{},"Ver cada prompt que envías y cada herramienta que usa Claude.",[202,1280,1281],{},"Reescribir un prompt, enviar uno como si lo hubieras escrito tú o mandar mensajes a otras sesiones.",[202,1283,1284],{},"Aprobar una herramienta antes de que Claude Code te pregunte.",[202,1286,1287],{},"Gastar tu uso llamando modelos.",[17,1289,1290],{},"Lo que no puede cambiar es la ventana de permisos: lo que esa ventana te muestra lo muestra igual.",[17,1292,1293,1294,1297],{},"Por eso la regla es simple. Instala mods solo de personas y marketplaces que conoces, y antes de instalarlo corre ",[577,1295,1296],{},"claude plugin validate"," sobre su carpeta para ver qué pide.",[810,1299,1301],{"id":1300},"cómo-apagarlos","Cómo apagarlos",[199,1303,1304,1314,1323],{},[202,1305,1306,1309,1310,1177,1312,77],{},[23,1307,1308],{},"Un solo mod:"," lo desactivas o lo desinstalas en ",[577,1311,960],{},[23,1313,964],{},[202,1315,1316,1319,1320,77],{},[23,1317,1318],{},"Todos, solo por esta sesión:"," abres Claude Code con ",[577,1321,1322],{},"--safe-mode",[202,1324,1325,1328,1329,1332,1333,1336],{},[23,1326,1327],{},"Todos, siempre:"," pones ",[577,1330,1331],{},"\"disableAllHooks\": true"," en ",[577,1334,1335],{},"~\u002F.claude\u002Fsettings.json",". Ojo, eso también apaga tus hooks de configuración y tu línea de estado.",[17,1338,1339],{},"Los mods que vienen con Claude Code no se apagan con estas opciones. Si usas Claude Code en una organización, el administrador también decide cuáles cargan.",[12,1341,1344],{"title":1342,"type":67,"icon":1343},"Si probaste los mods al principio","lucide:history",[17,1345,1346,1347,1350,1351,1354],{},"En el acceso anticipado se prendían con la variable ",[577,1348,1349],{},"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS",". Desde la versión 2.1.287 Claude Code la ignora, así que quítala. Ponerla en ",[577,1352,1353],{},"0"," no los apaga.",[79,1356],{},[45,1358,461],{"id":460},[199,1360,1361,1364,1367,1370,1385,1390,1396],{},[202,1362,1363],{},"Un mod es código que corre dentro de Claude Code. Observa, reescribe o responde eventos, y puede dibujar en la pantalla.",[202,1365,1366],{},"Necesitas la versión 2.1.287 o una posterior.",[202,1368,1369],{},"La forma más fácil de crearlo: pídeselo a Claude con tus palabras y aprueba cada archivo.",[202,1371,1372,1373,1242,1376,1379,1380,1007,1382,77],{},"A mano son tres archivos: ",[577,1374,1375],{},"plugin.json",[577,1377,1378],{},"hooks.json"," con la llave ",[577,1381,1049],{},[577,1383,1384],{},"register.js",[202,1386,1387,1388,77],{},"Si te gustó uno hecho en la sesión, cópialo a una carpeta tuya y cárgalo con ",[577,1389,1130],{},[202,1391,1392,1393,77],{},"Se instala como un plugin: ",[577,1394,1395],{},"\u002Fplugin install nombre@marketplace",[202,1397,1398,1399,1401],{},"Corre con tus permisos. Revisa con ",[577,1400,1296],{}," antes de instalar.",[79,1403],{},[45,1405,1407],{"id":1406},"quieres-un-mod-para-tu-forma-de-trabajar","¿Quieres un mod para tu forma de trabajar?",[12,1409,1411,1414],{"title":1410,"type":557,"icon":558},"Lo armamos con tu flujo real",[17,1412,1413],{},"Si quieres un panel que te muestre qué hacen tus agentes, un comando propio o una protección para los comandos peligrosos de tu equipo, lo armamos contigo.",[17,1415,1416,568],{},[73,1417,567],{"href":566},[17,1419,575,1420,580,1423,77],{},[577,1421,1422],{},"MODS",[73,1424,585],{"href":583,"rel":1425},[503],{"title":587,"searchDepth":588,"depth":588,"links":1427},[1428,1429,1430,1434,1435,1440,1443,1446,1447],{"id":636,"depth":588,"text":637},{"id":670,"depth":588,"text":671},{"id":750,"depth":588,"text":751,"children":1431},[1432],{"id":812,"depth":1433,"text":813},3,{"id":845,"depth":588,"text":846},{"id":900,"depth":588,"text":901,"children":1436},[1437,1438,1439],{"id":907,"depth":1433,"text":908},{"id":991,"depth":1433,"text":992},{"id":1134,"depth":1433,"text":1135},{"id":1143,"depth":588,"text":1144,"children":1441},[1442],{"id":1170,"depth":1433,"text":1171},{"id":1258,"depth":588,"text":1259,"children":1444},[1445],{"id":1300,"depth":1433,"text":1301},{"id":460,"depth":588,"text":461},{"id":1406,"depth":588,"text":1407},null,"Un mod es código que corre dentro de Claude Code y le cambia la pantalla y el comportamiento. Te cuento qué es, cómo se crea y cómo se instala, según la documentación de Anthropic.",{},"intermedio","\u002Fbiblioteca\u002Fmods-de-claude-code",{"title":619,"description":1449},"biblioteca\u002Fmods-de-claude-code",[1456,1252,1457,1458,615],"claude-code","plugins","personalizacion","7K6vQCNlBxik7aCMaql3ASls0Zx4dweKzjOb8PYk_Us",{"id":1461,"title":1462,"author":7,"body":1463,"cover":1482,"description":2238,"extension":601,"meta":2239,"navigation":603,"nivel":604,"path":2240,"publishedAt":2241,"seo":2242,"stem":2243,"tags":2244,"__hash__":2249},"biblioteca\u002Fbiblioteca\u002Fmotion-graphics-con-claude.md","Motion graphics con Claude · 16 animaciones y cómo pedirlas",{"type":9,"value":1464,"toc":2207},[1465,1477,1484,1488,1491,1494,1497,1500,1502,1506,1509,1515,1521,1527,1546,1549,1551,1555,1558,1562,1568,1571,1577,1603,1607,1612,1615,1620,1639,1643,1648,1651,1656,1671,1675,1680,1683,1688,1707,1709,1713,1716,1720,1725,1728,1733,1754,1758,1763,1766,1771,1790,1794,1799,1802,1807,1822,1826,1831,1834,1839,1855,1857,1861,1864,1868,1873,1876,1881,1903,1907,1912,1915,1920,1934,1938,1943,1946,1951,1970,1974,1979,1982,1987,2002,2004,2008,2011,2015,2020,2023,2028,2042,2046,2051,2054,2059,2074,2078,2083,2086,2091,2106,2110,2115,2118,2123,2138,2140,2142,2145,2156,2162,2164,2166,2183,2185,2189,2199],[12,1466,1467,1469,1474],{"title":14,"type":15},[17,1468,19],{},[17,1470,1471],{},[23,1472,1473],{},"\"Resúmeme esta guía y dime cuáles de estas 16 animaciones le servirían a mi negocio.\"",[17,1475,1476],{},"En 30 segundos sabes por cuál empezar.",[17,1478,1479],{},[39,1480],{"alt":1481,"src":1482,"width":1483},"Las 16 animaciones de la serie, hechas con Claude sobre los diseños de santa-ia.com","\u002Fbiblioteca\u002Fmotion-graphics\u002Fportada.webp",480,[45,1485,1487],{"id":1486},"no-tienes-que-saber-animar","No tienes que saber animar",[17,1489,1490],{},"Ves animaciones en el feed todos los días. Un botón que se abre. Unas barras que se vuelven línea. Un logo que se arma con puntos. Y piensas que eso es trabajo de un diseñador, o de una semana en After Effects.",[17,1492,1493],{},"Ya no. Desde que salió Claude Opus 5.5, el 22 de septiembre de 2026, Claude escribe esas animaciones en código. Charlie Hills publicó un tablero con 16. Yo tomé las mismas 16 y las rehice con los diseños y los datos de mi web.",[17,1495,1496],{},"Lo que aprendí haciéndolas: el trabajo ya no es animar. Es saber nombrar lo que quieres. Cada movimiento tiene un nombre. Cuando lo dices, Claude escribe justo ese movimiento.",[17,1498,1499],{},"Aquí van las 16, en 4 grupos. Cada una con su nombre, para qué sirve y un prompt listo para copiar.",[79,1501],{},[45,1503,1505],{"id":1504},"cómo-se-pide-una-animación","Cómo se pide una animación",[17,1507,1508],{},"No me salieron con un solo prompt. Cada una pasó por varias rondas. Estos son los 3 pasos que funcionaron.",[144,1510,1512],{"number":146,"title":1511},"Escoge un solo movimiento",[17,1513,1514],{},"No le pidas \"hazme algo bonito\". Pídele una cosa: un botón que se abre, una lista que entra, un número que crece. Una animación, un movimiento.",[144,1516,1518],{"number":167,"title":1517},"Nombra cada momento",[17,1519,1520],{},"Dile cómo empieza, qué cambia en el medio y cómo termina. Si tienes una referencia, una captura o un video, pásasela. Y usa el nombre del movimiento: morph, stagger, spring. Con el nombre, Claude usa la técnica correcta de una.",[144,1522,1524],{"number":180,"title":1523},"Pídela en HTML y corrígela por rondas",[17,1525,1526],{},"Pide un solo archivo HTML. Míralo moverse y dile qué cambiar: \"más lento al final\", \"que la tarjeta no se salga del marco\". La primera versión casi nunca queda. Ajustas hasta que se vea como la imaginaste.",[12,1528,1530,1539],{"title":1529,"type":452,"icon":892},"¿Dónde lo pego? Te ahorro la decisión",[17,1531,1532,1533,1538],{},"Si nunca has abierto una terminal, en ",[73,1534,1537],{"href":1535,"rel":1536},"https:\u002F\u002Fclaude.ai",[503],"claude.ai",". Te devuelve el HTML y lo ves moverse ahí mismo. Si ya usas Claude Code, ahí: el archivo queda guardado en tu proyecto.",[17,1540,1541,1542,77],{},"¿Por qué HTML? Lo explico en ",[73,1543,1545],{"href":1544},"\u002Fbiblioteca\u002Fpidele-html-a-claude-no-texto-plano","Pídele a Claude que te devuelva la respuesta en HTML",[17,1547,1548],{},"En cada prompt de abajo, lo que va entre corchetes lo cambias por lo tuyo: tus palabras, tus colores, tus datos.",[79,1550],{},[45,1552,1554],{"id":1553},"grupo-1-cómo-se-mueven-las-cosas","Grupo 1 · Cómo se mueven las cosas",[17,1556,1557],{},"Las 4 básicas. Si solo aprendes cuatro nombres, que sean estos.",[810,1559,1561],{"id":1560},"_1-morph-una-forma-que-se-vuelve-otra","1 · Morph · una forma que se vuelve otra",[1563,1564],"clip-loop",{"label":1565,"poster":1566,"src":1567},"Morph: el botón Reserva tu llamada se estira hasta volverse la tarjeta de la agenda con las opciones de 20 y 40 dólares","\u002Fbiblioteca\u002Fmotion-graphics\u002F01-morph.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F01-morph.mp4",[17,1569,1570],{},"El botón de mi web se vuelve la agenda. Tiene tres momentos: empieza como botón, la caja se estira y termina en la agenda. El truco es que la caja nunca desaparece. Es la misma, cambiando de tamaño.",[17,1572,1573,1576],{},[23,1574,1575],{},"Úsalo para:"," el botón \"agenda\", \"ver demo\" o \"comprar\" de tu página, que se abre en lo que promete.",[12,1578,1581],{"title":1579,"type":15,"icon":1580},"Prompt para copiar","lucide:copy",[17,1582,1583],{},[23,1584,1585,1586,1590,1591,1594,1595,1598,1599,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Usa un morph: el botón ",[1587,1588,1589],"span",{},"Agenda tu llamada"," se estira hasta volverse ",[1587,1592,1593],{},"una tarjeta con dos opciones de precio",". Tres momentos: empieza como botón, la caja se estira, termina en la tarjeta. La caja nunca desaparece. Colores: ",[1587,1596,1597],{},"tu color principal"," sobre ",[1587,1600,1601],{},"tu color de fondo",".\"",[810,1604,1606],{"id":1605},"_2-stagger-en-cascada","2 · Stagger · en cascada",[1563,1608],{"label":1609,"poster":1610,"src":1611},"Stagger: el buscador de la Biblioteca escribe claude code y las guías entran una detrás de otra","\u002Fbiblioteca\u002Fmotion-graphics\u002F02-stagger.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F02-stagger.mp4",[17,1613,1614],{},"El buscador de mi Biblioteca. Primero el texto se escribe letra por letra. Después las guías entran una detrás de otra, con una décima de segundo entre cada una. Si entran todas juntas, se ve plano.",[17,1616,1617,1619],{},[23,1618,1575],{}," listas, resultados de búsqueda, menús, la sección de servicios de tu página.",[12,1621,1622],{"title":1579,"type":15,"icon":1580},[17,1623,1624],{},[23,1625,1626,1627,1630,1631,1634,1635,1598,1637,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Un buscador escribe ",[1587,1628,1629],{},"tu búsqueda"," letra por letra. Después entran ",[1587,1632,1633],{},"3 resultados"," en stagger: uno detrás de otro, con una décima de segundo entre cada uno. Colores: ",[1587,1636,1597],{},[1587,1638,1601],{},[810,1640,1642],{"id":1641},"_3-spring-el-resorte","3 · Spring · el resorte",[1563,1644],{"label":1645,"poster":1646,"src":1647},"Spring: las tarjetas Brand Company, Biblioteca y Digital Soul caen, se pasan un poco de su lugar y vuelven","\u002Fbiblioteca\u002Fmotion-graphics\u002F03-spring.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F03-spring.mp4",[17,1649,1650],{},"Las tarjetas que caen. Cada una se pasa un poquito de su lugar y vuelve, como si pesara. Ese rebotecito la hace sentir real.",[17,1652,1653,1655],{},[23,1654,1575],{}," notificaciones, tarjetas que llegan, un logo que aterriza al final de un video.",[12,1657,1658],{"title":1579,"type":15,"icon":1580},[17,1659,1660],{},[23,1661,1662,1663,1666,1667,1598,1669,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Caen ",[1587,1664,1665],{},"3 tarjetas: tus productos o servicios"," una por una, con spring: cada tarjeta se pasa un poco de su lugar y vuelve, como si pesara. Colores: ",[1587,1668,1597],{},[1587,1670,1601],{},[810,1672,1674],{"id":1673},"_4-easing-sale-rápido-frena-suave","4 · Easing · sale rápido, frena suave",[1563,1676],{"label":1677,"poster":1678,"src":1679},"Easing: la cámara hace zoom a las cifras de santa-ia.com, sale rápido y frena suave, comparado con una velocidad constante","\u002Fbiblioteca\u002Fmotion-graphics\u002F04-easing.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F04-easing.mp4",[17,1681,1682],{},"El zoom a mis cifras. La cámara sale rápido y frena suave, como un carro que llega al semáforo. En una buena animación, nada se mueve a velocidad constante.",[17,1684,1685,1687],{},[23,1686,1575],{}," cualquier cosa que se desplace. Zooms, entradas, cambios de lugar. Si algo se ve robótico, casi siempre le falta easing.",[12,1689,1690],{"title":1579,"type":15,"icon":1580},[17,1691,1692],{},[23,1693,1694,1695,1698,1699,1702,1703,1598,1705,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Muestra ",[1587,1696,1697],{},"tus cifras"," y haz un zoom a ",[1587,1700,1701],{},"la cifra más importante",". Usa easing: el movimiento sale rápido y frena suave al llegar. Nada a velocidad constante. Colores: ",[1587,1704,1597],{},[1587,1706,1601],{},[79,1708],{},[45,1710,1712],{"id":1711},"grupo-2-interfaces","Grupo 2 · Interfaces",[17,1714,1715],{},"Lo que hace que una web se sienta cara. No es el diseño quieto. Es cómo se mueve cuando la tocas.",[810,1717,1719],{"id":1718},"_5-crossfade-fundido-cruzado","5 · Crossfade · fundido cruzado",[1563,1721],{"label":1722,"poster":1723,"src":1724},"Crossfade: las pestañas Brand Company, Biblioteca y Digital Soul cambian de panel; lo viejo se desvanece mientras lo nuevo aparece","\u002Fbiblioteca\u002Fmotion-graphics\u002F05-crossfade.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F05-crossfade.mp4",[17,1726,1727],{},"Las pestañas. Tocas otra, y lo viejo se desvanece mientras lo nuevo aparece, al mismo tiempo. Sin crossfade, el cambio da un salto.",[17,1729,1730,1732],{},[23,1731,1575],{}," pestañas, testimonios que rotan, un antes y después.",[12,1734,1735],{"title":1579,"type":15,"icon":1580},[17,1736,1737],{},[23,1738,1739,1740,1242,1743,1242,1746,1749,1750,1598,1752,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Tres pestañas: ",[1587,1741,1742],{},"nombre 1",[1587,1744,1745],{},"nombre 2",[1587,1747,1748],{},"nombre 3",", cada una con su panel. Cambia de pestaña con crossfade: el panel viejo se desvanece mientras el nuevo aparece, al mismo tiempo. La marca de la pestaña activa se desliza. Colores: ",[1587,1751,1597],{},[1587,1753,1601],{},[810,1755,1757],{"id":1756},"_6-shared-element-elemento-compartido","6 · Shared element · elemento compartido",[1563,1759],{"label":1760,"poster":1761,"src":1762},"Shared element: la tarjeta Guía completa de Claude Code se abre y su título viaja hasta arriba de la página de la guía","\u002Fbiblioteca\u002Fmotion-graphics\u002F06-shared-element.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F06-shared-element.mp4",[17,1764,1765],{},"La guía que se abre. Tocas la tarjeta y su título viaja hasta arriba de la página nueva. Tu ojo lo sigue y no se pierde.",[17,1767,1768,1770],{},[23,1769,1575],{}," una tarjeta de producto que se abre en su página, un portafolio, un catálogo.",[12,1772,1773],{"title":1579,"type":15,"icon":1580},[17,1774,1775],{},[23,1776,1777,1778,1781,1782,1785,1786,1598,1788,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Una tarjeta que dice ",[1587,1779,1780],{},"nombre de tu producto"," se abre en su página. Usa shared element: el título de la tarjeta viaja hasta su lugar arriba de la página, y después aparece ",[1587,1783,1784],{},"el contenido de la página",". Colores: ",[1587,1787,1597],{},[1587,1789,1601],{},[810,1791,1793],{"id":1792},"_7-magnification-la-lupa","7 · Magnification · la lupa",[1563,1795],{"label":1796,"poster":1797,"src":1798},"Magnification: un menú de íconos con las secciones de santa-ia.com; los íconos crecen cuando el cursor se acerca","\u002Fbiblioteca\u002Fmotion-graphics\u002F07-magnification.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F07-magnification.mp4",[17,1800,1801],{},"El menú de abajo. Los íconos crecen cuando el cursor se acerca, y el más cercano crece más. Como una lupa que viaja contigo.",[17,1803,1804,1806],{},[23,1805,1575],{}," menús de íconos, una fila de logos de clientes, una galería.",[12,1808,1809],{"title":1579,"type":15,"icon":1580},[17,1810,1811],{},[23,1812,1813,1814,1817,1818,1598,1820,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Un menú de íconos con ",[1587,1815,1816],{},"tus secciones",". Un cursor pasa de lado a lado y los íconos crecen con magnification: más cerca del cursor, más grandes. El ícono bajo el cursor muestra su nombre. Colores: ",[1587,1819,1597],{},[1587,1821,1601],{},[810,1823,1825],{"id":1824},"_8-blur-el-desenfoque","8 · Blur · el desenfoque",[1563,1827],{"label":1828,"poster":1829,"src":1830},"Blur: las cifras de santa-ia.com en lista; todo se desenfoca menos la cifra que importa","\u002Fbiblioteca\u002Fmotion-graphics\u002F08-blur.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F08-blur.mp4",[17,1832,1833],{},"Las cifras. Todo se desenfoca menos la que importa: más de 250 personas formadas. El desenfoque le dice al ojo dónde mirar.",[17,1835,1836,1838],{},[23,1837,1575],{}," resaltar un dato en una presentación, el plan recomendado en tu tabla de precios.",[12,1840,1841],{"title":1579,"type":15,"icon":1580},[17,1842,1843],{},[23,1844,1845,1846,1848,1849,1785,1851,1598,1853,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Una lista con ",[1587,1847,1697],{},". El foco recorre la lista y todo lo demás se desenfoca con blur. Termina enfocado en ",[1587,1850,1701],{},[1587,1852,1597],{},[1587,1854,1601],{},[79,1856],{},[45,1858,1860],{"id":1859},"grupo-3-texto-e-imagen","Grupo 3 · Texto e imagen",[17,1862,1863],{},"Las letras también se animan. Y las fotos.",[810,1865,1867],{"id":1866},"_9-mask-la-máscara","9 · Mask · la máscara",[1563,1869],{"label":1870,"poster":1871,"src":1872},"Mask: la palabra CONTROL del titular de santa-ia.com funciona como ventana y el color naranja sube por dentro","\u002Fbiblioteca\u002Fmotion-graphics\u002F09-mask.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F09-mask.mp4",[17,1874,1875],{},"La palabra \"control\" de mi web. El texto funciona como una ventana, y por dentro sube el color. La letra no cambia. Cambia lo que se ve a través de ella.",[17,1877,1878,1880],{},[23,1879,1575],{}," el titular de tu página, la portada de un Reel, una palabra clave que quieras que se recuerde.",[12,1882,1883],{"title":1579,"type":15,"icon":1580},[17,1884,1885],{},[23,1886,1887,1888,1891,1892,1895,1896,1785,1899,1598,1901,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Escribe ",[1587,1889,1890],{},"tu titular"," y en la palabra ",[1587,1893,1894],{},"palabra clave"," usa una mask: las letras son una ventana y por dentro sube ",[1587,1897,1898],{},"un color o una imagen",[1587,1900,1597],{},[1587,1902,1601],{},[810,1904,1906],{"id":1905},"_10-variable-font-la-fuente-variable","10 · Variable font · la fuente variable",[1563,1908],{"label":1909,"poster":1910,"src":1911},"Variable font: el logotipo SANTA-IA se estira y engruesa, con dos perillas de grosor y ancho moviéndose","\u002Fbiblioteca\u002Fmotion-graphics\u002F10-variable-font.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F10-variable-font.mp4",[17,1913,1914],{},"El logo que se estira. Es una sola fuente con perillas de grosor y de ancho, y Claude las mueve. Una sola fuente, muchas formas.",[17,1916,1917,1919],{},[23,1918,1575],{}," tu logo o un titular que respira en la intro de un video.",[12,1921,1922],{"title":1579,"type":15,"icon":1580},[17,1923,1924],{},[23,1925,1887,1926,1929,1930,1598,1932,1602],{},[1587,1927,1928],{},"tu marca"," con una variable font de Google Fonts que tenga ejes de grosor y de ancho, por ejemplo Instrument Sans. Anima las dos perillas para que el texto se estire y engruese, y muestra los números de cada perilla. Colores: ",[1587,1931,1597],{},[1587,1933,1601],{},[810,1935,1937],{"id":1936},"_11-layout-animation-todo-se-reacomoda","11 · Layout animation · todo se reacomoda",[1563,1939],{"label":1940,"poster":1941,"src":1942},"Layout animation: el inicio de santa-ia.com pasa de la versión de celular a la de computador y cada bloque viaja a su nuevo lugar","\u002Fbiblioteca\u002Fmotion-graphics\u002F11-layout.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F11-layout.mp4",[17,1944,1945],{},"Mi web, del celular al computador. Cada bloque viaja a su nuevo lugar, en vez de saltar. Así el ojo entiende que es la misma página.",[17,1947,1948,1950],{},[23,1949,1575],{}," mostrar tu web en celular y en computador, reorganizar un tablero, ordenar una lista.",[12,1952,1953],{"title":1579,"type":15,"icon":1580},[17,1954,1955],{},[23,1956,1957,1958,1961,1962,1965,1966,1598,1968,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. El inicio de ",[1587,1959,1960],{},"tu página",", con ",[1587,1963,1964],{},"título, subtítulo y botón",", pasa de versión celular a versión computador. Usa layout animation: cada bloque viaja a su nuevo lugar, sin saltos, y ninguno se sale del marco. Colores: ",[1587,1967,1597],{},[1587,1969,1601],{},[810,1971,1973],{"id":1972},"_12-clip-path-el-recorte","12 · Clip path · el recorte",[1563,1975],{"label":1976,"poster":1977,"src":1978},"Clip path: la portada del Módulo 01 Construye tu cerebro aparece por un círculo que se va abriendo","\u002Fbiblioteca\u002Fmotion-graphics\u002F12-clip-path.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F12-clip-path.mp4",[17,1980,1981],{},"La foto del curso. Aparece por una ventana que se va abriendo. Como destapar un regalo.",[17,1983,1984,1986],{},[23,1985,1575],{}," revelar la portada de un curso, un producto nuevo, el resultado de un antes y después.",[12,1988,1989],{"title":1579,"type":15,"icon":1580},[17,1990,1991],{},[23,1992,1993,1994,1997,1998,1598,2000,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. ",[1587,1995,1996],{},"Tu imagen"," aparece con clip path: un círculo que nace en el centro y crece hasta mostrarla completa. Al lado, un diagrama pequeño con el radio del círculo creciendo. Colores: ",[1587,1999,1597],{},[1587,2001,1601],{},[79,2003],{},[45,2005,2007],{"id":2006},"grupo-4-datos-y-3d","Grupo 4 · Datos y 3D",[17,2009,2010],{},"Los números también se mueven. Y una pantalla plana puede tener fondo.",[810,2012,2014],{"id":2013},"_13-path-morph-de-barras-a-línea","13 · Path morph · de barras a línea",[1563,2016],{"label":2017,"poster":2018,"src":2019},"Path morph: las cifras de santa-ia.com en barras se vuelven una línea y la punta de cada barra viaja hasta su punto","\u002Fbiblioteca\u002Fmotion-graphics\u002F13-path-morph.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F13-path-morph.mp4",[17,2021,2022],{},"Mis cifras en barras: 10 empresas, 30 aplicaciones, 31 tableros, 50 flujos y agentes. Las barras se vuelven una línea: la punta de cada barra viaja hasta su punto. El dato es el mismo, cambia la forma.",[17,2024,2025,2027],{},[23,2026,1575],{}," un reporte de ventas, el crecimiento de tu cuenta, cualquier dato donde importe la tendencia.",[12,2029,2030],{"title":1579,"type":15,"icon":1580},[17,2031,2032],{},[23,2033,1694,2034,2037,2038,1598,2040,1602],{},[1587,2035,2036],{},"tus datos, por ejemplo ventas por mes"," en barras. Con path morph, las barras se vuelven una línea: la punta de cada barra viaja hasta su punto. Numera cada punta. Colores: ",[1587,2039,1597],{},[1587,2041,1601],{},[810,2043,2045],{"id":2044},"_14-stroke-draw-el-trazo","14 · Stroke draw · el trazo",[1563,2047],{"label":2048,"poster":2049,"src":2050},"Stroke draw: el flujo Procesos y Datos hacia Cerebro y Decisiones se dibuja y un punto de luz corre por las líneas","\u002Fbiblioteca\u002Fmotion-graphics\u002F14-stroke-draw.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F14-stroke-draw.mp4",[17,2052,2053],{},"El cerebro de una empresa. Las líneas se van dibujando, y un punto de luz corre de los procesos a las decisiones. Así se ve que algo fluye.",[17,2055,2056,2058],{},[23,2057,1575],{}," explicar un proceso, tu forma de trabajar, una automatización, un embudo de ventas.",[12,2060,2061],{"title":1579,"type":15,"icon":1580},[17,2062,2063],{},[23,2064,2065,2066,2069,2070,1598,2072,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Un diagrama de ",[1587,2067,2068],{},"tu proceso, por ejemplo: pedido, cocina, entrega",". Usa stroke draw: las líneas entre las cajas se van dibujando y después un punto de luz corre de la primera a la última. Colores: ",[1587,2071,1597],{},[1587,2073,1601],{},[810,2075,2077],{"id":2076},"_15-perspective-la-profundidad","15 · Perspective · la profundidad",[1563,2079],{"label":2080,"poster":2081,"src":2082},"Perspective: tres páginas de santa-ia.com giran en abanico 3D; la de adelante se ve grande y la de atrás pequeña","\u002Fbiblioteca\u002Fmotion-graphics\u002F15-perspective.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F15-perspective.mp4",[17,2084,2085],{},"Las páginas de mi web. Giran con profundidad: la de adelante se ve grande y la de atrás, pequeña. Una pantalla plana que parece tener fondo.",[17,2087,2088,2090],{},[23,2089,1575],{}," mostrar varias pantallas de tu web o tu app de un solo golpe.",[12,2092,2093],{"title":1579,"type":15,"icon":1580},[17,2094,2095],{},[23,2096,2097,2098,2101,2102,1598,2104,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Pon ",[1587,2099,2100],{},"3 capturas de tu web o tu app"," como tarjetas en un abanico 3D con perspective. Que giren despacio: la de adelante se ve grande y la de atrás pequeña. Colores: ",[1587,2103,1597],{},[1587,2105,1601],{},[810,2107,2109],{"id":2108},"_16-particles-las-partículas","16 · Particles · las partículas",[1563,2111],{"label":2112,"poster":2113,"src":2114},"Particles: 372 puntos naranjas sueltos se acomodan hasta formar el logotipo SANTA-IA","\u002Fbiblioteca\u002Fmotion-graphics\u002F16-particles.webp","\u002Fbiblioteca\u002Fmotion-graphics\u002F16-particles.mp4",[17,2116,2117],{},"Mi logo. 372 puntos sueltos se acomodan hasta formarlo. Hecho con mucho amor, como dice mi web.",[17,2119,2120,2122],{},[23,2121,1575],{}," la intro o el cierre de un video, un lanzamiento, la pantalla de carga de tu app.",[12,2124,2125],{"title":1579,"type":15,"icon":1580},[17,2126,2127],{},[23,2128,2129,2130,2133,2134,1598,2136,1602],{},"\"Hazme un archivo HTML con una animación de 8 segundos en loop. Cientos de particles sueltos se acomodan hasta formar ",[1587,2131,2132],{},"tu logo o tu marca en texto",", se quedan un momento y se vuelven a soltar. Las posiciones salen siempre iguales, nada al azar. Colores: ",[1587,2135,1597],{},[1587,2137,1601],{},[79,2139],{},[45,2141,419],{"id":418},[17,2143,2144],{},"Prefiero que lo sepas antes de pegar el primer prompt.",[199,2146,2147,2150,2153],{},[202,2148,2149],{},"No sale de un solo prompt. Cada una de mis 16 pasó por varias rondas de corrección.",[202,2151,2152],{},"No es un video todavía. Claude te entrega la animación en código. Para el Reel, la grabas en pantalla o la conviertes en video. Yo uso Remotion, una herramienta que convierte código en video, y también la manejo con Claude.",[202,2154,2155],{},"No trae tu marca. Sin tus colores, tus palabras y tus datos, te entrega algo genérico. Por eso cada prompt trae corchetes.",[12,2157,2159],{"title":2158,"type":452},"Patrón aplicado · nombrar es dirigir",[17,2160,2161],{},"No tienes que saber diseñar ni programar. Tienes que saber pedir. Y para pedir una animación, el nombre del movimiento vale más que cualquier adjetivo. \"Que se vea elegante\" no le dice nada. \"Morph, tres momentos, la caja nunca desaparece\" sí.",[79,2163],{},[45,2165,461],{"id":460},[199,2167,2168,2171,2174,2177,2180],{},[202,2169,2170],{},"Un movimiento por animación. Nada de \"hazme algo bonito\".",[202,2172,2173],{},"Nombra cómo empieza, qué cambia en el medio y cómo termina.",[202,2175,2176],{},"Pídela en un solo archivo HTML y corrígela por rondas.",[202,2178,2179],{},"Los 16 nombres: morph, stagger, spring, easing, crossfade, shared element, magnification, blur, mask, variable font, layout animation, clip path, path morph, stroke draw, perspective y particles.",[202,2181,2182],{},"Ponle siempre tus colores, tus palabras y tus datos.",[79,2184],{},[45,2186,2188],{"id":2187},"quieres-que-lo-hagamos-con-tu-marca","¿Quieres que lo hagamos con tu marca?",[12,2190,2192,2195],{"title":2191,"type":557,"icon":558},"Animaciones con tus diseños y tus datos",[17,2193,2194],{},"Si quieres que tu web, tus Reels o tus presentaciones se muevan así, las armamos contigo, con tu marca y tus números reales.",[17,2196,2197,568],{},[73,2198,567],{"href":566},[17,2200,575,2201,580,2204,77],{},[577,2202,2203],{},"MOTION",[73,2205,585],{"href":583,"rel":2206},[503],{"title":587,"searchDepth":588,"depth":588,"links":2208},[2209,2210,2211,2217,2223,2229,2235,2236,2237],{"id":1486,"depth":588,"text":1487},{"id":1504,"depth":588,"text":1505},{"id":1553,"depth":588,"text":1554,"children":2212},[2213,2214,2215,2216],{"id":1560,"depth":1433,"text":1561},{"id":1605,"depth":1433,"text":1606},{"id":1641,"depth":1433,"text":1642},{"id":1673,"depth":1433,"text":1674},{"id":1711,"depth":588,"text":1712,"children":2218},[2219,2220,2221,2222],{"id":1718,"depth":1433,"text":1719},{"id":1756,"depth":1433,"text":1757},{"id":1792,"depth":1433,"text":1793},{"id":1824,"depth":1433,"text":1825},{"id":1859,"depth":588,"text":1860,"children":2224},[2225,2226,2227,2228],{"id":1866,"depth":1433,"text":1867},{"id":1905,"depth":1433,"text":1906},{"id":1936,"depth":1433,"text":1937},{"id":1972,"depth":1433,"text":1973},{"id":2006,"depth":588,"text":2007,"children":2230},[2231,2232,2233,2234],{"id":2013,"depth":1433,"text":2014},{"id":2044,"depth":1433,"text":2045},{"id":2076,"depth":1433,"text":2077},{"id":2108,"depth":1433,"text":2109},{"id":418,"depth":588,"text":419},{"id":460,"depth":588,"text":461},{"id":2187,"depth":588,"text":2188},"Hice 16 animaciones con Claude usando los diseños de mi web. Te cuento cómo se llama cada una, para qué sirve y el prompt para pedirla con tu marca.",{},"\u002Fbiblioteca\u002Fmotion-graphics-con-claude","2026-10-01",{"title":1462,"description":2238},"biblioteca\u002Fmotion-graphics-con-claude",[15,2245,2246,2247,2248],"motion-graphics","animacion","diseno","prompts","xvqKCtYvw4sNpRQIWEvqVgb1lsrGDac6YF2MvcZCihw",{"id":2251,"title":2252,"author":7,"body":2253,"cover":2272,"description":2519,"extension":601,"meta":2520,"navigation":603,"nivel":1451,"path":2521,"publishedAt":2522,"seo":2523,"stem":2524,"tags":2525,"__hash__":2530},"biblioteca\u002Fbiblioteca\u002Fplaud-jarvis-reuniones-que-se-archivan-solas.md","Plaud + JARVIS · cada reunión se archiva sola",{"type":9,"value":2254,"toc":2508},[2255,2267,2273,2277,2280,2283,2286,2295,2297,2301,2304,2320,2327,2336,2345,2354,2367,2369,2373,2376,2379,2382,2385,2387,2391,2394,2397,2400,2407,2409,2413,2416,2419,2421,2425,2428,2431,2433,2437,2439,2453,2462,2464,2466,2486,2488,2490,2500],[12,2256,2257,2259,2264],{"title":14,"type":15},[17,2258,19],{},[17,2260,2261],{},[23,2262,2263],{},"\"Resúmeme esta guía y dime qué me falta para montar este flujo con mis reuniones.\"",[17,2265,2266],{},"En 30 segundos sabes qué tienes y qué te falta.",[17,2268,2269],{},[39,2270],{"alt":2271,"src":2272,"width":43},"Ilustración del Reel: el Plaud pegado detrás del celular graba una reunión de tres personas","\u002Fbiblioteca\u002Fplaud-jarvis-portada.webp",[45,2274,2276],{"id":2275},"grabar-es-lo-fácil","Grabar es lo fácil",[17,2278,2279],{},"Si trabajas con clientes o con un equipo, vives en reuniones. Grabarlas no cuesta nada. Lo que cuesta es lo de después: bajar el audio, pasarlo a texto, ponerle un nombre que se entienda y guardarlo donde lo vuelvas a encontrar.",[17,2281,2282],{},"Casi nadie lo hace. Las grabaciones se quedan en el celular con nombres como \"Grabación 14\" y nadie las vuelve a abrir.",[17,2284,2285],{},"Yo lo resolví conectando mi Plaud a JARVIS. El Plaud graba, mi Mac transcribe y Claude archiva cada reunión en su carpeta. Yo no toco nada.",[12,2287,2289],{"title":2288,"type":138},"Antes de empezar: necesitas tu JARVIS",[17,2290,2291,2292,77],{},"Este flujo guarda cada reunión dentro de JARVIS, mi sistema de notas local. Si todavía no lo tienes armado, empieza por aquí: ",[73,2293,2294],{"href":274},"JARVIS · cómo armar tu cerebro local que recuerda por ti",[79,2296],{},[45,2298,2300],{"id":2299},"el-flujo-en-5-pasos","El flujo en 5 pasos",[2302,2303],"diagram-plaud-jarvis-flujo",{},[144,2305,2307,2310],{"number":146,"title":2306},"Grabar",[17,2308,2309],{},"El Plaud es una grabadora con IA, delgada como una tarjeta. Va pegada detrás del celular con un imán. Entras a la reunión, le das grabar y te olvidas.",[17,2311,2312,2313,1007,2316,2319],{},"En la app de Plaud del celular activas dos opciones: ",[23,2314,2315],{},"Sync to Cloud when Charging",[23,2317,2318],{},"Sync this Plaud app",". Con eso, cada vez que el Plaud se pone a cargar, sube a la nube lo que tenga pendiente.",[12,2321,2324],{"title":2322,"type":67,"icon":2323},"También graba tus llamadas","lucide:phone",[17,2325,2326],{},"Por eso va pegado detrás del teléfono. Cuando hablas por el celular, el Plaud graba la llamada. Una llamada con un cliente queda archivada igual que una reunión en persona, con su fecha, su empresa y su resumen.",[144,2328,2330,2333],{"number":167,"title":2329},"Cada hora, el Mac revisa",[17,2331,2332],{},"Un agente que corre de fondo en el Mac consulta la nube de Plaud cada hora, con la herramienta oficial de Plaud. Si hay grabaciones nuevas, baja el audio.",[17,2334,2335],{},"Ignora lo que dure menos de 30 segundos. Así JARVIS no se llena de grabaciones que se activaron sin querer en el bolsillo.",[144,2337,2339,2342],{"number":180,"title":2338},"El Mac transcribe",[17,2340,2341],{},"La transcripción la hace Whisper, un programa gratuito que corre en tu propio computador. Va unas 13 veces más rápido que el tiempo real. Una reunión de una hora queda en texto en unos 4 minutos y medio.",[17,2343,2344],{},"Como Plaud no transcribe nada, no gastas minutos de transcripción, grabes lo que grabes.",[144,2346,2348,2351],{"number":223,"title":2347},"Claude la lee y la archiva",[17,2349,2350],{},"Claude lee la transcripción y saca tres datos: con qué empresa fue, de qué proyecto y con quién.",[17,2352,2353],{},"Con eso renombra el archivo con fecha, empresa, proyecto y persona. Escribe una línea de qué se trató y lo guarda en su carpeta dentro de JARVIS.",[144,2355,2357,2360],{"number":250,"title":2356},"Tú no tocas nada",[17,2358,2359],{},"No abres la app de Plaud. No pasas archivos del celular al computador. No le pones nombre a nada.",[17,2361,2362,2363,2366],{},"Cuando quieres el detalle, le escribes a JARVIS: ",[23,2364,2365],{},"\"resume las grabaciones sin resumir\"",". Te deja las decisiones y los pendientes de cada reunión, listos para revisar.",[79,2368],{},[45,2370,2372],{"id":2371},"así-queda-una-reunión-archivada","Así queda una reunión archivada",[17,2374,2375],{},"Un ejemplo inventado para que veas la forma: una reunión con Ana, de una panadería, sobre los pedidos del mes.",[2377,2378],"diagram-plaud-nota-archivada",{},[17,2380,2381],{},"La parte de arriba la llena Claude apenas llega la grabación. Las decisiones y los pendientes aparecen cuando pides el resumen.",[17,2383,2384],{},"Ninguno de esos datos viene de Plaud. Plaud entrega el audio y ya. La empresa, el proyecto y la persona salen de leer lo que se habló. Si Claude no reconoce la empresa, la marca como desconocida y la deja en una lista aparte para que la revises tú.",[79,2386],{},[45,2388,2390],{"id":2389},"cuánto-tarda-de-verdad","Cuánto tarda de verdad",[17,2392,2393],{},"Aquí va la parte honesta. El paso lento no es el Mac. Es el celular.",[17,2395,2396],{},"Medí 16 grabaciones de julio de 2026. Comparé la hora en que grabé contra la hora en que el audio apareció en la nube de Plaud.",[2398,2399],"diagram-plaud-tiempos",{},[17,2401,2402,2403,2406],{},"El Mac revisa cada hora, pero de nada sirve si el audio sigue guardado en el Plaud. La solución es sencilla: ",[23,2404,2405],{},"pon a cargar el Plaud",". Cada vez que carga, sube lo pendiente.",[79,2408],{},[45,2410,2412],{"id":2411},"lo-que-me-ahorro","Lo que me ahorro",[17,2414,2415],{},"No pago suscripción de Plaud. Uso el dispositivo, que es lo que me interesa de verdad: sus micrófonos. La cuenta es la de la app gratis.",[17,2417,2418],{},"La transcripción la hace mi Mac. Por eso no gasto minutos, así grabe una reunión a la semana o cinco en un día.",[79,2420],{},[45,2422,2424],{"id":2423},"qué-necesitas-para-montarlo","Qué necesitas para montarlo",[2426,2427],"diagram-plaud-requisitos",{},[17,2429,2430],{},"No necesitas saber programar. Con esta lista le pides a Claude Code que te acompañe a instalar cada pieza, una por una.",[79,2432],{},[45,2434,2436],{"id":2435},"lo-que-este-sistema-no-hace","Lo que este sistema no hace",[17,2438,422],{},[199,2440,2441,2444,2447,2450],{},[202,2442,2443],{},"No separa quién habló. Whisper entrega el texto corrido. Plaud sí lo separa, pero con su propia transcripción, que gasta minutos.",[202,2445,2446],{},"No resume solo. Cada reunión llega con una línea de qué se trató. El resumen con decisiones y pendientes lo pides tú.",[202,2448,2449],{},"No es instantáneo. Plaud no le avisa al Mac cuando hay algo nuevo, así que el Mac pregunta cada hora.",[202,2451,2452],{},"macOS a veces le quita el permiso al agente de fondo. Si un día dejan de llegar reuniones, revisa en Ajustes del sistema que siga con acceso total al disco.",[12,2454,2456,2459],{"title":2455,"type":452},"Patrón aplicado · tú conversas, el sistema archiva",[17,2457,2458],{},"La tesis de santa-ia es que orquestar pesa más que ejecutar. En una reunión tu trabajo es conversar y decidir. Bajar audios, transcribir y ponerles nombre es trabajo de archivo, y ese lo hace el sistema.",[17,2460,2461],{},"Cuando necesitas algo de una reunión de hace tres semanas, está en su carpeta, con nombre, y JARVIS lo puede leer en tu próxima conversación.",[79,2463],{},[45,2465,461],{"id":460},[199,2467,2468,2471,2474,2477,2480,2483],{},[202,2469,2470],{},"El Plaud graba, el Mac transcribe, Claude archiva. Tú no tocas nada.",[202,2472,2473],{},"Graba también las llamadas del celular. Por eso va pegado detrás.",[202,2475,2476],{},"No pago suscripción de Plaud. La transcripción la hace mi Mac.",[202,2478,2479],{},"Una reunión de una hora queda en texto en unos 4 minutos y medio.",[202,2481,2482],{},"El paso lento es la subida a la nube. Pon a cargar el Plaud.",[202,2484,2485],{},"Las decisiones y los pendientes se piden con una frase: \"resume las grabaciones sin resumir\".",[79,2487],{},[45,2489,553],{"id":552},[12,2491,2493,2496],{"title":2492,"type":557,"icon":558},"Lo dejamos corriendo en tu equipo",[17,2494,2495],{},"Si grabas muchas reuniones y no quieres instalar esto tú mismo, lo montamos contigo: el Plaud, el Mac, tu JARVIS y las carpetas de tus clientes.",[17,2497,2498,568],{},[73,2499,567],{"href":566},[17,2501,575,2502,580,2505,77],{},[577,2503,2504],{},"PLAUD",[73,2506,585],{"href":583,"rel":2507},[503],{"title":587,"searchDepth":588,"depth":588,"links":2509},[2510,2511,2512,2513,2514,2515,2516,2517,2518],{"id":2275,"depth":588,"text":2276},{"id":2299,"depth":588,"text":2300},{"id":2371,"depth":588,"text":2372},{"id":2389,"depth":588,"text":2390},{"id":2411,"depth":588,"text":2412},{"id":2423,"depth":588,"text":2424},{"id":2435,"depth":588,"text":2436},{"id":460,"depth":588,"text":461},{"id":552,"depth":588,"text":553},"Grabo con el Plaud pegado al celular. Mi Mac transcribe cada reunión, Claude la archiva en JARVIS y yo no toco nada. Así lo monté.",{},"\u002Fbiblioteca\u002Fplaud-jarvis-reuniones-que-se-archivan-solas","2026-09-29",{"title":2252,"description":2519},"biblioteca\u002Fplaud-jarvis-reuniones-que-se-archivan-solas",[2526,2527,2528,2529,615],"plaud","jarvis","reuniones","transcripcion","svw8aWZkKCjMNCdVYVLoM2YdxssUvr0_I6KCYu2JKM8",{"id":2532,"title":2533,"author":7,"body":2534,"cover":1448,"description":2915,"extension":601,"meta":2916,"navigation":603,"nivel":2917,"path":2918,"publishedAt":2919,"seo":2920,"stem":2921,"tags":2922,"__hash__":2929},"biblioteca\u002Fbiblioteca\u002Fedita-video-de-punta-a-punta-con-ia.md","Edita video de punta a punta con IA · imagen, voz, subtítulos y música",{"type":9,"value":2535,"toc":2905},[2536,2578,2591,2593,2597,2600,2603,2606,2608,2612,2615,2618,2621,2697,2700,2702,2706,2736,2738,2742,2749,2752,2755,2762,2764,2768,2771,2785,2791,2797,2803,2805,2809,2812,2819,2842,2851,2853,2855,2875,2877,2881,2884,2893,2895],[12,2537,2539,2552,2555,2575],{"title":2538,"type":557},"📦 editor-video-estandar-kit.zip",[17,2540,2541],{},[73,2542,2549],{"href":2543,"download":2544,"target":2545,"rel":2546},"https:\u002F\u002Fstorage.googleapis.com\u002Fsantaia-landing-downloads\u002Feditor-video-estandar-kit.zip","editor-video-estandar-kit.zip","_blank",[2547,2548],"external","noopener",[23,2550,2551],{},"Descargar editor-video-estandar-kit.zip",[17,2553,2554],{},"Dentro vas a encontrar:",[199,2556,2557,2560,2563,2566,2569,2572],{},[202,2558,2559],{},"Los aplicativos y el código: una pieza por cada paso, más la que corre el flujo completo.",[202,2561,2562],{},"La guía paso a paso adentro (instalar, conectar tus cuentas, tu primer video, solución de problemas).",[202,2564,2565],{},"Un proyecto de ejemplo listo para correr el flujo sin escribir nada.",[202,2567,2568],{},"87 efectos de sonido ordenados por función.",[202,2570,2571],{},"5 pistas de música de fondo, una por clima.",[202,2573,2574],{},"Un mapa mental que abres primero y ves todo el flujo de un vistazo.",[17,2576,2577],{},"Todo lo técnico vive dentro del ZIP. Esta guía es el panorama: qué hace, qué cuesta y por dónde se entra.",[12,2579,2580,2583,2588],{"title":14,"type":15},[17,2581,2582],{},"Copia el link de esta página y pégalo en Claude (claude.ai, el escritorio o la app). Le pides algo así:",[17,2584,2585],{},[23,2586,2587],{},"\"Resúmeme esta guía en 5 puntos y dime qué necesito tener antes de empezar.\"",[17,2589,2590],{},"En 30 segundos tienes la lectura corta. Después vuelves a la sección que te llame.",[79,2592],{},[45,2594,2596],{"id":2595},"por-qué-esto-importa","Por qué esto importa",[17,2598,2599],{},"Para armar uno de esos videos cortos que salen en redes, antes tocaba abrir el editor y hacer todo a mano. Cortar el clip. Escribir los subtítulos línea por línea. Buscar una música que no te metiera en líos de derechos. Un video de treinta segundos se comía la tarde.",[17,2601,2602],{},"Este kit mueve el punto de partida. Es un conjunto de piezas pequeñas. Cada una hace una parte: crea la imagen, la anima, le pone voz, saca los subtítulos, agrega la música y arma el archivo final. Le pasas un texto y te devuelve un MP4 vertical listo para subir.",[17,2604,2605],{},"Lo que lo hace cómodo es que cada paso es independiente. Corres solo el que necesitas. Si ya tienes la imagen, la animas directo. Si solo quieres la voz, generas la voz. Y cuando quieras el video entero, un solo flujo encadena los ocho pasos.",[79,2607],{},[45,2609,2611],{"id":2610},"la-idea-el-flujo-de-8-pasos","La idea · el flujo de 8 pasos",[17,2613,2614],{},"Antes de nada, mira el flujo de lejos.",[2616,2617],"diagram-editor-video-flujo",{},[17,2619,2620],{},"El orden es fijo. Estos son los ocho pasos y el aplicativo detrás de cada uno:",[199,2622,2623,2637,2649,2659,2669,2679,2685,2691],{},[202,2624,2625,2628,2629,2632,2633,2636],{},[23,2626,2627],{},"1 · Imagen."," Describes una escena con palabras y una IA te la dibuja. Como cuando le pides una imagen a ChatGPT. Aquí es ",[23,2630,2631],{},"Kie.ai"," con el modelo ",[577,2634,2635],{},"gpt-image",", que escribe bien el texto en español.",[202,2638,2639,2642,2643,2645,2646,77],{},[23,2640,2641],{},"2 · Animar."," La imagen quieta se pone en movimiento. Le suma una respiración leve, un parpadeo. También en ",[23,2644,2631],{},", con el modelo ",[577,2647,2648],{},"grok",[202,2650,2651,2654,2655,2658],{},[23,2652,2653],{},"3 · Voz."," El guion se vuelve narración con ",[23,2656,2657],{},"ElevenLabs",". Para español, el modelo multilingüe y una voz en español de tu panel.",[202,2660,2661,2664,2665,2668],{},[23,2662,2663],{},"4 · Transcribir."," Se escucha la voz y salen los subtítulos sincronizados palabra por palabra, estilo karaoke. Corre en tu computadora con ",[23,2666,2667],{},"Whisper",". No cuesta nada.",[202,2670,2671,2674,2675,2678],{},[23,2672,2673],{},"5 · Música."," Una pista instrumental de fondo con ",[23,2676,2677],{},"Suno",". Instrumental para que no pelee con la voz.",[202,2680,2681,2684],{},[23,2682,2683],{},"6 · Build."," Se arma la composición: los clips, los subtítulos y la voz quedan juntos en un solo lugar. En tu máquina.",[202,2686,2687,2690],{},[23,2688,2689],{},"7 · Render."," Se hornea el video a un MP4 con la voz adentro. En tu máquina.",[202,2692,2693,2696],{},[23,2694,2695],{},"8 · Mezcla."," La música entra por debajo de la voz y se empareja el volumen para redes. En tu máquina.",[17,2698,2699],{},"Cuatro de estos ocho pasos gastan saldo (imagen, animar, voz y música). Los otros cuatro corren en tu computadora y no cuestan nada.",[79,2701],{},[45,2703,2705],{"id":2704},"el-cambio","El cambio",[697,2707,2712,2725],{"bad-label":2708,"bad-title":2709,"good-label":2710,"good-title":2711},"ANTES","Editabas pieza por pieza","AHORA","Un solo flujo",[704,2713,2714],{"v-slot:bad":587},[199,2715,2716,2719,2722],{},[202,2717,2718],{},"Cortabas y pegabas cada clip a mano.",[202,2720,2721],{},"Escribías los subtítulos uno por uno.",[202,2723,2724],{},"Buscabas música libre de derechos por horas.",[704,2726,2727,2730,2733],{"v-slot:good":587},[202,2728,2729],{},"Un solo flujo hace imagen, animación, voz, subtítulos y música.",[202,2731,2732],{},"Los subtítulos salen calzados con la voz, palabra por palabra.",[202,2734,2735],{},"La música y los efectos ya vienen en el kit.",[79,2737],{},[45,2739,2741],{"id":2740},"lo-que-cuesta","Lo que cuesta",[17,2743,2744,2745,2748],{},"Voy a ser claro con la plata. En Kie.ai (imagen y animación) pagas por crédito. Una recarga de ",[23,2746,2747],{},"$5 trae 1.000 créditos",". Cada crédito es medio centavo de dólar. Así de barato sale cada pieza.",[17,2750,2751],{},"De los ocho pasos, solo cuatro cuestan. La imagen y la animación gastan créditos de Kie. La voz corre por tu cuenta de ElevenLabs y la música por la de Suno (las dos tienen un plan gratis para arrancar). Los otros cuatro (transcribir, build, render y mezcla) corren en tu computadora y no cuestan nada.",[392,2753],{":items":2754},"[{\"value\":\"$5\",\"label\":\"Una recarga en Kie\",\"caption\":\"Trae 1.000 créditos. Te alcanza para unos 13 videos de 3 escenas.\",\"accent\":true},{\"value\":\"~$0,36\",\"label\":\"Un video de 3 escenas\",\"caption\":\"3 imágenes y 3 clips = 72 créditos. La voz y la música van aparte, en sus cuentas.\"},{\"value\":\"4 de 8\",\"label\":\"Pasos gratis\",\"caption\":\"Transcribir, build, render y mezcla corren en tu máquina, sin costo.\"}]",[17,2756,2757,2758,2761],{},"¿Quieres gastar aún menos? Cambia la imagen al modelo más económico (",[577,2759,2760],{},"nano-banana",", 4 créditos en vez de 6) o reduce la cantidad de escenas. El kit te muestra el saldo antes y después de cada pieza, así siempre sabes en cuánto vas.",[79,2763],{},[45,2765,2767],{"id":2766},"cómo-lo-pones-a-andar","Cómo lo pones a andar",[17,2769,2770],{},"No tienes que memorizar nada. Descomprimes el ZIP y adentro está la guía paso a paso, con cada comando listo para copiar. Este es el panorama de lo que vas a hacer.",[144,2772,2774],{"number":146,"title":2773},"Descomprime el kit y abre el mapa",[17,2775,2776,2777,2780,2781,2784],{},"Adentro hay un archivo ",[577,2778,2779],{},"mapa-mental.html"," que te muestra todo el flujo en una página, y una carpeta ",[577,2782,2783],{},"docs\u002F"," con el paso a paso: instalar, conectar tus cuentas, tu primer video. Ese es tu punto de partida.",[144,2786,2788],{"number":167,"title":2787},"Conecta tus tres cuentas",[17,2789,2790],{},"Creas una cuenta en Kie.ai (imagen y animación), ElevenLabs (voz) y Suno (música). Pegas cada clave una sola vez, guardada en el llavero de tu computadora, nunca en el código. El kit trae el comando exacto y un chequeo que te dice, en verde, si todo quedó bien.",[144,2792,2794],{"number":180,"title":2793},"Escribe tu guion y describe tus escenas",[17,2795,2796],{},"Dos archivos de texto. Uno con lo que va a decir la voz. Otro con la descripción de cada escena: qué se ve y cómo se mueve. Esa es tu parte creativa. El resto lo arma el kit.",[144,2798,2800],{"number":223,"title":2799},"Corre el flujo y recibe tu video",[17,2801,2802],{},"Un solo comando encadena los ocho pasos y te deja el MP4 vertical listo para subir. Si quieres revisar la voz antes de gastar en música y render, puedes frenar el flujo en cualquier paso y seguir después desde donde ibas.",[79,2804],{},[45,2806,2808],{"id":2807},"el-banco-de-sonido-incluido","El banco de sonido incluido",[17,2810,2811],{},"El ZIP trae audio listo para usar. 87 efectos de sonido y 5 pistas de música. Lo que importa no es la cantidad, es cómo están ordenados.",[17,2813,2814,2815,2818],{},"Los efectos no van por cómo suenan, van por su ",[23,2816,2817],{},"función"," en la narración. Aparición, tensión, impacto, reveal, transición, zoom, whoosh, drama, alerta. Y aparte, 16 barridos para cambios de escena. La regla es una: eliges el sonido por lo que hace en pantalla, no por costumbre. Todo zoom lleva su whoosh. Una cifra que pesa (un \"2× más caro\") va con whoosh más impacto: el whoosh acerca, el impacto aterriza.",[17,2820,2821,2822,2825,2826,2829,2830,2833,2834,2837,2838,2841],{},"Las 5 pistas de música están por clima: ",[577,2823,2824],{},"tech-futurista"," para intros, ",[577,2827,2828],{},"tech-minimal"," para narración densa donde manda la voz, ",[577,2831,2832],{},"epico-triunfal"," para cierres con fuerza, ",[577,2835,2836],{},"emocional-piano"," para pausas, ",[577,2839,2840],{},"folk-aventura"," para algo más ligero. Todas instrumentales, pensadas para sentarse debajo de una voz sin taparla.",[12,2843,2845,2848],{"title":2844,"type":452},"Patrón aplicado · el método no depende del proveedor",[17,2846,2847],{},"Fíjate en la forma del flujo: guion → imagen → voz → subtítulos → música → render. Esa secuencia es el método. Los proveedores son piezas cambiables.",[17,2849,2850],{},"Hoy la imagen y la animación son Kie.ai, la voz es ElevenLabs y la música es Suno. Mañana sale un modelo distinto, cambias la pieza y el flujo sigue igual. Tú no reaprendes nada: solo enchufas otra pieza en el mismo lugar. Eso es orquestar sin programar. Aprendes el patrón una vez y lo mueves de proveedor cuando te convenga.",[79,2852],{},[45,2854,461],{"id":460},[199,2856,2857,2860,2863,2866,2872],{},[202,2858,2859],{},"El flujo tiene ocho pasos en orden fijo: imagen, animar, voz, transcribir, música, build, render, mezcla.",[202,2861,2862],{},"Solo cuatro pasos cuestan: imagen, animar, voz y música. Transcribir, build, render y mezcla corren en tu máquina, gratis.",[202,2864,2865],{},"En Kie, una recarga de $5 son 1.000 créditos. Rinde para unos 13 videos de 3 escenas. Cada video sale alrededor de $0,36.",[202,2867,2868,2869,2871],{},"Todo el paso a paso técnico ya viene dentro del ZIP, en la carpeta ",[577,2870,2783],{},". No tienes que memorizar comandos.",[202,2873,2874],{},"La música de fondo va instrumental. Eliges cada efecto de sonido por su función: todo zoom lleva su whoosh.",[79,2876],{},[45,2878,2880],{"id":2879},"qué-viene-después","Qué viene después",[17,2882,2883],{},"El kit hace el trabajo pesado. Pero el resultado depende de lo que le pidas.",[12,2885,2887],{"title":2886,"type":557},"Próximamente · prompts de escena que animan bien",[17,2888,2889,2892],{},[23,2890,2891],{},"Cómo describir la imagen y el movimiento para que el clip salga limpio."," La misma escena anima bien o queda rara según cómo la cuentes. Te muestro qué palabras usar en el movimiento, cómo pedir una imagen sin texto incrustado y por qué eso hace los subtítulos más nítidos.",[79,2894],{},[17,2896,2897,2898,2901,2902,77],{},"Si te quedó una duda concreta: comenta ",[577,2899,2900],{},"EDITOR"," en mi último video o escríbeme por DM en ",[73,2903,585],{"href":583,"rel":2904},[503],{"title":587,"searchDepth":588,"depth":588,"links":2906},[2907,2908,2909,2910,2911,2912,2913,2914],{"id":2595,"depth":588,"text":2596},{"id":2610,"depth":588,"text":2611},{"id":2704,"depth":588,"text":2705},{"id":2740,"depth":588,"text":2741},{"id":2766,"depth":588,"text":2767},{"id":2807,"depth":588,"text":2808},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"El kit que uso para producir un video vertical con IA. Creas la imagen, la animas, le pones voz, subtítulos sincronizados y música. Todo desde la terminal.",{},"avanzado","\u002Fbiblioteca\u002Fedita-video-de-punta-a-punta-con-ia","2026-07-19",{"title":2533,"description":2915},"biblioteca\u002Fedita-video-de-punta-a-punta-con-ia",[2923,2924,2925,2926,2927,2928],"video","ia","kie-ai","elevenlabs","suno","hyperframes","cQIM6fgVQZW-ddOPKVzVWB72cPzoCOq6mOam_rGWsj8",{"id":2931,"title":2932,"author":7,"body":2933,"cover":1448,"description":3429,"extension":601,"meta":3430,"navigation":603,"nivel":1451,"path":3431,"publishedAt":3432,"seo":3433,"stem":3434,"tags":3435,"__hash__":3439},"biblioteca\u002Fbiblioteca\u002Fscrapea-instagram-con-claude.md","Scrapea Instagram con Claude · sin tocar la terminal",{"type":9,"value":2934,"toc":3416},[2935,2949,2953,2960,2963,2966,2986,2993,2999,3001,3005,3008,3032,3034,3036,3081,3083,3087,3090,3097,3104,3106,3110,3113,3116,3119,3122,3131,3133,3137,3140,3143,3173,3175,3179,3182,3200,3212,3241,3257,3259,3263,3266,3301,3303,3307,3314,3323,3326,3329,3339,3341,3343,3378,3380,3382,3402,3404],[12,2936,2938,2941,2946],{"title":2937,"type":15},"¿Apurado? Deja que Claude te lo resuma.",[17,2939,2940],{},"Copia el link de esta página y pégalo en Claude (claude.ai, el escritorio o la app). Le pides:",[17,2942,2943],{},[23,2944,2945],{},"\"Resúmeme esta guía y dime qué necesito para bajar el contenido de una cuenta de Instagram hoy.\"",[17,2947,2948],{},"En 30 segundos tienes lo importante. Si te interesa profundo, te devuelves a la sección que te llame.",[45,2950,2952],{"id":2951},"qué-es-esto-y-para-qué-te-sirve","Qué es esto y para qué te sirve",[17,2954,2955,2956,2959],{},"\"Scrapear\" suena técnico. En cristiano es esto: ",[23,2957,2958],{},"bajar en bloque lo que una cuenta ya muestra en público."," Las fotos, los videos, los textos de cada post, los números de seguidores y likes. Lo mismo que verías entrando al perfil, pero ordenado en carpetas y listo para trabajar.",[17,2961,2962],{},"Lo haces a mano hoy, tal vez. Abres el perfil, guardas una foto, copias un caption, tomas nota de un número. Post por post. Para tres publicaciones aguanta. Para el canal entero, no.",[17,2964,2965],{},"Para qué te sirve tenerlo en carpeta:",[199,2967,2968,2974,2980],{},[202,2969,2970,2973],{},[23,2971,2972],{},"Estudiar tu propio canal."," Qué post funcionó, qué caption dio más, qué formato repites.",[202,2975,2976,2979],{},[23,2977,2978],{},"Aprender de una cuenta que admiras."," Su estructura, su ritmo de publicación, cómo escribe.",[202,2981,2982,2985],{},[23,2983,2984],{},"Juntar material para pensar con Claude."," Le pasas las transcripciones de 12 videos y le pides los temas que se repiten, las ideas de guion, los ganchos.",[17,2987,2988,2989,2992],{},"El scraper que te dejo hace ese trabajo. Y la parte bonita: ",[23,2990,2991],{},"tú no lo tocas."," Claude Code lo instala y lo corre por ti. Le dices la cuenta, él baja todo.",[12,2994,2996],{"title":2995,"type":67},"Solo contenido público",[17,2997,2998],{},"Esto lee lo mismo que cualquiera ve al entrar a un perfil abierto. Cuentas privadas no salen. Es una lupa sobre lo público, no una llave a lo privado. Úsalo para estudiar y aprender, no para molestar a nadie.",[79,3000],{},[45,3002,3004],{"id":3003},"descárgalo-ahora-y-sigue-leyendo","Descárgalo ahora y sigue leyendo",[17,3006,3007],{},"Te dejo el scraper listo. Bájalo de una y lo tienes a mano cuando lleguemos a la instalación. Es una carpeta con el código y las instrucciones que Claude lee solo.",[12,3009,3011,3021],{"title":3010,"type":557},"📦 scraper-instagram-basico.zip",[17,3012,3013],{},[73,3014,3018],{"href":3015,"download":3016,"target":2545,"rel":3017},"https:\u002F\u002Fstorage.googleapis.com\u002Fsantaia-landing-downloads\u002Fscraper-instagram-basico.zip","scraper-instagram-basico.zip",[2547,2548],[23,3019,3020],{},"Descargar scraper-instagram-basico.zip",[17,3022,3023,3024,3027,3028,3031],{},"Descomprímelo donde guardes tus proyectos. Dentro viene el código, un ",[577,3025,3026],{},"README"," y un ",[577,3029,3030],{},"CLAUDE.md"," con las instrucciones que Claude va a leer solo.",[79,3033],{},[45,3035,2705],{"id":2704},[697,3037,3042,3061],{"bad-label":3038,"bad-title":3039,"good-label":3040,"good-title":3041},"A MANO","Post por post","CON CLAUDE","La cuenta entera de una",[704,3043,3044],{"v-slot:bad":587},[199,3045,3046,3049,3052,3055,3058],{},[202,3047,3048],{},"Guardas cada foto con clic derecho",[202,3050,3051],{},"Copias los captions uno por uno",[202,3053,3054],{},"Los videos ni los bajas, y menos los transcribes",[202,3056,3057],{},"Media hora para juntar 10 posts",[202,3059,3060],{},"Todo suelto en la carpeta de descargas",[704,3062,3063,3066,3069,3072,3075],{"v-slot:good":587},[202,3064,3065],{},"Dices la cuenta y el modo, nada más",[202,3067,3068],{},"Claude baja fotos, videos, textos y métricas",[202,3070,3071],{},"Los videos se transcriben solos en tu Mac",[202,3073,3074],{},"Un par de minutos para el canal reciente",[202,3076,3077,3078],{},"Todo ordenado en ",[577,3079,3080],{},"descargas\u002F\u003Ccuenta>\u002F",[79,3082],{},[45,3084,3086],{"id":3085},"por-qué-vale-la-pena","Por qué vale la pena",[392,3088],{":items":3089},"[{\"value\":\"~$0.03\",\"label\":\"por cuenta\",\"caption\":\"una cuenta con 12 posts, vía Apify\",\"accent\":true},{\"value\":\"$0\",\"label\":\"las transcripciones\",\"caption\":\"whisper corre en tu Mac, sin cobro por video\"},{\"value\":\"1\",\"label\":\"sola dependencia\",\"caption\":\"nada de instalar medio internet\"}]",[17,3091,3092,3093,3096],{},"Los números son reales, no adornos. Apify (el servicio que trae los posts) cobra alrededor de ",[23,3094,3095],{},"$2.30 USD por cada 1.000 posts",". Una cuenta normal son centavos. Diez cuentas, unos treinta centavos. Y su plan gratis trae crédito de sobra para probar sin poner tarjeta.",[17,3098,3099,3100,3103],{},"Las transcripciones de video no cuestan nada extra. Corren en tu propio computador con ",[23,3101,3102],{},"whisper",", el modelo de voz a texto de open source. Un video de un minuto tarda entre 10 y 40 segundos. Cero por video.",[79,3105],{},[45,3107,3109],{"id":3108},"así-funciona-por-dentro","Así funciona por dentro",[17,3111,3112],{},"Cuatro pasos encadenados. Tú disparas el primero. El resto se mueve solo.",[3114,3115],"diagram-scraper-flujo",{},[17,3117,3118],{},"La cuenta pública entra por un lado. Apify trae el perfil y los posts. Tu Mac los guarda en carpetas. Y si el post es video, whisper lo transcribe ahí mismo, sin mandar nada a ningún servidor.",[17,3120,3121],{},"Esto es lo que Claude ejecuta por ti. No tienes que escribirlo. Se ve así:",[1013,3123,3125],{"title":3124,"user":1016},"claude corre el scraper",[1018,3126,3129],{"className":3127,"code":3128,"language":1023},[1021],"$ python main.py --cuentas @platzi --modo 4 --si\nScraper Instagram básico · Apify + whisper.cpp local\n\nPlan: Análisis completo del canal · 1 cuenta(s): @platzi\n→ @platzi: scrapeando (hasta 30 posts)...\n  ✓ perfil + 12 posts (seguidores: 1.2M)\n  ✓ análisis en descargas\u002Fplatzi\u002Fanalisis.md\n  ✓ listo: 8 imágenes, 4 videos, 0 transcripciones\n\nResumen del run\n  @platzi: 12 posts · 8 img · 4 videos\n  Costo del run: $0.0299 USD\n  Todo quedó en: descargas\u002F\n",[577,3130,3128],{"__ignoreMap":587},[79,3132],{},[45,3134,3136],{"id":3135},"los-cuatro-modos","Los cuatro modos",[17,3138,3139],{},"Antes de bajar nada, eliges qué quieres. Son cuatro opciones. Claude te las ofrece y tú marcas una.",[3141,3142],"diagram-scraper-modos",{},[199,3144,3145,3151,3157,3163],{},[202,3146,3147,3150],{},[23,3148,3149],{},"Modo 1 · Solo imágenes."," Las fotos y los carruseles, en JPG. Para inspiración visual rápida.",[202,3152,3153,3156],{},[23,3154,3155],{},"Modo 2 · Solo videos."," Los reels en MP4, con la transcripción opcional. Para estudiar guiones y ganchos.",[202,3158,3159,3162],{},[23,3160,3161],{},"Modo 3 · Últimos 5 completos."," Los cinco posts más recientes con todo: fotos, videos y textos. El vistazo balanceado.",[202,3164,3165,3168,3169,3172],{},[23,3166,3167],{},"Modo 4 · Análisis del canal."," Baja los posts recientes y arma un ",[577,3170,3171],{},"analisis.md"," con métricas y los que más rindieron. El más completo.",[79,3174],{},[45,3176,3178],{"id":3177},"instálalo-en-4-pasos-claude-hace-el-trabajo","Instálalo en 4 pasos · Claude hace el trabajo",[17,3180,3181],{},"No vas a escribir código. Ya bajaste la carpeta arriba. La abres con Claude Code, le dices que la instale, y él lee las instrucciones que vienen dentro y hace el resto.",[144,3183,3185,3192],{"number":146,"title":3184},"Ábrela con Claude Code",[17,3186,3187,3188,3191],{},"Claude Code viene con tu plan ",[23,3189,3190],{},"Pro de Claude ($20 al mes)",". Es la misma app que ya usas, en modo terminal.",[17,3193,3194,3195,3199],{},"Descomprime el zip que bajaste arriba y abre esa carpeta con Claude Code (o con Cowork, si lo tienes). Si aún no lo tienes montado, la guía ",[73,3196,3198],{"href":3197},"\u002Fbiblioteca\u002Fempieza-con-claude-desde-cero","Empieza con Claude desde cero"," te deja listo en un rato.",[144,3201,3203,3209],{"number":167,"title":3202},"Dile: instala esto",[17,3204,3205,3206],{},"Escríbele en el chat: ",[23,3207,3208],{},"\"Lee el CLAUDE.md e instala este proyecto.\"",[17,3210,3211],{},"Claude crea el entorno de Python, instala la única dependencia y hace una prueba en seco. No tocas la terminal. Él te va contando cada paso.",[144,3213,3215,3227],{"number":180,"title":3214},"Consigue tu token de Apify",[17,3216,3217,3218,3223,3224,77],{},"Apify es el servicio que trae los posts. Crea una cuenta gratis en ",[73,3219,3222],{"href":3220,"rel":3221},"https:\u002F\u002Fconsole.apify.com",[503],"console.apify.com"," y copia tu token desde ",[23,3225,3226],{},"Settings → Integrations",[17,3228,3229,3230,3233,3234,3237,3238,77],{},"Claude te lo pide una vez y lo guarda en el ",[23,3231,3232],{},"Keychain de tu Mac",", la caja fuerte del sistema. Nunca queda en un archivo. Si quieres entender por qué ahí y no en un ",[577,3235,3236],{},".env",", lee ",[73,3239,3240],{"href":160},"No uses .env, tu computador ya tiene caja fuerte",[144,3242,3244,3250],{"number":223,"title":3243},"Dile qué cuenta bajar",[17,3245,3246,3247],{},"Ya está. Ahora solo pides: ",[23,3248,3249],{},"\"Baja el análisis del canal de @lacuenta.\"",[17,3251,3252,3253,3256],{},"Claude te muestra el costo estimado, espera tu ok y baja todo a ",[577,3254,3255],{},"descargas\u002F",". Cuando termina, te resume qué encontró.",[79,3258],{},[45,3260,3262],{"id":3261},"lo-que-no-hace-para-que-no-te-sorprenda","Lo que NO hace · para que no te sorprenda",[17,3264,3265],{},"Honestidad primero. Esto tiene límites, y conviene saberlos antes que descubrirlos a mitad de camino.",[12,3267,3269],{"title":3268,"type":138},"Los cinco límites reales",[199,3270,3271,3277,3283,3289,3295],{},[202,3272,3273,3276],{},[23,3274,3275],{},"El feed público entrega unos 12 posts recientes por cuenta",", aunque pidas más. El histórico completo no llega por esta vía. El \"análisis\" mira la muestra reciente, no toda la vida del canal.",[202,3278,3279,3282],{},[23,3280,3281],{},"Los links de video expiran en uno o dos días."," Si un video falla al bajar, vuelve a correr el scrape de esa cuenta para refrescarlo.",[202,3284,3285,3288],{},[23,3286,3287],{},"Cuentas privadas no salen."," Apify solo ve lo público.",[202,3290,3291,3294],{},[23,3292,3293],{},"Links de un post suelto no sirven de entrada."," Pasa la arroba o el link del perfil, no el de un reel.",[202,3296,3297,3300],{},[23,3298,3299],{},"Los videos dentro de un carrusel no se bajan."," Solo los posts de video directos.",[79,3302],{},[45,3304,3306],{"id":3305},"ejemplo-real-mi-propio-canal","Ejemplo real · mi propio canal",[17,3308,3309,3310,3313],{},"Lo primero que hice fue apuntarme a mí. Corrí el modo 4 sobre ",[73,3311,585],{"href":583,"rel":3312},[503],", mi cuenta.",[17,3315,3316,3317,3319,3320],{},"En dos minutos tenía el ",[577,3318,3171],{},": los posts recientes ordenados por rendimiento, los números de cada uno y las transcripciones de los reels. Le pasé todo eso a Claude en un chat aparte y le pedí una cosa concreta: ",[23,3321,3322],{},"\"Dime qué temas repito y cuáles ganchos me dieron más guardados.\"",[17,3324,3325],{},"La respuesta me sirvió más que una hora mirando el perfil a ojo. Vi un patrón que no había notado. Los reels donde abro con una pregunta directa retienen más. Ahora los abro casi todos así.",[17,3327,3328],{},"Ese es el punto. El scraper no es el final. Es el material. Lo interesante pasa cuando ese material entra a un cerebro que piensa.",[12,3330,3332],{"title":3331,"type":452},"Patrón aplicado · el dato crudo no sirve solo",[17,3333,3334,3335,3338],{},"En santa-ia repetimos una idea: la herramienta baja, el cerebro entiende. Apify trae los posts, whisper los pasa a texto, pero el salto lo da Claude cuando le pides que ",[23,3336,3337],{},"encuentre el patrón",". Aprende a orquestar esas piezas y dejas de depender de mirar todo a mano.",[79,3340],{},[45,3342,461],{"id":460},[199,3344,3345,3351,3360,3366,3372],{},[202,3346,3347,3350],{},[23,3348,3349],{},"Scrapear es bajar en bloque lo público."," Una lupa ordenada sobre lo que ya está a la vista.",[202,3352,3353,3356,3357,3359],{},[23,3354,3355],{},"Tú no tocas la terminal."," Claude lee el ",[577,3358,3030],{},", instala y corre por ti.",[202,3361,3362,3365],{},[23,3363,3364],{},"Cuesta centavos."," Unos $0.03 por cuenta. Las transcripciones, cero.",[202,3367,3368,3371],{},[23,3369,3370],{},"El token vive en el Keychain",", nunca en un archivo.",[202,3373,3374,3377],{},[23,3375,3376],{},"Trae la muestra reciente",", no el histórico entero. Cuéntalo cuando lo uses.",[79,3379],{},[45,3381,2880],{"id":2879},[12,3383,3385,3388],{"title":3384,"type":557},"El siguiente paso: darle un cerebro a lo que bajaste",[17,3386,3387],{},"Ya tienes el material en carpeta. La próxima parada es meterlo en un sistema que lo recuerde y lo cruce con el resto de tu trabajo.",[199,3389,3390,3396],{},[202,3391,3392,3395],{},[73,3393,3394],{"href":274},"JARVIS, tu cerebro local"," para que ese material no se quede muerto en una carpeta.",[202,3397,3398,3401],{},[73,3399,3400],{"href":1544},"Pídele HTML a Claude, no texto plano"," para convertir el análisis en algo que se vea.",[79,3403],{},[17,3405,3406,3407,2901,3412,3415],{},"Si pruebas esto con alguna cuenta y se te traba algo, comenta ",[23,3408,3409],{},[577,3410,3411],{},"SCRAPER",[73,3413,585],{"href":583,"rel":3414},[503],". Las dudas reales son el material del próximo artículo.",{"title":587,"searchDepth":588,"depth":588,"links":3417},[3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428],{"id":2951,"depth":588,"text":2952},{"id":3003,"depth":588,"text":3004},{"id":2704,"depth":588,"text":2705},{"id":3085,"depth":588,"text":3086},{"id":3108,"depth":588,"text":3109},{"id":3135,"depth":588,"text":3136},{"id":3177,"depth":588,"text":3178},{"id":3261,"depth":588,"text":3262},{"id":3305,"depth":588,"text":3306},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"Descarga imágenes, videos, textos y métricas de una cuenta pública. Claude instala y opera el scraper por ti. Tú solo dices qué cuenta y qué modo.",{},"\u002Fbiblioteca\u002Fscrapea-instagram-con-claude","2026-07-08",{"title":2932,"description":3429},"biblioteca\u002Fscrapea-instagram-con-claude",[3436,3437,1456,3438,615],"scraping","instagram","apify","8hqfdKZvBHHp79lmyPAoPU2kAbCahtgop6raUtKt1yg",{"id":3441,"title":3442,"author":7,"body":3443,"cover":1448,"description":3829,"extension":601,"meta":3830,"navigation":603,"nivel":1451,"path":329,"publishedAt":3831,"seo":3832,"stem":3833,"tags":3834,"__hash__":3838},"biblioteca\u002Fbiblioteca\u002Ftu-primera-skill-desde-cero.md","Tu primera skill desde cero · la receta que se ejecuta sola",{"type":9,"value":3444,"toc":3814},[3445,3457,3461,3464,3467,3470,3474,3477,3481,3484,3487,3490,3493,3496,3500,3503,3509,3515,3521,3527,3531,3534,3537,3540,3543,3546,3549,3552,3555,3559,3562,3589,3617,3638,3642,3645,3659,3663,3666,3669,3672,3675,3679,3715,3727,3729,3758,3761,3763,3766,3778,3782,3785,3802,3804],[12,3446,3447,3449,3454],{"title":14,"type":15},[17,3448,2582],{},[17,3450,3451],{},[23,3452,3453],{},"\"Resúmeme esta guía y dime qué tarea mía sería una buena primera skill.\"",[17,3455,3456],{},"En 30 segundos tienes la idea central aplicada a tu caso. Después te devuelves a la sección que te interese.",[45,3458,3460],{"id":3459},"el-problema-la-tarea-que-repites-a-mano-cada-semana","El problema · la tarea que repites a mano cada semana",[17,3462,3463],{},"Hay una tarea que haces todas las semanas. La misma. El resumen de lo que pasó, el mensaje de bienvenida al cliente nuevo, el caption del próximo post.",[17,3465,3466],{},"Cada vez la haces igual. Y cada vez la empiezas de cero. Abres el chat, le explicas a Claude el contexto, le dictas los pasos uno por uno, corriges el tono, vuelves a pedirle que lo acorte. Diez minutos. La semana siguiente, los mismos diez minutos. Los mismos pasos dictados otra vez.",[17,3468,3469],{},"No es que la tarea sea difícil. Es que la estás explicando desde cero cada vez. Tú ya sabes cómo se hace. El problema es que ese \"cómo\" vive solo en tu cabeza, así que toca sacarlo a mano en cada turno.",[45,3471,3473],{"id":3472},"la-tesis","La tesis",[17,3475,3476],{},"Todo proceso que repites se puede partir en pasos. Y esos pasos se pueden guardar en una receta. Una vez guardada, la receta se ejecuta sola: tú dices la palabra y el cerebro corre los pasos sin que se los vuelvas a dictar.",[45,3478,3480],{"id":3479},"qué-es-una-skill","Qué es una skill",[17,3482,3483],{},"Piensa en la receta de la abuela escrita en una ficha.",[17,3485,3486],{},"La abuela hace el ajiaco de memoria. Nunca falla. Pero el día que no está, nadie sabe cuánto de cada cosa va ni en qué orden. El conocimiento se fue con ella.",[17,3488,3489],{},"Ahora imagina que un día se sentó y lo escribió. Ingredientes, cantidades, pasos, punto exacto. Cualquiera toma la ficha, la sigue al pie de la letra y le sale igual. La abuela ya no tiene que estar al lado.",[17,3491,3492],{},"Una skill es eso. Una ficha guardada en un archivo. Dentro dice tres cosas: cuándo se dispara, qué pasos sigue y qué entrega. Cuando le das la frase que la activa, se despierta, corre los pasos y devuelve el resultado. Cuando termina, se vuelve a guardar y queda lista para la próxima.",[3494,3495],"diagram-ciclo-skill",{},[45,3497,3499],{"id":3498},"la-anatomía-de-una-skill","La anatomía de una skill",[17,3501,3502],{},"Toda skill tiene cuatro partes. Si te falta una, la receta queda coja.",[144,3504,3506],{"number":146,"title":3505},"El nombre",[17,3507,3508],{},"Cómo se llama la receta. Corto y claro. \"Resumen de la semana\", \"Bienvenida a cliente\", \"Caption\". El nombre es lo que cargas cuando la skill está dormida, nada más. Pesa casi nada y te dice de qué se trata.",[144,3510,3512],{"number":167,"title":3511},"La frase que la dispara",[17,3513,3514],{},"Las palabras exactas que la despiertan. \"Hazme el resumen de la semana\". Cuando escribes esa frase, la skill entiende que es su turno y se activa. Sin esa frase, sigue dormida.",[144,3516,3518],{"number":180,"title":3517},"Los pasos",[17,3519,3520],{},"El corazón de la receta. La lista ordenada de qué hacer, en qué orden. Primero esto, después aquello, luego lo otro. Son los pasos que hoy le dictas a mano cada vez. Aquí los escribes una sola vez y quedan fijos.",[144,3522,3524],{"number":223,"title":3523},"Qué entrega",[17,3525,3526],{},"El resultado final, descrito con precisión. No \"un resumen\", sino \"un resumen de media página, por proyecto, con logros y pendientes\". Mientras más claro digas qué quieres recibir, más parecido sale cada vez.",[45,3528,3530],{"id":3529},"de-qué-tarea-sale-tu-primera-skill","De qué tarea sale tu primera skill",[17,3532,3533],{},"No todas las tareas merecen una receta. Y la primera no la eliges al azar. Sale de un sitio concreto.",[17,3535,3536],{},"Cruza dos preguntas. Una: ¿cuánto se repite esta tarea? Poco o mucho. Dos: ¿qué pasa si sale mal? Riesgo bajo o riesgo alto.",[17,3538,3539],{},"Con esas dos preguntas armas una cuadrícula de cuatro cajones.",[3541,3542],"diagram-cuadrante-oro",{},[17,3544,3545],{},"El eje de abajo mide cuánto se repite la tarea. A la izquierda, las que haces de vez en cuando. A la derecha, las que haces siempre.",[17,3547,3548],{},"El eje de la izquierda mide el riesgo de equivocarte. Abajo, las tareas donde un error no pasa nada (reescribes y ya). Arriba, las tareas donde un error duele (mandaste plata de más, firmaste algo que no era).",[17,3550,3551],{},"El cajón de abajo a la derecha es el cuadrante de oro. Se repite mucho y el riesgo es bajo. Ahí vive el resumen semanal. Ahí vive el caption. Tu primera skill siempre sale de ese cajón.",[17,3553,3554],{},"El cajón de arriba a la izquierda es el contrario. Se repite poco y el riesgo es alto. Mandar dinero. Firmar algo. Eso no se automatiza todavía. Si pasa una sola vez al año y un error cuesta caro, no hay receta que valga el riesgo.",[45,3556,3558],{"id":3557},"tres-recetas-para-que-te-hagas-la-idea","Tres recetas para que te hagas la idea",[17,3560,3561],{},"Mira tres skills reales del cuadrante de oro. Cada una con sus tres partes claras: cuándo se dispara, qué pasos sigue y qué entrega.",[144,3563,3565,3571,3577,3583],{"number":816,"title":3564},"Resumen de la semana",[17,3566,3567,3570],{},[23,3568,3569],{},"Cuándo se dispara:"," \"hazme el resumen de la semana\".",[17,3572,3573,3576],{},[23,3574,3575],{},"Pasos:"," 1) lee mis notas de los últimos 7 días. 2) agrúpalas por proyecto. 3) saca 3 logros y 3 pendientes de cada uno. 4) escríbelo en media página.",[17,3578,3579,3582],{},[23,3580,3581],{},"Qué entrega:"," un resumen de media página, por proyecto, con logros y pendientes.",[17,3584,3585,3588],{},[23,3586,3587],{},"Por qué es buena primera skill:"," se repite cada semana y el riesgo es bajo. Cuadrante de oro puro.",[144,3590,3592,3601,3606,3611],{"number":826,"title":3591},"Bienvenida a un cliente nuevo",[17,3593,3594,3596,3597,3600],{},[23,3595,3569],{}," \"redacta la bienvenida para ",[1587,3598,3599],{},"cliente","\".",[17,3602,3603,3605],{},[23,3604,3575],{}," 1) toma el nombre del cliente y el servicio que contrató. 2) usa mi tono de marca. 3) explica los 3 pasos del onboarding. 4) cierra con mi firma.",[17,3607,3608,3610],{},[23,3609,3581],{}," un mensaje listo para copiar y enviar.",[17,3612,3613,3616],{},[23,3614,3615],{},"Por qué es buena:"," la escribes igual cada vez. La receta te ahorra rehacerla.",[144,3618,3620,3628,3633],{"number":836,"title":3619},"Caption para Instagram",[17,3621,3622,3624,3625,3600],{},[23,3623,3569],{}," \"arma el caption de ",[1587,3626,3627],{},"tema",[17,3629,3630,3632],{},[23,3631,3575],{}," 1) toma el tema. 2) abre con un gancho corto. 3) desarrolla en frases cortas con mi voz. 4) cierra con una sola idea fuerte. 5) sin palabras prohibidas.",[17,3634,3635,3637],{},[23,3636,3581],{}," un caption listo, en mi voz.",[45,3639,3641],{"id":3640},"la-prueba-del-desconocido","La prueba del desconocido",[17,3643,3644],{},"¿Cómo sabes si tu receta está lista de verdad? Con una prueba simple.",[12,3646,3647,3650,3653,3656],{"title":3641,"type":452},[17,3648,3649],{},"Dale tu receta a otra persona. Alguien que no estuvo cuando la armaste. Que la lea y la ejecute sin ti al lado.",[17,3651,3652],{},"Si le sale igual que a ti, ya es una skill. La receta se basta sola.",[17,3654,3655],{},"Si te tiene que preguntar \"¿y esto qué significa?\" o \"¿en qué orden va?\", todavía le falta. Eso que tuviste que explicarle de viva voz es un paso que no escribiste. Súbelo a la receta y vuelve a probar.",[17,3657,3658],{},"La regla es esa: si necesita que le expliques, no está terminada.",[45,3660,3662],{"id":3661},"el-filtro-n3","El filtro N=3",[17,3664,3665],{},"Cuidado con un error común. Hacer una tarea una sola vez y correr a volverla receta. Escribir una skill toma tiempo. Si la tarea no se repite, ese tiempo no se paga.",[17,3667,3668],{},"Usa este filtro antes de guardar nada.",[392,3670],{":items":3671},"[{\"value\":\"1ª\",\"label\":\"es knowledge\",\"caption\":\"la primera vez, solo apúntala. Una nota de cómo lo hiciste.\"},{\"value\":\"2ª\",\"label\":\"sospecha\",\"caption\":\"la segunda vez, mira si los pasos se parecen. Toma nota mental.\"},{\"value\":\"3ª\",\"label\":\"hazla skill\",\"caption\":\"la tercera vez ya es un patrón. Ahora sí vale la receta.\",\"accent\":true}]",[17,3673,3674],{},"La primera vez no sabes si va a volver. La segunda ya sospechas. La tercera es un patrón confirmado, y un patrón confirmado se paga solo. Antes de eso, estás escribiendo recetas para platos que no vuelves a cocinar.",[45,3676,3678],{"id":3677},"a-mano-o-con-una-frase","A mano o con una frase",[697,3680,3685,3701],{"bad-label":3681,"bad-title":3682,"good-label":3683,"good-title":3684},"A MANO CADA VEZ","Dictas los pasos en cada turno","UNA FRASE Y LISTO","La receta corre sola",[704,3686,3687],{"v-slot:bad":587},[199,3688,3689,3692,3695,3698],{},[202,3690,3691],{},"Abres el chat y explicas el contexto de cero",[202,3693,3694],{},"Dictas los pasos uno por uno, otra vez",[202,3696,3697],{},"Corriges el tono y la longitud a mano",[202,3699,3700],{},"La semana siguiente repites los mismos diez minutos",[704,3702,3703,3706,3709,3712],{"v-slot:good":587},[202,3704,3705],{},"Dices la frase que dispara la skill",[202,3707,3708],{},"Los pasos ya están guardados, no los dictas",[202,3710,3711],{},"El tono y la longitud salen fijos cada vez",[202,3713,3714],{},"La semana siguiente es la misma frase y listo",[12,3716,3718,3721,3724],{"title":3717,"type":452},"Patrón aplicado · con tu primera skill subes un escalón",[17,3719,3720],{},"Hay una diferencia entre ejecutar y orquestar. Ejecutar es hacer la tarea con tus manos cada vez. Orquestar es decir qué se hace y dejar que el cerebro lo corra.",[17,3722,3723],{},"Tu primera skill es justo ese salto. Dejas de teclear los pasos y pasas a dirigir. En el mapa de santa-ia es el escalón 2: automatizar desde el chat, sin programar nada.",[17,3725,3726],{},"Y fíjate en algo. Una receta no depende del modelo que uses hoy. Es el método, no el proveedor. Cambias de herramienta el año que viene y la receta sigue sirviendo, porque lo que guardaste fueron tus pasos, no los de la máquina.",[45,3728,461],{"id":460},[12,3730,3732],{"title":3731,"type":557},"La chuleta",[495,3733,3734,3740,3746,3752],{},[202,3735,3736,3739],{},[23,3737,3738],{},"Una skill es una receta guardada."," Cuándo se dispara, qué pasos sigue, qué entrega.",[202,3741,3742,3745],{},[23,3743,3744],{},"La primera sale del cuadrante de oro."," Algo que repites mucho y donde un error no duele.",[202,3747,3748,3751],{},[23,3749,3750],{},"La prueba del desconocido manda."," Si otra persona la ejecuta igual sin ti, está lista.",[202,3753,3754,3757],{},[23,3755,3756],{},"Filtro N=3."," Una vez es nota, dos es sospecha, tres es skill. No antes.",[17,3759,3760],{},"Y una frase para que se te quede. Lo haces una vez, lo haces dos, a la tercera no lo haces tú, lo hace tu cerebro.",[45,3762,2880],{"id":2879},[17,3764,3765],{},"Ya tienes la receta. Pero hay un detalle. Una skill corre los pasos, pero no se acuerda de lo que pasó ayer. Arranca en blanco cada vez.",[12,3767,3769,3775],{"title":3768,"type":557},"Próximamente · dale memoria a tu cerebro",[17,3770,3771,3774],{},[23,3772,3773],{},"Cómo darle memoria al cerebro para que se acuerde de ayer."," Una skill ejecuta. La memoria recuerda. Cuando juntas las dos, tu cerebro deja de empezar de cero en cada sesión y empieza a construir sobre lo de antes.",[17,3776,3777],{},"Es el paso que vuelve sostenible todo lo que automatizas.",[810,3779,3781],{"id":3780},"sigue-leyendo","Sigue leyendo",[17,3783,3784],{},"Si esto te abrió la cabeza, sigue por aquí. Dos guías al lado de esta idea y una que va más a fondo:",[199,3786,3787,3793,3798],{},[202,3788,3789],{},[73,3790,3792],{"href":3791},"\u002Fbiblioteca\u002Fpensamiento-organizado-una-capa-un-dueno","Pensamiento organizado · una capa, un dueño",[202,3794,3795],{},[73,3796,3797],{"href":75},"Así consume tokens el cerebro",[202,3799,3800],{},[73,3801,275],{"href":274},[79,3803],{},[17,3805,3806,3807,3810,3811,77],{},"Si te quedó una duda concreta sobre cuál sería tu primera skill: comenta ",[577,3808,3809],{},"SKILL"," en mi último post o escríbeme por DM en ",[73,3812,585],{"href":583,"rel":3813},[503],{"title":587,"searchDepth":588,"depth":588,"links":3815},[3816,3817,3818,3819,3820,3821,3822,3823,3824,3825,3826],{"id":3459,"depth":588,"text":3460},{"id":3472,"depth":588,"text":3473},{"id":3479,"depth":588,"text":3480},{"id":3498,"depth":588,"text":3499},{"id":3529,"depth":588,"text":3530},{"id":3557,"depth":588,"text":3558},{"id":3640,"depth":588,"text":3641},{"id":3661,"depth":588,"text":3662},{"id":3677,"depth":588,"text":3678},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880,"children":3827},[3828],{"id":3780,"depth":1433,"text":3781},"Una skill es una receta guardada. Cuando se dispara, sigue los pasos y entrega. Te muestro de qué tarea tuya sale la primera.",{},"2026-06-15",{"title":3442,"description":3829},"biblioteca\u002Ftu-primera-skill-desde-cero",[3835,15,615,3836,3837],"skills","segundo-cerebro","productividad","aRPraMNCQR6pxZsDzjNrfkLnIzp1SIbouqWLfrRpxrc",{"id":3840,"title":3841,"author":7,"body":3842,"cover":1448,"description":4308,"extension":601,"meta":4309,"navigation":603,"nivel":604,"path":4310,"publishedAt":4311,"seo":4312,"stem":4313,"tags":4314,"__hash__":4318},"biblioteca\u002Fbiblioteca\u002Fanatomia-de-un-buen-prompt.md","Anatomía de un buen prompt · las 7 partes que cambian la respuesta",{"type":9,"value":3843,"toc":4292},[3844,3855,3859,3862,3865,3868,3870,3874,3877,3880,3883,3886,3922,3924,3928,3931,3934,3949,3964,3979,3994,4009,4024,4039,4041,4045,4048,4051,4054,4058,4065,4068,4072,4079,4082,4086,4093,4096,4099,4103,4106,4143,4146,4148,4152,4155,4158,4167,4169,4173,4176,4179,4199,4202,4204,4213,4215,4219,4222,4228,4230,4232,4267,4269,4271,4274,4277,4279,4288],[12,3845,3846,3848,3853],{"title":14,"type":15},[17,3847,2940],{},[17,3849,3850],{},[23,3851,3852],{},"\"Resúmeme esta guía y dime cuáles son las 7 partes de un buen prompt y cuáles me estoy saltando.\"",[17,3854,2948],{},[45,3856,3858],{"id":3857},"el-problema-le-hablas-a-la-ia-como-por-whatsapp","El problema · le hablas a la IA como por WhatsApp",[17,3860,3861],{},"Escribes \"hazme un correo para un cliente\" y le das enter. Llega algo genérico, frío, que no usarías nunca. O escribes \"resúmeme esto\" y te devuelve un resumen plano que no toca lo que a ti te importaba. Cierras la pestaña. Y luego le cuentas a alguien que \"la IA no entiende\" o que \"responde muy genérico\".",[17,3863,3864],{},"La parte que no es obvia: el problema casi nunca es la IA. Es la instrucción. Le pediste poco y te respondió en consecuencia.",[17,3866,3867],{},"La diferencia entre un resultado mediocre y uno afilado rara vez es que cambiaste de modelo. Es que le dijiste con más claridad qué querías. Esa es la idea raíz de santa-ia: el método importa más que la herramienta. Y el método empieza por cómo armas la instrucción.",[79,3869],{},[45,3871,3873],{"id":3872},"el-cambio-de-chip-de-mensaje-a-instrucción-clara","El cambio de chip · de mensaje a instrucción clara",[17,3875,3876],{},"No es un mensaje apurado. Son instrucciones claras.",[17,3878,3879],{},"Piensa en cuando le pides algo a alguien que te va a ayudar. Si solo dices \"hazme algo bonito\" y lo dejas solo, recibes cualquier cosa. Si le explicas qué quieres, le das contexto de quién eres, le muestras un ejemplo de lo que te gusta y le dices el formato, el tono y qué evitar, recibes algo que sí se parece a lo que tenías en la cabeza.",[17,3881,3882],{},"Un prompt es eso mismo. Le explicas a la IA qué necesitas, con la misma claridad con la que se lo explicarías a una persona.",[17,3884,3885],{},"Cuando le hablas como por WhatsApp, recibes lo que recibirías de alguien que apenas entendió la mitad de lo que le pediste. Cuando le das instrucciones claras, recibes algo que ya se parece a lo que querías.",[697,3887,3892,3908],{"bad-label":3888,"bad-title":3889,"good-label":3890,"good-title":3891},"MENSAJE","Le escribes como por WhatsApp","INSTRUCCIÓN CLARA","Le das instrucciones claras",[704,3893,3894],{"v-slot:bad":587},[199,3895,3896,3899,3902,3905],{},[202,3897,3898],{},"Un mensaje apurado tipo \"hazme un correo para un cliente\"",[202,3900,3901],{},"Sin contexto de quién eres ni de quién es el cliente",[202,3903,3904],{},"Sin decir el tono ni el formato que esperas",[202,3906,3907],{},"Sin un ejemplo de lo que tienes en la cabeza",[704,3909,3910,3913,3916,3919],{"v-slot:good":587},[202,3911,3912],{},"Le dices qué rol tomar antes de empezar",[202,3914,3915],{},"Le das el contexto y el material con el que va a trabajar",[202,3917,3918],{},"Le pides un formato concreto, no \"algo bonito\"",[202,3920,3921],{},"Le muestras un ejemplo y le dices qué evitar",[79,3923],{},[45,3925,3927],{"id":3926},"la-anatomía-las-7-partes-de-un-prompt","La anatomía · las 7 partes de un prompt",[3929,3930],"diagram-anatomia-prompt",{},[17,3932,3933],{},"No todas van siempre. Para una pregunta trivial te sobra con una sola. Pero estas son las piezas que tienes disponibles. Cuando un resultado te salió genérico, casi siempre es porque te saltaste varias de estas sin darte cuenta.",[144,3935,3937,3940,3946],{"number":146,"title":3936},"Rol",[17,3938,3939],{},"Quién quieres que sea mientras responde. Le pones un sombrero antes de empezar.",[1018,3941,3944],{"className":3942,"code":3943,"language":1023},[1021],"Actúa como un editor exigente de newsletters.\n",[577,3945,3943],{"__ignoreMap":587},[17,3947,3948],{},"Esto cambia el tono y el criterio con el que te responde. No es lo mismo que conteste \"como buscador\" que como un editor que va a tachar lo que sobra.",[144,3950,3952,3955,3961],{"number":167,"title":3951},"Contexto",[17,3953,3954],{},"El trasfondo y el material con el que va a trabajar. Quién eres, para quién es, y los datos que necesita tener a la vista.",[1018,3956,3959],{"className":3957,"code":3958,"language":1023},[1021],"Escribo para dueños de PyMEs que no son técnicos.\nAquí está el borrador del correo: ...\n",[577,3960,3958],{"__ignoreMap":587},[17,3962,3963],{},"Sin contexto, la IA rellena los huecos con suposiciones. Y rellena genérico.",[144,3965,3967,3970,3976],{"number":180,"title":3966},"Tarea",[17,3968,3969],{},"El verbo de acción. Qué quieres exactamente. Es el corazón del prompt. Si solo pones una parte, que sea esta.",[1018,3971,3974],{"className":3972,"code":3973,"language":1023},[1021],"Reescribe este correo para que sea más claro y directo.\n",[577,3975,3973],{"__ignoreMap":587},[17,3977,3978],{},"\"Reescribe\", \"resume\", \"compara\", \"traduce\", \"genera\". Un verbo concreto y qué le aplicas.",[144,3980,3982,3985,3991],{"number":223,"title":3981},"Formato",[17,3983,3984],{},"Cómo lo quieres entregado. La forma de la respuesta, no su contenido.",[1018,3986,3989],{"className":3987,"code":3988,"language":1023},[1021],"Devuélvemelo en máximo 120 palabras, en 3 párrafos cortos.\n",[577,3990,3988],{"__ignoreMap":587},[17,3992,3993],{},"Si no dices el formato, la IA elige uno. Y casi nunca elige el que tú tenías en mente.",[144,3995,3997,4000,4006],{"number":250,"title":3996},"Restricciones",[17,3998,3999],{},"Qué NO hacer. A veces lo que quitas pesa más que lo que pides.",[1018,4001,4004],{"className":4002,"code":4003,"language":1023},[1021],"No uses tecnicismos. No prometas plazos.\nNo uses la palabra \"sinergia\".\n",[577,4005,4003],{"__ignoreMap":587},[17,4007,4008],{},"Las restricciones son lo que evita que el resultado salga inflado, lleno de relleno o con palabras que tú nunca usarías.",[144,4010,4012,4015,4021],{"number":278,"title":4011},"Ejemplos",[17,4013,4014],{},"Le muestras el resultado que esperas. En el mundo de los prompts a esto se le llama \"few-shot\": le das una o dos muestras y la IA calca el tono.",[1018,4016,4019],{"className":4017,"code":4018,"language":1023},[1021],"Aquí tienes un correo que sí me gustó, como referencia de tono: ...\n",[577,4020,4018],{"__ignoreMap":587},[17,4022,4023],{},"Esto es lo que casi nadie pone. Y es lo que más sube la calidad. Un solo ejemplo bueno le dice más sobre tu estilo que tres párrafos describiéndolo.",[144,4025,4027,4030,4036],{"number":310,"title":4026},"Criterio de éxito",[17,4028,4029],{},"Cómo sabrá que lo hizo bien. Le das la vara con la que medir su propia respuesta.",[1018,4031,4034],{"className":4032,"code":4033,"language":1023},[1021],"Quedará bien si un cliente lo entiende en una sola lectura\ny siente que le hablo de tú a tú.\n",[577,4035,4033],{"__ignoreMap":587},[17,4037,4038],{},"Cuando le das el criterio, la IA ya no adivina si terminó. Se mide contra algo concreto.",[79,4040],{},[45,4042,4044],{"id":4043},"míralo-en-acción-el-mismo-objetivo-tres-prompts","Míralo en acción · el mismo objetivo, tres prompts",[4046,4047],"diagram-prompt-pobre-vs-rico",{},[17,4049,4050],{},"Tomemos un objetivo concreto: una página web para un negocio. Digamos una repostería que vende tortas por encargo. La gracia de este ejemplo es que el resultado es un solo archivo HTML que abres con doble clic en tu navegador. Y puedes probar el mismo prompt gratis en ChatGPT, en Gemini o en Claude.",[17,4052,4053],{},"Es el experimento perfecto para ver con tus propios ojos cómo cambia el resultado. Copia cada prompt de aquí abajo, pégalo en la IA que tengas a mano y compara lo que te llega en cada nivel.",[810,4055,4057],{"id":4056},"nivel-1-el-prompt-pobre","Nivel 1 · el prompt pobre",[1018,4059,4063],{"className":4060,"code":4061,"filename":4062,"language":1023,"meta":587},[1021],"hazme una página web para mi negocio\n","prompt-pobre.txt",[577,4064,4061],{"__ignoreMap":587},[17,4066,4067],{},"Esto es lo que sale cuando le hablas como por WhatsApp. La IA no sabe qué negocio tienes, ni para quién es, ni cómo lo quieres. Te llega una página gris, con textos de relleno, que no se parece a ti en nada. La cierras y piensas que la IA \"no sirve\".",[810,4069,4071],{"id":4070},"nivel-2-el-prompt-a-medias","Nivel 2 · el prompt a medias",[1018,4073,4077],{"className":4074,"code":4075,"filename":4076,"language":1023,"meta":587},[1021],"Hazme una página web sencilla para mi repostería \"Dulce Aurora\".\nVendemos tortas por encargo en Medellín y los pedidos llegan por WhatsApp.\nQuiero un solo archivo HTML que pueda abrir en mi computador.\n","prompt-a-medias.txt",[577,4078,4075],{"__ignoreMap":587},[17,4080,4081],{},"Esto ya mejora bastante. Le diste la tarea, algo de contexto y el formato. La página ahora habla de tu repostería y de tu ciudad. Pero la IA todavía decide sola los colores, el tono y qué secciones poner. Te faltaron cuatro de las 7 partes: el rol, las restricciones, el ejemplo de tono y el criterio de éxito.",[810,4083,4085],{"id":4084},"nivel-3-el-prompt-completo","Nivel 3 · el prompt completo",[1018,4087,4091],{"className":4088,"code":4089,"filename":4090,"language":1023,"meta":587},[1021],"ROL: Actúa como un diseñador web que trabaja con negocios pequeños y entrega páginas listas para usar.\n\nCONTEXTO: Tengo una repostería llamada \"Dulce Aurora\". Vendemos tortas por encargo en Medellín y los pedidos llegan por WhatsApp. Mis clientes son familias que celebran cumpleaños y fechas especiales. No tengo página web y no sé programar.\n\nTAREA: Créame la página web de \"Dulce Aurora\".\n\nFORMATO: Un solo archivo HTML con los estilos adentro, que funcione al abrirlo con doble clic en cualquier navegador. Secciones: portada con el nombre y una frase, 3 tortas destacadas con su precio, cómo pedir, y un botón grande que abra WhatsApp.\n\nRESTRICCIONES: No uses librerías externas ni imágenes de internet. Colores cálidos: crema, rosa y chocolate. Todos los textos en español. Nada de texto de relleno: escribe textos reales de repostería.\n\nEJEMPLO: El tono de los textos, como esta frase: \"Tortas hechas en casa, como las de la abuela, para que tu celebración sepa a hogar.\"\n\nCRITERIO: Quedará bien si al abrirlo parece la página de una repostería de verdad y mi mamá puede entenderla y pedir una torta sin ayuda.\n","prompt-completo.txt",[577,4092,4089],{"__ignoreMap":587},[17,4094,4095],{},"Ahora te llega una página que ya se parece a lo que tenías en la cabeza. Con tu tono, tus colores y tus secciones. Casi lista para usar.",[17,4097,4098],{},"Misma IA. Mismo día. Solo cambió el prompt. Pega los tres niveles seguidos en la misma IA gratis y vas a sentir el salto de uno al otro.",[810,4100,4102],{"id":4101},"el-remate-pégalo-una-vez-y-no-lo-repitas-más","El remate · pégalo una vez y no lo repitas más",[17,4104,4105],{},"Si usas Claude Code, hay un detalle que te ahorra tiempo. Las partes que nunca cambian (tu rol, tu contexto, tus restricciones, tu ejemplo de tono) se guardan una sola vez en su memoria. Es un archivo llamado CLAUDE.md que Claude lee al arrancar cada sesión. Dicho sin tecnicismos: es como dejarle una nota fija en el escritorio que él vuelve a leer cada mañana.",[1018,4107,4110],{"className":4108,"code":4109,"filename":3030,"language":601,"meta":587,"style":587},"language-md shiki shiki-themes github-light github-dark","## Mi negocio\nTengo una repostería llamada \"Dulce Aurora\" en Medellín. Vendemos tortas por encargo y los pedidos llegan por WhatsApp. Mis clientes son familias que celebran fechas especiales.\n\n## Cómo quiero mis páginas web\nSiempre un solo archivo HTML con los estilos adentro, sin librerías externas. Colores cálidos: crema, rosa y chocolate. Textos reales en español, nunca de relleno. Tono cercano, como esta frase: \"Tortas hechas en casa, como las de la abuela.\"\n",[577,4111,4112,4120,4126,4131,4137],{"__ignoreMap":587},[1587,4113,4116],{"class":4114,"line":4115},"line",1,[1587,4117,4119],{"class":4118},"sq-ep","## Mi negocio\n",[1587,4121,4122],{"class":4114,"line":588},[1587,4123,4125],{"class":4124},"sVt8B","Tengo una repostería llamada \"Dulce Aurora\" en Medellín. Vendemos tortas por encargo y los pedidos llegan por WhatsApp. Mis clientes son familias que celebran fechas especiales.\n",[1587,4127,4128],{"class":4114,"line":1433},[1587,4129,4130],{"emptyLinePlaceholder":603},"\n",[1587,4132,4134],{"class":4114,"line":4133},4,[1587,4135,4136],{"class":4118},"## Cómo quiero mis páginas web\n",[1587,4138,4140],{"class":4114,"line":4139},5,[1587,4141,4142],{"class":4124},"Siempre un solo archivo HTML con los estilos adentro, sin librerías externas. Colores cálidos: crema, rosa y chocolate. Textos reales en español, nunca de relleno. Tono cercano, como esta frase: \"Tortas hechas en casa, como las de la abuela.\"\n",[17,4144,4145],{},"De ahí en adelante solo escribes la tarea del día: \"créame una página para la promo del día de las madres\". Y Claude ya sabe el resto. En ChatGPT y Gemini no existe ese archivo, pero el prompt completo del nivel 3 pegado tal cual te funciona igual.",[79,4147],{},[45,4149,4151],{"id":4150},"no-siempre-necesitas-las-7","No siempre necesitas las 7",[17,4153,4154],{},"Honestidad. Para \"¿cuál es la capital de Francia?\" no necesitas rol, ni ejemplos, ni criterio de éxito. Le pones la pregunta y ya.",[17,4156,4157],{},"Las 7 partes son el menú completo, no una obligación. Eliges del menú según el tamaño de lo que pides.",[12,4159,4161,4164],{"title":4160,"type":67},"Regla mental",[17,4162,4163],{},"Entre más ambiguo o más importante sea el resultado, más partes usas.",[17,4165,4166],{},"Para algo trivial, la tarea sola basta. Para algo que vas a enviar a un cliente, a publicar con tu nombre o a usar en una decisión, arma la instrucción completa.",[79,4168],{},[45,4170,4172],{"id":4171},"cómo-cambia-según-la-ia","Cómo cambia según la IA",[4174,4175],"diagram-matices-por-modelo",{},[17,4177,4178],{},"La anatomía es la misma en las tres. Cambia el carácter, no las piezas. Cada modelo tiene una forma de responder a la que le sacas más con ajustes pequeños.",[199,4180,4181,4187,4193],{},[202,4182,4183,4186],{},[23,4184,4185],{},"ChatGPT"," responde muy bien a instrucciones directas y a roles explícitos. Le dices quién es y qué hacer, y se acomoda rápido.",[202,4188,4189,4192],{},[23,4190,4191],{},"Claude"," brilla con contexto largo y bien estructurado. Cuando le organizas el prompt en secciones o con etiquetas, lo sigue de cerca. Y respeta las restricciones que le pones con bastante disciplina.",[202,4194,4195,4198],{},[23,4196,4197],{},"Gemini"," es fuerte con material multimodal (imágenes, PDFs) y con contextos muy grandes. Le pasas documentos enteros y trabaja sobre ellos.",[17,4200,4201],{},"El punto no es memorizar tres recetas distintas. Aprendes la anatomía una vez y solo ajustas detalles por modelo. No tienes que reaprender desde cero cada vez que cambias de herramienta.",[79,4203],{},[12,4205,4207,4210],{"title":4206,"type":452},"Patrón aplicado · el prompt es desacoplado del proveedor",[17,4208,4209],{},"Aprendes a estructurar la instrucción una sola vez y te sirve con cualquier IA. Hoy con ChatGPT, Claude o Gemini. Y con la que salga el año que viene.",[17,4211,4212],{},"Esa es la idea raíz de santa-ia: el método importa más que la herramienta. La marca cambia. La anatomía de una buena instrucción, no.",[79,4214],{},[45,4216,4218],{"id":4217},"la-plantilla-cópiala-y-rellénala","La plantilla · cópiala y rellénala",[17,4220,4221],{},"Te dejo la plantilla de las 7 partes para que la copies y solo rellenes los huecos. Cuando algo te salga genérico, vuelve a esta plantilla y revisa qué parte te saltaste.",[1018,4223,4226],{"className":4224,"code":4225,"language":1023},[1021],"ROL:            [quién quieres que sea]\nCONTEXTO:       [quién eres, para quién es, el material]\nTAREA:          [el verbo de acción, qué quieres exactamente]\nFORMATO:        [largo, estructura, cómo lo quieres entregado]\nRESTRICCIONES:  [qué NO hacer]\nEJEMPLO:        [una muestra del resultado que esperas]\nCRITERIO:       [cómo sabrás que quedó bien]\n",[577,4227,4225],{"__ignoreMap":587},[79,4229],{},[45,4231,461],{"id":460},[12,4233,4235],{"title":4234,"type":557},"Las 5 cosas que tienes que recordar",[495,4236,4237,4243,4249,4255,4261],{},[202,4238,4239,4242],{},[23,4240,4241],{},"Un prompt es una instrucción clara, no un mensaje apurado."," Le hablas como le hablarías a alguien que te va a ayudar.",[202,4244,4245,4248],{},[23,4246,4247],{},"Las 7 partes:"," rol, contexto, tarea, formato, restricciones, ejemplos, criterio de éxito.",[202,4250,4251,4254],{},[23,4252,4253],{},"El ejemplo es lo que casi nadie pone."," Y es lo que más sube la calidad de la respuesta.",[202,4256,4257,4260],{},[23,4258,4259],{},"No siempre necesitas las 7."," Eliges según el tamaño de lo que pides. Trivial: una sola. Importante: la instrucción completa.",[202,4262,4263,4266],{},[23,4264,4265],{},"La anatomía es la misma en ChatGPT, Claude o Gemini."," Aprendes una vez, ajustas detalles por modelo.",[79,4268],{},[45,4270,3781],{"id":3780},[17,4272,4273],{},"Esta es la base. Una vez que piensas en prompts como instrucciones claras, el resto de la biblioteca cae solo. Aquí tienes por dónde seguir:",[4275,4276],"diagram-proximas-guias",{},[79,4278],{},[17,4280,4281,4282,2901,4285,3415],{},"¿Lo probaste y te quedó alguna duda? Comenta la palabra clave ",[577,4283,4284],{},"PROMPT",[73,4286,585],{"href":583,"rel":4287},[503],[4289,4290,4291],"style",{},"html pre.shiki code .sq-ep, html code.shiki .sq-ep{--shiki-default:#005CC5;--shiki-default-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":587,"searchDepth":588,"depth":588,"links":4293},[4294,4295,4296,4297,4303,4304,4305,4306,4307],{"id":3857,"depth":588,"text":3858},{"id":3872,"depth":588,"text":3873},{"id":3926,"depth":588,"text":3927},{"id":4043,"depth":588,"text":4044,"children":4298},[4299,4300,4301,4302],{"id":4056,"depth":1433,"text":4057},{"id":4070,"depth":1433,"text":4071},{"id":4084,"depth":1433,"text":4085},{"id":4101,"depth":1433,"text":4102},{"id":4150,"depth":588,"text":4151},{"id":4171,"depth":588,"text":4172},{"id":4217,"depth":588,"text":4218},{"id":460,"depth":588,"text":461},{"id":3780,"depth":588,"text":3781},"Un prompt no es un mensaje apurado, son instrucciones claras. Estas 7 partes sirven igual en ChatGPT, Claude o Gemini. Incluye plantilla para copiar.",{},"\u002Fbiblioteca\u002Fanatomia-de-un-buen-prompt","2026-06-01",{"title":3841,"description":4308},"biblioteca\u002Fanatomia-de-un-buen-prompt",[2248,4315,4316,15,4317],"fundamentos","chatgpt","gemini","Zxt0S7B7lG-3tcniB0H4MyvQWJWNWu59jAK5A7KYC-M",{"id":4320,"title":3797,"author":7,"body":4321,"cover":1448,"description":4559,"extension":601,"meta":4560,"navigation":603,"nivel":604,"path":75,"publishedAt":4561,"seo":4562,"stem":4563,"tags":4564,"__hash__":4567},"biblioteca\u002Fbiblioteca\u002Fasi-piensa-un-agente.md",{"type":9,"value":4322,"toc":4551},[4323,4328,4340,4344,4347,4350,4353,4356,4359,4362,4365,4368,4370,4374,4377,4380,4383,4386,4389,4392,4395,4398,4433,4435,4439,4442,4445,4448,4454,4457,4460,4463,4466,4468,4472,4475,4478,4481,4484,4487,4490,4502,4504,4506,4529,4531,4534,4536,4538,4542],[30,4324],{"channel":32,"subtitle":4325,"title":34,"url":4326,"video-id":4327},"Te abro el cerebro de un agente y te muestro cuánto cuesta cada decisión.","https:\u002F\u002Fwww.youtube.com\u002F@Santaia_lab","pendiente",[12,4329,4330,4332,4337],{"title":14,"type":15},[17,4331,2582],{},[17,4333,4334],{},[23,4335,4336],{},"\"Resúmeme esta guía y dime cuánto cuesta, en tokens, que un agente tome una decisión.\"",[17,4338,4339],{},"En 30 segundos tienes la idea central. Después te devuelves a la sección que te interese.",[45,4341,4343],{"id":4342},"un-agente-no-carga-todo-lo-que-sabe","Un agente no carga todo lo que sabe",[17,4345,4346],{},"Mucha gente piensa que un agente lee todo su cerebro antes de responder. Que abre cada archivo, cada nota, cada proyecto. Y que por eso debería ser lento o carísimo.",[17,4348,4349],{},"No funciona así.",[17,4351,4352],{},"Un agente baja por un árbol. Entra por la puerta, lee un índice, y de ahí salta a la rama que necesita. Paga solo ese camino. El resto del cerebro ni lo toca.",[17,4354,4355],{},"Te lo muestro con números reales. Una sesión mía. Dos decisiones grandes.",[4357,4358],"diagram-como-piensa",{},[17,4360,4361],{},"Casi un millón y medio de tokens en dos decisiones. Suena enorme. Pero mira cómo se reparte.",[17,4363,4364],{},"No es un cerebro gigante leyendo todo de corrido. Son muchos cerebros pequeños leyendo en paralelo. Un director reparte el trabajo. Varios lectores van cada uno a su rama. Uno junta todo al final.",[17,4366,4367],{},"Por eso una decisión que a una persona le tomaría una tarde, aquí se cierra en siete minutos. No porque lea más rápido. Porque lee al mismo tiempo y solo lo que hace falta.",[79,4369],{},[45,4371,4373],{"id":4372},"el-cerebro-tiene-una-forma-fija","El cerebro tiene una forma fija",[17,4375,4376],{},"Antes de hablar de costos, hay que ver la forma. Porque el ahorro vive en la forma.",[17,4378,4379],{},"Mi segundo cerebro se llama JARVIS. No es magia. Es una estructura. Y es la misma en cada sesión.",[17,4381,4382],{},"Arriba hay un archivo de entrada: el CLAUDE.md. Reglas, voz, punteros. Es lo primero que se carga, siempre. Ese archivo no guarda todo. Guarda el mapa de dónde está todo.",[17,4384,4385],{},"De ahí se entra a JARVIS, que orquesta. Y JARVIS se abre en cuatro capas: Equipo, Skills, Conocimiento y Proyectos.",[17,4387,4388],{},"Toca cada pieza y mira qué guarda.",[4390,4391],"diagram-arquitectura",{},[17,4393,4394],{},"Fíjate en algo. El CLAUDE.md no hace el trabajo. Solo dice a qué carpeta ir. Es un índice, no una enciclopedia.",[17,4396,4397],{},"Esa diferencia es todo. Un índice pesa poco. Una enciclopedia pesa todo.",[12,4399,4401,4404,4430],{"title":4400,"type":67},"El bucle semanal de higiene",[17,4402,4403],{},"Una estructura así se ensucia sola. Cada semana reviso el CLAUDE.md contra el estado real:",[495,4405,4406,4412,4418,4424],{},[202,4407,4408,4411],{},[23,4409,4410],{},"Leer."," Abro el archivo de entrada completo.",[202,4413,4414,4417],{},[23,4415,4416],{},"Contrastar."," Proyectos activos contra archivados. Skills vivas contra obsoletas.",[202,4419,4420,4423],{},[23,4421,4422],{},"Marcar."," Lo superado queda como OBSOLETO, con un puntero a la fuente vigente.",[202,4425,4426,4429],{},[23,4427,4428],{},"Limpiar."," Una sola fuente por dato. Las demás notas apuntan, no copian.",[17,4431,4432],{},"La regla de oro: una sola fuente canónica por dato. Sin eso, una decisión nueva no se considera cerrada.",[79,4434],{},[45,4436,4438],{"id":4437},"baja-tú-por-el-árbol","Baja tú por el árbol",[17,4440,4441],{},"Hasta aquí fue teoría. Ahora te toca a ti.",[17,4443,4444],{},"Abajo está el árbol real de mi cerebro, con el costo en tokens de cada nodo. Los nombres del equipo y de los clientes están cambiados por roles. Los números son reales.",[17,4446,4447],{},"Toca un nodo. Cualquiera. Mira dos cosas.",[4449,4450,4451],"wide-block",{},[4452,4453],"diagram-mapa-cerebro",{},[17,4455,4456],{},"La primera: el número de cada nodo es lo que cuesta orientarse ahí. Abrir su índice. Nada más.",[17,4458,4459],{},"La segunda: el panel te muestra cuánto costaría cargar toda su rama. Ese número es mucho más grande. A veces veinte veces más grande.",[17,4461,4462],{},"Ahí está el truco. El agente paga el número pequeño, no el grande. Entra a la carpeta del Editor por 788 tokens. No abre sus once mil tokens de tareas a menos que de verdad los necesite.",[17,4464,4465],{},"Bajar no es gratis. Pero es barato. Cargar todo sería carísimo.",[79,4467],{},[45,4469,4471],{"id":4470},"cuánto-cuesta-una-decisión","¿Cuánto cuesta una decisión?",[17,4473,4474],{},"Ya viste la forma. Ya bajaste por el árbol. Falta la pregunta que importa: ¿cuánto cuesta, en plata y en tiempo, una sola decisión?",[17,4476,4477],{},"Elige una pregunta abajo. Mira el camino. Mira el total.",[4479,4480],"diagram-cadena-decision",{},[17,4482,4483],{},"Tres preguntas distintas. Tres caminos distintos. Ninguno pasa de ocho mil tokens.",[17,4485,4486],{},"El cerebro entero pesa 415 mil. Una decisión típica usa cinco o seis mil. Eso es casi un 99% más barato que leer todo de corrido.",[17,4488,4489],{},"Y no es un detalle estético. Es plata y es velocidad. Cada token que no se lee es plata que no se gasta y tiempo que no se espera.",[12,4491,4493,4496,4499],{"title":4492,"type":452},"Patrón aplicado · el patrón pesa más que el modelo",[17,4494,4495],{},"El modelo que uses hoy va a cambiar. Saldrá otro en meses. Esto no depende de eso.",[17,4497,4498],{},"Lo que hace barata cada decisión no es el modelo. Es tener el conocimiento organizado en un árbol con una sola entrada. Cambias de modelo y el árbol sigue ahí. Sigue siendo barato bajar por él.",[17,4500,4501],{},"Ese es el método de santa-ia. Organizar primero. El proveedor es lo de menos.",[79,4503],{},[45,4505,461],{"id":460},[12,4507,4509],{"title":4508,"type":557},"Tres ideas para llevarte",[495,4510,4511,4517,4523],{},[202,4512,4513,4516],{},[23,4514,4515],{},"Un agente no carga todo su cerebro."," Baja por un árbol y paga solo el camino que recorre.",[202,4518,4519,4522],{},[23,4520,4521],{},"El CLAUDE.md es un índice, no una enciclopedia."," Dice a qué carpeta ir. Pesa poco.",[202,4524,4525,4528],{},[23,4526,4527],{},"Organizar el conocimiento es plata."," Casi un 99% más barato que leer todo, en cada decisión.",[45,4530,3781],{"id":3780},[17,4532,4533],{},"Si esto te abrió la cabeza, hay más guías que van justo antes y justo después de esta idea.",[4275,4535],{},[79,4537],{},[30,4539],{"channel":32,"subtitle":4540,"title":4541,"url":4326,"video-id":4327},"En el video bajo por el árbol en vivo y te enseño dónde mirar el costo.","Te lo muestro en movimiento",[17,4543,4544,4545,3810,4548,77],{},"Si te quedó una duda concreta sobre cómo armar tu propio árbol: comenta ",[577,4546,4547],{},"CEREBRO",[73,4549,585],{"href":583,"rel":4550},[503],{"title":587,"searchDepth":588,"depth":588,"links":4552},[4553,4554,4555,4556,4557,4558],{"id":4342,"depth":588,"text":4343},{"id":4372,"depth":588,"text":4373},{"id":4437,"depth":588,"text":4438},{"id":4470,"depth":588,"text":4471},{"id":460,"depth":588,"text":461},{"id":3780,"depth":588,"text":3781},"Un agente no carga todo su cerebro. Baja por un árbol y paga solo el camino que recorre. Te muestro los números reales de mi vault.",{},"2026-05-29",{"title":3797,"description":4559},"biblioteca\u002Fasi-piensa-un-agente",[15,611,4565,4566,3836],"tokens","costos","L4RajjWWMLc9AS8MIvrvktUuqGKmuyn0yJU9p9SrybU",{"id":4569,"title":4570,"author":7,"body":4571,"cover":1448,"description":6062,"extension":601,"meta":6063,"navigation":603,"nivel":2917,"path":6064,"publishedAt":6065,"seo":6066,"stem":6067,"tags":6068,"__hash__":6072},"biblioteca\u002Fbiblioteca\u002Fimagenes-con-tu-marca-desde-vscode.md","Genera imágenes con tu marca desde VS Code",{"type":9,"value":4572,"toc":6038},[4573,4576,4588,4592,4598,4601,4604,4607,4635,4638,4640,4644,4647,4650,4653,4681,4688,4691,4693,4697,4707,4710,4729,4809,4861,4864,4866,4870,4880,4887,4890,5037,5040,5042,5046,5052,5058,5206,5210,5216,5226,5232,5242,5244,5254,5257,5264,5267,5430,5440,5446,5449,5487,5490,5667,5696,5698,5702,5709,5731,5734,5740,5743,5747,5750,5756,5766,5768,5772,5775,5782,5812,5814,5820,5823,5843,5845,5849,5852,5860,5866,5882,5885,5908,5910,5914,5920,5969,5971,5975,6003,6005,6007,6010,6022,6024,6028,6035],[30,4574],{"channel":32,"subtitle":4575,"title":34,"url":4326,"video-id":4327},"Te muestro el flujo entero: cerebro de marca, key en Keychain y Claude Code invocando el script desde VS Code.",[12,4577,4578,4580,4585],{"title":14,"type":15},[17,4579,2582],{},[17,4581,4582],{},[23,4583,4584],{},"\"Resúmeme esta guía en 5 puntos y dime qué tengo que tener instalado antes de empezar.\"",[17,4586,4587],{},"En 30 segundos tienes la lectura corta. Después te devuelves a la sección que te llame.",[45,4589,4591],{"id":4590},"_1-el-problema-cada-imagen-arranca-de-cero","1 · El problema · cada imagen arranca de cero",[17,4593,4594,4595,77],{},"Generaste tu primera imagen con IA. Quedó linda. La segunda no se parece a la primera. La tercera tampoco. Todas se ven hechas por máquina, ninguna se ve hecha ",[23,4596,4597],{},"para tu marca",[17,4599,4600],{},"Lo que falta no es el modelo. El modelo está bien. Lo que falta es contexto. Tu paleta, tu tono, tu público, lo que sí muestras y lo que nunca. Eso no vive en ninguna parte que el modelo pueda leer.",[17,4602,4603],{},"Cada vez tecleas el prompt de cero. Cada vez se te olvida un detalle. Cada vez sale distinta.",[17,4605,4606],{},"Este patrón cierra esa fuga. Tres piezas:",[199,4608,4609,4620,4629],{},[202,4610,4611,4612,4615,4616,4619],{},"Un ",[23,4613,4614],{},"cerebro de marca"," en un archivo ",[577,4617,4618],{},".md"," que viaja con cada prompt.",[202,4621,4622,4623,4626,4627,77],{},"Tu ",[23,4624,4625],{},"API key"," guardada en el Keychain de macOS, no en un ",[577,4628,3236],{},[202,4630,4611,4631,4634],{},[23,4632,4633],{},"script de Python"," que junta las dos cosas y llama a Gemini.",[17,4636,4637],{},"Lo invocas desde tu terminal. O le pides a Claude Code dentro de VS Code que lo invoque por ti. Al final tienes imágenes consistentes con tu marca, sin repetir tu storytelling cada vez.",[79,4639],{},[45,4641,4643],{"id":4642},"_2-la-idea-cerebro-key-cliente","2 · La idea · cerebro · key · cliente",[17,4645,4646],{},"Antes del paso a paso, mira el flujo de lejos.",[4648,4649],"diagram-cerebro-gemini",{},[17,4651,4652],{},"Cuatro piezas, una sola dirección:",[199,4654,4655,4663,4669,4675],{},[202,4656,4657,780,4660,4662],{},[23,4658,4659],{},"Cerebro (capa 1).",[577,4661,4618],{}," que tiene tu marca por escrito. Es la fuente.",[202,4664,4665,4668],{},[23,4666,4667],{},"Cliente (capa 2)."," Un script Python que lee el cerebro, lee tu prompt y lee la key.",[202,4670,4671,4674],{},[23,4672,4673],{},"Modelo (capa 3)."," Gemini recibe el cerebro como contexto y tu petición como instrucción.",[202,4676,4677,4680],{},[23,4678,4679],{},"Salida (capa 4)."," Un PNG que ya viene con tu paleta y tu estilo.",[17,4682,4683,4684,4687],{},"La pieza opcional es la ",[23,4685,4686],{},"referencia visual",". Si pasas una foto local (tu producto, tu cara, una textura), Gemini la usa como ancla y te devuelve variaciones que parten desde ahí.",[17,4689,4690],{},"El cerebro no es un prompt largo que copias y pegas cada vez. Vive en un archivo. El script lo concatena solo. Tú nunca te peleas con el contexto.",[79,4692],{},[45,4694,4696],{"id":4695},"_3-tu-key-de-gemini-3-líneas","3 · Tu key de Gemini · 3 líneas",[12,4698,4700],{"title":4699,"type":67},"Si esto del Keychain te suena chino",[17,4701,4702,4703,4706],{},"Pasa primero por la ",[73,4704,4705],{"href":160},"guía base de tokens"," y vuelves. Explica el porqué con números reales (Toyota, 5 años filtrado) y cubre Mac, Windows y Linux. Esta sección asume que ya entiendes el patrón.",[17,4708,4709],{},"Pídela una sola vez en Google AI Studio.",[144,4711,4713],{"number":146,"title":4712},"Sacar la key",[17,4714,4715,4716,4720,4721,4724,4725,4728],{},"Entra a ",[73,4717,4718],{"href":4718,"rel":4719},"https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey",[503],". Si no tienes proyecto, crea uno. Click en ",[23,4722,4723],{},"Create API key",". Copia el valor (empieza con ",[577,4726,4727],{},"AIza...",").",[144,4730,4732,4742,4798],{"number":167,"title":4731},"Guardarla en Keychain",[17,4733,4734,4735,4738,4739,1184],{},"Desde tu terminal (Mac). El ",[577,4736,4737],{},"-w"," sin valor te pregunta el token en interactivo, así no queda en ",[577,4740,4741],{},".zsh_history",[1018,4743,4747],{"className":4744,"code":4745,"language":4746,"meta":587,"style":587},"language-bash shiki shiki-themes github-light github-dark","security add-generic-password \\\n  -a \"santaia\" \\\n  -s \"santaia:gemini-key\" \\\n  -l \"Gemini API\" \\\n  -w\n","bash",[577,4748,4749,4763,4773,4783,4793],{"__ignoreMap":587},[1587,4750,4751,4755,4759],{"class":4114,"line":4115},[1587,4752,4754],{"class":4753},"sScJk","security",[1587,4756,4758],{"class":4757},"sZZnC"," add-generic-password",[1587,4760,4762],{"class":4761},"sj4cs"," \\\n",[1587,4764,4765,4768,4771],{"class":4114,"line":588},[1587,4766,4767],{"class":4761},"  -a",[1587,4769,4770],{"class":4757}," \"santaia\"",[1587,4772,4762],{"class":4761},[1587,4774,4775,4778,4781],{"class":4114,"line":1433},[1587,4776,4777],{"class":4761},"  -s",[1587,4779,4780],{"class":4757}," \"santaia:gemini-key\"",[1587,4782,4762],{"class":4761},[1587,4784,4785,4788,4791],{"class":4114,"line":4133},[1587,4786,4787],{"class":4761},"  -l",[1587,4789,4790],{"class":4757}," \"Gemini API\"",[1587,4792,4762],{"class":4761},[1587,4794,4795],{"class":4114,"line":4139},[1587,4796,4797],{"class":4761},"  -w\n",[17,4799,4800,4801,4804,4805,4808],{},"Cambia ",[577,4802,4803],{},"santaia"," por el nombre que uses tú. Ese mismo nombre va en el argumento ",[577,4806,4807],{},"--project"," del script.",[144,4810,4812,4854],{"number":180,"title":4811},"Verificar que quedó",[1018,4813,4815],{"className":4744,"code":4814,"language":4746,"meta":587,"style":587},"security find-generic-password -s \"santaia:gemini-key\" -w | head -c 12 && echo \"...\"\n",[577,4816,4817],{"__ignoreMap":587},[1587,4818,4819,4821,4824,4827,4829,4832,4836,4839,4842,4845,4848,4851],{"class":4114,"line":4115},[1587,4820,4754],{"class":4753},[1587,4822,4823],{"class":4757}," find-generic-password",[1587,4825,4826],{"class":4761}," -s",[1587,4828,4780],{"class":4757},[1587,4830,4831],{"class":4761}," -w",[1587,4833,4835],{"class":4834},"szBVR"," |",[1587,4837,4838],{"class":4753}," head",[1587,4840,4841],{"class":4761}," -c",[1587,4843,4844],{"class":4761}," 12",[1587,4846,4847],{"class":4124}," && ",[1587,4849,4850],{"class":4761},"echo",[1587,4852,4853],{"class":4757}," \"...\"\n",[17,4855,4856,4857,4860],{},"Si imprime los primeros 12 caracteres seguido de ",[577,4858,4859],{},"...",", está guardada. Listo.",[17,4862,4863],{},"Ya no la necesitas en ningún archivo. El script la pide al Keychain solo cuando va a llamar al modelo.",[79,4865],{},[45,4867,4869],{"id":4868},"_4-la-ficha-tipo-jarvis-de-la-key","4 · La ficha tipo JARVIS de la key",[17,4871,4872,4873,4876,4877,77],{},"El patrón completo no es solo guardar la key. Es ",[23,4874,4875],{},"dejar metadata"," de qué key es, dónde vive y cómo se rota. Yo lo hago con un archivo por servicio en una carpeta llamada ",[577,4878,4879],{},"09-CREDENTIALS\u002F",[17,4881,4882,4883,4886],{},"La regla es simple: ",[23,4884,4885],{},"metadata en el .md, valor en el Keychain",". Nunca al revés.",[17,4888,4889],{},"Esta es la ficha tipo que uso (la versión vacía está en el starter que descargas más abajo):",[1018,4891,4895],{"className":4892,"code":4893,"language":4894,"meta":587,"style":587},"language-markdown shiki shiki-themes github-light github-dark","---\nservicio: Google Gemini API Key\ncuenta: tu-email@gmail.com\nproyectos_que_lo_usan:\n  - mi-proyecto\nkeychain_service: mi-proyecto:gemini-key\nkeychain_account: mi-proyecto\nfecha_guardado: 2026-05-24\nexpira: no expira (revocable manualmente)\nconsole_url: https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey\n---\n\n# Gemini API Key · mi-proyecto\n\nUna línea: para qué se usa en este proyecto.\n\n## Cómo guardarla, leerla, borrarla\n[comandos de security]\n\n## Si se filtra\n1. Revoca en console_url\n2. Genera nueva\n3. delete del Keychain\n4. add de nuevo\n5. Actualiza fecha_guardado\n","markdown",[577,4896,4897,4902,4907,4912,4917,4922,4928,4934,4940,4946,4952,4957,4962,4968,4973,4979,4984,4990,4996,5001,5007,5013,5019,5025,5031],{"__ignoreMap":587},[1587,4898,4899],{"class":4114,"line":4115},[1587,4900,4901],{},"---\n",[1587,4903,4904],{"class":4114,"line":588},[1587,4905,4906],{},"servicio: Google Gemini API Key\n",[1587,4908,4909],{"class":4114,"line":1433},[1587,4910,4911],{},"cuenta: tu-email@gmail.com\n",[1587,4913,4914],{"class":4114,"line":4133},[1587,4915,4916],{},"proyectos_que_lo_usan:\n",[1587,4918,4919],{"class":4114,"line":4139},[1587,4920,4921],{},"  - mi-proyecto\n",[1587,4923,4925],{"class":4114,"line":4924},6,[1587,4926,4927],{},"keychain_service: mi-proyecto:gemini-key\n",[1587,4929,4931],{"class":4114,"line":4930},7,[1587,4932,4933],{},"keychain_account: mi-proyecto\n",[1587,4935,4937],{"class":4114,"line":4936},8,[1587,4938,4939],{},"fecha_guardado: 2026-05-24\n",[1587,4941,4943],{"class":4114,"line":4942},9,[1587,4944,4945],{},"expira: no expira (revocable manualmente)\n",[1587,4947,4949],{"class":4114,"line":4948},10,[1587,4950,4951],{},"console_url: https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey\n",[1587,4953,4955],{"class":4114,"line":4954},11,[1587,4956,4901],{},[1587,4958,4960],{"class":4114,"line":4959},12,[1587,4961,4130],{"emptyLinePlaceholder":603},[1587,4963,4965],{"class":4114,"line":4964},13,[1587,4966,4967],{},"# Gemini API Key · mi-proyecto\n",[1587,4969,4971],{"class":4114,"line":4970},14,[1587,4972,4130],{"emptyLinePlaceholder":603},[1587,4974,4976],{"class":4114,"line":4975},15,[1587,4977,4978],{},"Una línea: para qué se usa en este proyecto.\n",[1587,4980,4982],{"class":4114,"line":4981},16,[1587,4983,4130],{"emptyLinePlaceholder":603},[1587,4985,4987],{"class":4114,"line":4986},17,[1587,4988,4989],{},"## Cómo guardarla, leerla, borrarla\n",[1587,4991,4993],{"class":4114,"line":4992},18,[1587,4994,4995],{},"[comandos de security]\n",[1587,4997,4999],{"class":4114,"line":4998},19,[1587,5000,4130],{"emptyLinePlaceholder":603},[1587,5002,5004],{"class":4114,"line":5003},20,[1587,5005,5006],{},"## Si se filtra\n",[1587,5008,5010],{"class":4114,"line":5009},21,[1587,5011,5012],{},"1. Revoca en console_url\n",[1587,5014,5016],{"class":4114,"line":5015},22,[1587,5017,5018],{},"2. Genera nueva\n",[1587,5020,5022],{"class":4114,"line":5021},23,[1587,5023,5024],{},"3. delete del Keychain\n",[1587,5026,5028],{"class":4114,"line":5027},24,[1587,5029,5030],{},"4. add de nuevo\n",[1587,5032,5034],{"class":4114,"line":5033},25,[1587,5035,5036],{},"5. Actualiza fecha_guardado\n",[17,5038,5039],{},"¿Por qué este patrón importa? Porque dentro de 6 meses, cuando rotes la key o entre alguien nuevo a tu equipo, este archivo es el que responde \"dónde está esa cosa\". El Keychain guarda el valor, la ficha guarda la historia.",[79,5041],{},[45,5043,5045],{"id":5044},"_5-el-cerebro-de-marca-qué-va-dentro","5 · El cerebro de marca · qué va dentro",[17,5047,5048,5049,5051],{},"El cerebro es un ",[577,5050,4618],{}," con frontmatter. Lo que escribas ahí viaja con cada prompt. Mientras más concreto, más consistente sale la imagen.",[17,5053,5054,5055,1184],{},"Para el starter inventé una marca demo, una academia ficticia de panadería casera llamada ",[23,5056,5057],{},"Levadura Lenta",[1018,5059,5063],{"className":5060,"code":5061,"language":5062,"meta":587,"style":587},"language-yaml shiki shiki-themes github-light github-dark","---\nmarca: Levadura Lenta\nmision: enseñar panadería casera a gente que nunca ha amasado\nvoz: cálida, paciente, sin tecnicismos\npaleta:\n  primario: \"#C97B4A\"\n  secundario: \"#F4E4C1\"\n  acento: \"#3D2817\"\npublico: principiantes 25-45 años, viven en ciudad\nestilo_visual: fotografía cálida con grano, luz dorada, manos visibles, ingredientes humildes\ndo:\n  - mostrar el proceso, no solo el resultado\n  - personas reales, manos sucias de harina\ndont:\n  - planos perfectos de revistas\n  - tipografía cursiva exagerada\n---\n","yaml",[577,5064,5065,5069,5081,5091,5101,5109,5119,5129,5139,5149,5159,5166,5174,5181,5188,5195,5202],{"__ignoreMap":587},[1587,5066,5067],{"class":4114,"line":4115},[1587,5068,4901],{"class":4753},[1587,5070,5071,5075,5078],{"class":4114,"line":588},[1587,5072,5074],{"class":5073},"s9eBZ","marca",[1587,5076,5077],{"class":4124},": ",[1587,5079,5080],{"class":4757},"Levadura Lenta\n",[1587,5082,5083,5086,5088],{"class":4114,"line":1433},[1587,5084,5085],{"class":5073},"mision",[1587,5087,5077],{"class":4124},[1587,5089,5090],{"class":4757},"enseñar panadería casera a gente que nunca ha amasado\n",[1587,5092,5093,5096,5098],{"class":4114,"line":4133},[1587,5094,5095],{"class":5073},"voz",[1587,5097,5077],{"class":4124},[1587,5099,5100],{"class":4757},"cálida, paciente, sin tecnicismos\n",[1587,5102,5103,5106],{"class":4114,"line":4139},[1587,5104,5105],{"class":5073},"paleta",[1587,5107,5108],{"class":4124},":\n",[1587,5110,5111,5114,5116],{"class":4114,"line":4924},[1587,5112,5113],{"class":5073},"  primario",[1587,5115,5077],{"class":4124},[1587,5117,5118],{"class":4757},"\"#C97B4A\"\n",[1587,5120,5121,5124,5126],{"class":4114,"line":4930},[1587,5122,5123],{"class":5073},"  secundario",[1587,5125,5077],{"class":4124},[1587,5127,5128],{"class":4757},"\"#F4E4C1\"\n",[1587,5130,5131,5134,5136],{"class":4114,"line":4936},[1587,5132,5133],{"class":5073},"  acento",[1587,5135,5077],{"class":4124},[1587,5137,5138],{"class":4757},"\"#3D2817\"\n",[1587,5140,5141,5144,5146],{"class":4114,"line":4942},[1587,5142,5143],{"class":5073},"publico",[1587,5145,5077],{"class":4124},[1587,5147,5148],{"class":4757},"principiantes 25-45 años, viven en ciudad\n",[1587,5150,5151,5154,5156],{"class":4114,"line":4948},[1587,5152,5153],{"class":5073},"estilo_visual",[1587,5155,5077],{"class":4124},[1587,5157,5158],{"class":4757},"fotografía cálida con grano, luz dorada, manos visibles, ingredientes humildes\n",[1587,5160,5161,5164],{"class":4114,"line":4954},[1587,5162,5163],{"class":5073},"do",[1587,5165,5108],{"class":4124},[1587,5167,5168,5171],{"class":4114,"line":4959},[1587,5169,5170],{"class":4124},"  - ",[1587,5172,5173],{"class":4757},"mostrar el proceso, no solo el resultado\n",[1587,5175,5176,5178],{"class":4114,"line":4964},[1587,5177,5170],{"class":4124},[1587,5179,5180],{"class":4757},"personas reales, manos sucias de harina\n",[1587,5182,5183,5186],{"class":4114,"line":4970},[1587,5184,5185],{"class":5073},"dont",[1587,5187,5108],{"class":4124},[1587,5189,5190,5192],{"class":4114,"line":4975},[1587,5191,5170],{"class":4124},[1587,5193,5194],{"class":4757},"planos perfectos de revistas\n",[1587,5196,5197,5199],{"class":4114,"line":4981},[1587,5198,5170],{"class":4124},[1587,5200,5201],{"class":4757},"tipografía cursiva exagerada\n",[1587,5203,5204],{"class":4114,"line":4986},[1587,5205,4901],{"class":4753},[810,5207,5209],{"id":5208},"las-3-reglas-para-escribir-un-buen-cerebro","Las 3 reglas para escribir un buen cerebro",[144,5211,5213],{"number":146,"title":5212},"Sé específico, no decorativo",[17,5214,5215],{},"\"Fondo neutro\" no le dice nada al modelo. \"Mesa de madera oscura con luz lateral suave\" sí. Si una palabra del cerebro la podrías reemplazar por su opuesto sin que cambie nada, sobra.",[144,5217,5219],{"number":167,"title":5218},"Hex codes, no nombres de colores",[17,5220,5221,5222,5225],{},"\"Naranja terracota\" lo interpreta cada modelo distinto. ",[577,5223,5224],{},"#C97B4A"," no. Nombra los colores por su hex en el frontmatter. El modelo los respeta.",[144,5227,5229],{"number":180,"title":5228},"Lista 2 o 3 dont claros",[17,5230,5231],{},"Las prohibiciones son lo que más diferencia tu marca de la imagen genérica. \"Sin tipografía cursiva exagerada\" te ahorra 30 iteraciones contra el default romántico de stock.",[12,5233,5235],{"title":5234,"type":452},"Itera el cerebro, no el prompt",[17,5236,5237,5238,5241],{},"La primera versión del cerebro te va a quedar incompleta. Eso es normal. Cuando te salga una imagen que no quieres, no reescribas el prompt: ",[23,5239,5240],{},"abre el cerebro y agrega una regla",". En dos semanas el cerebro queda afinado y los prompts se vuelven cortos.",[79,5243],{},[45,5245,5247,5248,1007,5251],{"id":5246},"_6-el-wrapper-keychainpy-y-generate_imagepy","6 · El wrapper · ",[577,5249,5250],{},"keychain.py",[577,5252,5253],{},"generate_image.py",[17,5255,5256],{},"Dos piezas de código. La primera lee la key. La segunda llama a Gemini.",[810,5258,5260,5263],{"id":5259},"sharedsecretskeychainpy-wrapper-de-keychain",[577,5261,5262],{},"shared\u002Fsecrets\u002Fkeychain.py"," · wrapper de Keychain",[17,5265,5266],{},"Lee, guarda y borra secretos del Keychain de macOS. Lo importas desde el script principal. Si la key no existe, te dice exactamente qué comando correr para guardarla.",[1018,5268,5272],{"className":5269,"code":5270,"language":5271,"meta":587,"style":587},"language-python shiki shiki-themes github-light github-dark","from __future__ import annotations\nimport subprocess\n\nDEFAULT_PROJECT = \"santaia\"\n\ndef _service_name(key: str, project: str) -> str:\n    if \":\" in key:\n        return key\n    return f\"{project}:{key}\"\n\ndef get_secret(key: str, project: str = DEFAULT_PROJECT) -> str | None:\n    try:\n        result = subprocess.run(\n            [\"security\", \"find-generic-password\",\n             \"-s\", _service_name(key, project), \"-w\"],\n            capture_output=True, text=True, check=False,\n        )\n    except FileNotFoundError:\n        return None\n    return result.stdout.strip() if result.returncode == 0 else None\n\ndef require_secret(key: str, project: str = DEFAULT_PROJECT) -> str:\n    value = get_secret(key, project=project)\n    if value is None:\n        service = _service_name(key, project)\n        raise RuntimeError(\n            f\"Secret '{service}' no encontrado en Keychain.\\n\"\n            f\"Guárdalo con: security add-generic-password \"\n            f\"-s {service} -a {project} -w '\u003Cvalor>' -U\"\n        )\n    return value\n","python",[577,5273,5274,5279,5284,5288,5293,5297,5302,5307,5312,5317,5321,5326,5331,5336,5341,5346,5351,5356,5361,5366,5371,5375,5380,5385,5390,5395,5401,5407,5413,5419,5424],{"__ignoreMap":587},[1587,5275,5276],{"class":4114,"line":4115},[1587,5277,5278],{},"from __future__ import annotations\n",[1587,5280,5281],{"class":4114,"line":588},[1587,5282,5283],{},"import subprocess\n",[1587,5285,5286],{"class":4114,"line":1433},[1587,5287,4130],{"emptyLinePlaceholder":603},[1587,5289,5290],{"class":4114,"line":4133},[1587,5291,5292],{},"DEFAULT_PROJECT = \"santaia\"\n",[1587,5294,5295],{"class":4114,"line":4139},[1587,5296,4130],{"emptyLinePlaceholder":603},[1587,5298,5299],{"class":4114,"line":4924},[1587,5300,5301],{},"def _service_name(key: str, project: str) -> str:\n",[1587,5303,5304],{"class":4114,"line":4930},[1587,5305,5306],{},"    if \":\" in key:\n",[1587,5308,5309],{"class":4114,"line":4936},[1587,5310,5311],{},"        return key\n",[1587,5313,5314],{"class":4114,"line":4942},[1587,5315,5316],{},"    return f\"{project}:{key}\"\n",[1587,5318,5319],{"class":4114,"line":4948},[1587,5320,4130],{"emptyLinePlaceholder":603},[1587,5322,5323],{"class":4114,"line":4954},[1587,5324,5325],{},"def get_secret(key: str, project: str = DEFAULT_PROJECT) -> str | None:\n",[1587,5327,5328],{"class":4114,"line":4959},[1587,5329,5330],{},"    try:\n",[1587,5332,5333],{"class":4114,"line":4964},[1587,5334,5335],{},"        result = subprocess.run(\n",[1587,5337,5338],{"class":4114,"line":4970},[1587,5339,5340],{},"            [\"security\", \"find-generic-password\",\n",[1587,5342,5343],{"class":4114,"line":4975},[1587,5344,5345],{},"             \"-s\", _service_name(key, project), \"-w\"],\n",[1587,5347,5348],{"class":4114,"line":4981},[1587,5349,5350],{},"            capture_output=True, text=True, check=False,\n",[1587,5352,5353],{"class":4114,"line":4986},[1587,5354,5355],{},"        )\n",[1587,5357,5358],{"class":4114,"line":4992},[1587,5359,5360],{},"    except FileNotFoundError:\n",[1587,5362,5363],{"class":4114,"line":4998},[1587,5364,5365],{},"        return None\n",[1587,5367,5368],{"class":4114,"line":5003},[1587,5369,5370],{},"    return result.stdout.strip() if result.returncode == 0 else None\n",[1587,5372,5373],{"class":4114,"line":5009},[1587,5374,4130],{"emptyLinePlaceholder":603},[1587,5376,5377],{"class":4114,"line":5015},[1587,5378,5379],{},"def require_secret(key: str, project: str = DEFAULT_PROJECT) -> str:\n",[1587,5381,5382],{"class":4114,"line":5021},[1587,5383,5384],{},"    value = get_secret(key, project=project)\n",[1587,5386,5387],{"class":4114,"line":5027},[1587,5388,5389],{},"    if value is None:\n",[1587,5391,5392],{"class":4114,"line":5033},[1587,5393,5394],{},"        service = _service_name(key, project)\n",[1587,5396,5398],{"class":4114,"line":5397},26,[1587,5399,5400],{},"        raise RuntimeError(\n",[1587,5402,5404],{"class":4114,"line":5403},27,[1587,5405,5406],{},"            f\"Secret '{service}' no encontrado en Keychain.\\n\"\n",[1587,5408,5410],{"class":4114,"line":5409},28,[1587,5411,5412],{},"            f\"Guárdalo con: security add-generic-password \"\n",[1587,5414,5416],{"class":4114,"line":5415},29,[1587,5417,5418],{},"            f\"-s {service} -a {project} -w '\u003Cvalor>' -U\"\n",[1587,5420,5422],{"class":4114,"line":5421},30,[1587,5423,5355],{},[1587,5425,5427],{"class":4114,"line":5426},31,[1587,5428,5429],{},"    return value\n",[17,5431,5432,5433,1007,5436,5439],{},"(En el starter va completo con ",[577,5434,5435],{},"set_secret",[577,5437,5438],{},"delete_secret"," también.)",[810,5441,5443,5445],{"id":5442},"generate_imagepy-el-script-cli",[577,5444,5253],{}," · el script CLI",[17,5447,5448],{},"Argumentos:",[199,5450,5451,5457,5463,5472,5481],{},[202,5452,5453,5456],{},[577,5454,5455],{},"--prompt \"texto\"",": qué quieres ver (obligatorio).",[202,5458,5459,5462],{},[577,5460,5461],{},"--ref foto.jpg",": imagen local de referencia (opcional, activa modo B).",[202,5464,5465,5468,5469,4728],{},[577,5466,5467],{},"--brain brand_brain.md",": cerebro de marca (default ",[577,5470,5471],{},".\u002Fbrand_brain.md",[202,5473,5474,5477,5478,4728],{},[577,5475,5476],{},"--out salida.png",": ruta del PNG (default: ",[577,5479,5480],{},"out_\u003Ctimestamp>.png",[202,5482,5483,5486],{},[577,5484,5485],{},"--project santaia",": prefijo de tu proyecto en Keychain.",[17,5488,5489],{},"El flujo es directo:",[1018,5491,5493],{"className":5269,"code":5492,"language":5271,"meta":587,"style":587},"from google import genai\nfrom google.genai import types\nfrom PIL import Image\nfrom shared.secrets.keychain import require_secret\n\nMODEL = \"gemini-3-pro-image-preview\"\n\napi_key = require_secret(\"gemini-key\", project=args.project)\nclient = genai.Client(api_key=api_key)\n\nbrain_text = Path(args.brain).read_text(encoding=\"utf-8\")\nfull_prompt = (\n    \"Generate an image following the brand brain below as visual + tone \"\n    \"context. The brand brain defines colors (use the hex codes exactly), \"\n    \"visual style, do\u002Fdon't and audience.\\n\\n\"\n    f\"=== BRAND BRAIN ===\\n{brain_text}\\n=== END BRAND BRAIN ===\\n\\n\"\n    f\"User request: {args.prompt}\"\n)\n\ncontents = []\nif args.ref:\n    contents.append(types.Part.from_bytes(\n        data=Path(args.ref).read_bytes(),\n        mime_type=\"image\u002Fjpeg\",\n    ))\ncontents.append(full_prompt)\n\nresp = client.models.generate_content(\n    model=MODEL,\n    contents=contents,\n    config=types.GenerateContentConfig(response_modalities=[\"IMAGE\"]),\n)\n\nraw = resp.candidates[0].content.parts[0].inline_data.data\nImage.open(io.BytesIO(raw)).save(out_path, format=\"PNG\")\n",[577,5494,5495,5500,5505,5510,5515,5519,5524,5528,5533,5538,5542,5547,5552,5557,5562,5567,5572,5577,5582,5586,5591,5596,5601,5606,5611,5616,5621,5625,5630,5635,5640,5645,5650,5655,5661],{"__ignoreMap":587},[1587,5496,5497],{"class":4114,"line":4115},[1587,5498,5499],{},"from google import genai\n",[1587,5501,5502],{"class":4114,"line":588},[1587,5503,5504],{},"from google.genai import types\n",[1587,5506,5507],{"class":4114,"line":1433},[1587,5508,5509],{},"from PIL import Image\n",[1587,5511,5512],{"class":4114,"line":4133},[1587,5513,5514],{},"from shared.secrets.keychain import require_secret\n",[1587,5516,5517],{"class":4114,"line":4139},[1587,5518,4130],{"emptyLinePlaceholder":603},[1587,5520,5521],{"class":4114,"line":4924},[1587,5522,5523],{},"MODEL = \"gemini-3-pro-image-preview\"\n",[1587,5525,5526],{"class":4114,"line":4930},[1587,5527,4130],{"emptyLinePlaceholder":603},[1587,5529,5530],{"class":4114,"line":4936},[1587,5531,5532],{},"api_key = require_secret(\"gemini-key\", project=args.project)\n",[1587,5534,5535],{"class":4114,"line":4942},[1587,5536,5537],{},"client = genai.Client(api_key=api_key)\n",[1587,5539,5540],{"class":4114,"line":4948},[1587,5541,4130],{"emptyLinePlaceholder":603},[1587,5543,5544],{"class":4114,"line":4954},[1587,5545,5546],{},"brain_text = Path(args.brain).read_text(encoding=\"utf-8\")\n",[1587,5548,5549],{"class":4114,"line":4959},[1587,5550,5551],{},"full_prompt = (\n",[1587,5553,5554],{"class":4114,"line":4964},[1587,5555,5556],{},"    \"Generate an image following the brand brain below as visual + tone \"\n",[1587,5558,5559],{"class":4114,"line":4970},[1587,5560,5561],{},"    \"context. The brand brain defines colors (use the hex codes exactly), \"\n",[1587,5563,5564],{"class":4114,"line":4975},[1587,5565,5566],{},"    \"visual style, do\u002Fdon't and audience.\\n\\n\"\n",[1587,5568,5569],{"class":4114,"line":4981},[1587,5570,5571],{},"    f\"=== BRAND BRAIN ===\\n{brain_text}\\n=== END BRAND BRAIN ===\\n\\n\"\n",[1587,5573,5574],{"class":4114,"line":4986},[1587,5575,5576],{},"    f\"User request: {args.prompt}\"\n",[1587,5578,5579],{"class":4114,"line":4992},[1587,5580,5581],{},")\n",[1587,5583,5584],{"class":4114,"line":4998},[1587,5585,4130],{"emptyLinePlaceholder":603},[1587,5587,5588],{"class":4114,"line":5003},[1587,5589,5590],{},"contents = []\n",[1587,5592,5593],{"class":4114,"line":5009},[1587,5594,5595],{},"if args.ref:\n",[1587,5597,5598],{"class":4114,"line":5015},[1587,5599,5600],{},"    contents.append(types.Part.from_bytes(\n",[1587,5602,5603],{"class":4114,"line":5021},[1587,5604,5605],{},"        data=Path(args.ref).read_bytes(),\n",[1587,5607,5608],{"class":4114,"line":5027},[1587,5609,5610],{},"        mime_type=\"image\u002Fjpeg\",\n",[1587,5612,5613],{"class":4114,"line":5033},[1587,5614,5615],{},"    ))\n",[1587,5617,5618],{"class":4114,"line":5397},[1587,5619,5620],{},"contents.append(full_prompt)\n",[1587,5622,5623],{"class":4114,"line":5403},[1587,5624,4130],{"emptyLinePlaceholder":603},[1587,5626,5627],{"class":4114,"line":5409},[1587,5628,5629],{},"resp = client.models.generate_content(\n",[1587,5631,5632],{"class":4114,"line":5415},[1587,5633,5634],{},"    model=MODEL,\n",[1587,5636,5637],{"class":4114,"line":5421},[1587,5638,5639],{},"    contents=contents,\n",[1587,5641,5642],{"class":4114,"line":5426},[1587,5643,5644],{},"    config=types.GenerateContentConfig(response_modalities=[\"IMAGE\"]),\n",[1587,5646,5648],{"class":4114,"line":5647},32,[1587,5649,5581],{},[1587,5651,5653],{"class":4114,"line":5652},33,[1587,5654,4130],{"emptyLinePlaceholder":603},[1587,5656,5658],{"class":4114,"line":5657},34,[1587,5659,5660],{},"raw = resp.candidates[0].content.parts[0].inline_data.data\n",[1587,5662,5664],{"class":4114,"line":5663},35,[1587,5665,5666],{},"Image.open(io.BytesIO(raw)).save(out_path, format=\"PNG\")\n",[12,5668,5670,5685],{"title":5669,"type":67},"Qué SDK y qué modelo",[17,5671,5672,5673,5676,5677,5680,5681,5684],{},"Uso el SDK nuevo ",[577,5674,5675],{},"google-genai"," (no el viejo ",[577,5678,5679],{},"google-generativeai","). El nuevo es el que recomienda Google de aquí en adelante y el que acepta ",[577,5682,5683],{},"response_modalities=[\"IMAGE\"]"," para forzar salida de imagen.",[17,5686,5687,5688,5691,5692,5695],{},"El modelo ",[577,5689,5690],{},"gemini-3-pro-image-preview"," es el que responde con más fidelidad a referencias locales hoy. Si Google libera uno más reciente, cambias la constante ",[577,5693,5694],{},"MODEL"," y listo.",[79,5697],{},[45,5699,5701],{"id":5700},"_7-modo-a-texto-a-imagen","7 · Modo A · texto a imagen",[17,5703,5704,5705,5708],{},"Una vez instalas dependencias (",[577,5706,5707],{},"pip install google-genai pillow","), la primera invocación es esta:",[1018,5710,5712],{"className":4744,"code":5711,"language":4746,"meta":587,"style":587},"python generate_image.py \\\n  --prompt \"una hogaza de pan recién horneada sobre una mesa de madera oscura, luz lateral, vapor saliendo\"\n",[577,5713,5714,5723],{"__ignoreMap":587},[1587,5715,5716,5718,5721],{"class":4114,"line":4115},[1587,5717,5271],{"class":4753},[1587,5719,5720],{"class":4757}," generate_image.py",[1587,5722,4762],{"class":4761},[1587,5724,5725,5728],{"class":4114,"line":588},[1587,5726,5727],{"class":4761},"  --prompt",[1587,5729,5730],{"class":4757}," \"una hogaza de pan recién horneada sobre una mesa de madera oscura, luz lateral, vapor saliendo\"\n",[17,5732,5733],{},"Output:",[1018,5735,5738],{"className":5736,"code":5737,"language":1023},[1021],"[modelo] gemini-3-pro-image-preview\n[cerebro] brand_brain.md\n[gemini] generando ...\n[ok] guardada -> out_20260524-181830.png  (1024x1024)\n",[577,5739,5737],{"__ignoreMap":587},[17,5741,5742],{},"La imagen sale con la paleta y el mood del cerebro. Sin que tuvieras que repetir \"estilo cálido, grano, manos visibles\" en el prompt. Eso ya viajó adentro.",[810,5744,5746],{"id":5745},"cuando-el-resultado-no-es-lo-que-querías","Cuando el resultado no es lo que querías",[17,5748,5749],{},"Dos caminos, en este orden:",[144,5751,5753],{"number":146,"title":5752},"Ajusta el prompt si fue un error de petición",[17,5754,5755],{},"Pediste \"pan\" y querías \"croissant\". Cambias el prompt y vuelves a correr.",[144,5757,5759],{"number":167,"title":5758},"Ajusta el cerebro si el problema se repite",[17,5760,5761,5762,5765],{},"Pediste \"pan\" y siempre te sale en un plano cenital perfecto de revista. El problema no es el prompt: es que tu cerebro no tiene ",[577,5763,5764],{},"dont: planos cenitales"," todavía. Edítalo. La siguiente vez sale distinto.",[79,5767],{},[45,5769,5771],{"id":5770},"_8-modo-b-imagen-a-imagen-con-foto-local","8 · Modo B · imagen a imagen con foto local",[17,5773,5774],{},"Aquí es donde la mayoría de APIs te dejan colgado. Kie.ai, por ejemplo, solo recibe URLs públicas. No puedes pasarle una foto que vive en tu disco.",[17,5776,5777,5778,5781],{},"Gemini sí. Le pasas la ruta local con ",[577,5779,5780],{},"--ref"," y la usa como ancla visual:",[1018,5783,5785],{"className":4744,"code":5784,"language":4746,"meta":587,"style":587},"python generate_image.py \\\n  --prompt \"el mismo pan pero cortado a la mitad, mostrando la miga\" \\\n  --ref .\u002Fmi-hogaza.jpg\n",[577,5786,5787,5795,5804],{"__ignoreMap":587},[1587,5788,5789,5791,5793],{"class":4114,"line":4115},[1587,5790,5271],{"class":4753},[1587,5792,5720],{"class":4757},[1587,5794,4762],{"class":4761},[1587,5796,5797,5799,5802],{"class":4114,"line":588},[1587,5798,5727],{"class":4761},[1587,5800,5801],{"class":4757}," \"el mismo pan pero cortado a la mitad, mostrando la miga\"",[1587,5803,4762],{"class":4761},[1587,5805,5806,5809],{"class":4114,"line":1433},[1587,5807,5808],{"class":4761},"  --ref",[1587,5810,5811],{"class":4757}," .\u002Fmi-hogaza.jpg\n",[17,5813,5733],{},[1018,5815,5818],{"className":5816,"code":5817,"language":1023},[1021],"[ref] cargada mi-hogaza.jpg\n[modelo] gemini-3-pro-image-preview\n[cerebro] brand_brain.md\n[gemini] generando ...\n[ok] guardada -> out_20260524-182112.png  (1024x1024)\n",[577,5819,5817],{"__ignoreMap":587},[17,5821,5822],{},"El modelo recibe tres cosas en orden: la imagen de referencia, el cerebro de marca, tu petición. Gemini usa la foto como composición base y la regenera siguiendo el cerebro.",[12,5824,5826,5829,5840],{"title":5825,"type":138},"Lo que no esperes del modo B",[17,5827,5828],{},"Esto no es Photoshop. No le pidas \"quita ese pixel\" o \"muévele el ojo 2mm a la izquierda\". Sirve para:",[199,5830,5831,5834,5837],{},[202,5832,5833],{},"Variaciones del mismo objeto en otros ángulos\u002Fescenarios.",[202,5835,5836],{},"Cambiar el mood o la paleta de una foto base.",[202,5838,5839],{},"Generar piezas que comparten un anclaje visual.",[17,5841,5842],{},"Para edición pixel-perfect, necesitas otra cosa (Photoshop, Lightroom, o flujos de Stable Diffusion con inpainting). El modo B es para mantener consistencia visual, no para retoque fino.",[79,5844],{},[45,5846,5848],{"id":5847},"_9-que-claude-code-lo-invoque-por-ti","9 · Que Claude Code lo invoque por ti",[17,5850,5851],{},"Hasta acá invocas el script tú, desde tu terminal. El siguiente paso es no escribir el comando.",[17,5853,5854,5855,5859],{},"Abres VS Code en la carpeta del starter. Tienes Claude Code corriendo (si no, mira ",[73,5856,5858],{"href":5857},"\u002Fbiblioteca\u002Fclaude-code-setup-inicial","Claude Code recién instalado","). Le dices en lenguaje natural:",[1018,5861,5864],{"className":5862,"code":5863,"language":1023},[1021],"genera 3 variaciones de una foto cenital de masa madre sobre mesa de madera,\ncon la luz de la tarde, siguiendo el brand brain. Guárdalas en .\u002Fposts\u002F\n",[577,5865,5863],{"__ignoreMap":587},[17,5867,5868,5869,5871,5872,1007,5875,5878,5879,77],{},"Claude lee tu petición. Sabe que tiene un script ",[577,5870,5253],{},". Construye el comando con ",[577,5873,5874],{},"--prompt",[577,5876,5877],{},"--out",", lo corre 3 veces variando levemente el prompt, te entrega las 3 imágenes en la carpeta ",[577,5880,5881],{},"posts\u002F",[17,5883,5884],{},"Tú nunca tocas la terminal. La diferencia es de minutos a segundos.",[12,5886,5888,5894,5905],{"title":5887,"type":452},"El truco para que Claude entienda tu starter",[17,5889,5890,5891,5893],{},"Deja un ",[577,5892,3030],{}," corto en la raíz del starter con dos cosas:",[495,5895,5896,5899],{},[202,5897,5898],{},"Cómo se invoca el script (1 ejemplo de cada modo).",[202,5900,5901,5902,5904],{},"Qué hace ",[577,5903,4807],{}," (cuál es el tuyo) y dónde vive el cerebro.",[17,5906,5907],{},"Con eso Claude resuelve los detalles solo. Sin eso, te pregunta cada vez.",[79,5909],{},[45,5911,5913],{"id":5912},"_10-descarga-el-starter","10 · Descarga el starter",[17,5915,5916,5917,5919],{},"Te dejo el cerebro de marca demo, el wrapper de Keychain, el script con los dos modos, el inventario base de credenciales y un ",[577,5918,3026],{}," con los 3 pasos para arrancar. Lo descomprimes en tu carpeta de proyectos y lo adaptas:",[12,5921,5923,5933,5935,5963],{"title":5922,"type":557},"📦 brain-imagen-starter.zip",[17,5924,5925],{},[73,5926,5930],{"href":5927,"download":5928,"target":2545,"rel":5929},"https:\u002F\u002Fstorage.googleapis.com\u002Fsantaia-landing-downloads\u002Fbrain-imagen-starter.zip","brain-imagen-starter.zip",[2547,2548],[23,5931,5932],{},"Descargar brain-imagen-starter.zip",[17,5934,2554],{},[199,5936,5937,5943,5948,5953],{},[202,5938,5939,5942],{},[577,5940,5941],{},"brand_brain.md"," (cerebro demo, marca ficticia para que veas la estructura)",[202,5944,5945,5947],{},[577,5946,5253],{}," (script completo con los dos modos)",[202,5949,5950,5952],{},[577,5951,5262],{}," (wrapper público parametrizado por proyecto)",[202,5954,5955,5958,5959,5962],{},[577,5956,5957],{},"09-CREDENTIALS\u002FREADME.md"," + ",[577,5960,5961],{},"_ficha-tipo.md"," (plantillas de inventario)",[17,5964,5965,5966,5968],{},"Requisitos: macOS, Python 3.10+, ",[577,5967,5707],{},". Y tu key de Gemini guardada en Keychain como se explicó en la sección 3.",[79,5970],{},[45,5972,5974],{"id":5973},"_11-lo-que-tienes-que-recordar","11 · Lo que tienes que recordar",[199,5976,5977,5986,5991,5994,5997,6000],{},[202,5978,5979,5980,5982,5983,5985],{},"El cerebro de marca vive en un ",[577,5981,4618],{}," con frontmatter. Hex codes explícitos, lista de ",[577,5984,5185],{},". Eso es lo que hace consistente cada imagen.",[202,5987,5988,5989,4886],{},"La key vive en Keychain. La metadata vive en una ficha en ",[577,5990,4879],{},[202,5992,5993],{},"El wrapper de Python lee la key solo cuando va a llamar al modelo. El valor no toca disco en ningún archivo del repo.",[202,5995,5996],{},"Modo A para texto a imagen. Modo B para foto local de referencia. Cuando la referencia es local, el camino es Gemini.",[202,5998,5999],{},"Itera el cerebro, no el prompt. Cuando un resultado no te guste, agrega una regla al cerebro y la próxima imagen ya sale distinto.",[202,6001,6002],{},"Claude Code dentro de VS Code llama el script por ti en lenguaje natural. Tú nunca escribes el comando.",[79,6004],{},[45,6006,2880],{"id":2879},[17,6008,6009],{},"Este patrón está atado a Gemini, que es lo que uso hoy. Pero la lógica (cerebro + key + wrapper + cliente) no depende del proveedor.",[12,6011,6013,6019],{"title":6012,"type":67},"Próximamente · el mismo patrón, multi-modelo vía Kie.ai",[17,6014,6015,6018],{},[23,6016,6017],{},"Cómo usar el mismo cerebro contra varios modelos."," Kie.ai te deja llamar a OpenAI Images, Flux, Stable Diffusion y otros desde una sola key. Te muestro cómo extender el script para elegir el modelo desde un flag y mantener el cerebro intacto.",[17,6020,6021],{},"Útil cuando un modelo se te queda corto en un estilo y quieres saltar a otro sin reescribir nada.",[79,6023],{},[30,6025],{"channel":32,"subtitle":6026,"title":6027,"url":4326,"video-id":4327},"Cerebro, Keychain, script, Claude Code en VS Code, todo en una sola sentada. Suscríbete y la próxima sale ahí primero.","Mira el flujo entero en video",[17,6029,6030,6031,6034],{},"¿El cerebro te quedó pegado pero no logras que el script corra? ¿Tu primera imagen salió rara? Escríbeme por DM en ",[73,6032,585],{"href":583,"rel":6033},[503]," con el prompt y el resultado. Las dudas reales son material de la próxima guía.",[4289,6036,6037],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":587,"searchDepth":588,"depth":588,"links":6039},[6040,6041,6042,6043,6044,6047,6054,6057,6058,6059,6060,6061],{"id":4590,"depth":588,"text":4591},{"id":4642,"depth":588,"text":4643},{"id":4695,"depth":588,"text":4696},{"id":4868,"depth":588,"text":4869},{"id":5044,"depth":588,"text":5045,"children":6045},[6046],{"id":5208,"depth":1433,"text":5209},{"id":5246,"depth":588,"text":6048,"children":6049},"6 · El wrapper · keychain.py y generate_image.py",[6050,6052],{"id":5259,"depth":1433,"text":6051},"shared\u002Fsecrets\u002Fkeychain.py · wrapper de Keychain",{"id":5442,"depth":1433,"text":6053},"generate_image.py · el script CLI",{"id":5700,"depth":588,"text":5701,"children":6055},[6056],{"id":5745,"depth":1433,"text":5746},{"id":5770,"depth":588,"text":5771},{"id":5847,"depth":588,"text":5848},{"id":5912,"depth":588,"text":5913},{"id":5973,"depth":588,"text":5974},{"id":2879,"depth":588,"text":2880},"Un cerebro de marca en markdown, tu key en Keychain y un script de Python. La terminal te devuelve imágenes que ya salen con tu paleta, tu tono y tu estilo. Texto a imagen y con foto de referencia.",{},"\u002Fbiblioteca\u002Fimagenes-con-tu-marca-desde-vscode","2026-05-24",{"title":4570,"description":6062},"biblioteca\u002Fimagenes-con-tu-marca-desde-vscode",[4317,6069,5074,6070,6071,1456],"imagenes","keychain","vscode","3MdtzLxYqPqohHbABk8G8goZBef9BYTTn6hjag4dxbM",{"id":6074,"title":6075,"author":7,"body":6076,"cover":1448,"description":6608,"extension":601,"meta":6609,"navigation":603,"nivel":604,"path":1544,"publishedAt":6065,"seo":6610,"stem":6611,"tags":6612,"__hash__":6615},"biblioteca\u002Fbiblioteca\u002Fpidele-html-a-claude-no-texto-plano.md","Pídele a Claude que te devuelva la respuesta en HTML, no en texto plano",{"type":9,"value":6077,"toc":6594},[6078,6081,6092,6096,6099,6102,6105,6108,6111,6113,6117,6120,6126,6129,6132,6141,6143,6147,6150,6154,6168,6171,6185,6194,6198,6207,6213,6216,6218,6222,6225,6242,6258,6274,6290,6306,6322,6324,6328,6331,6373,6378,6380,6384,6387,6402,6417,6432,6447,6449,6453,6456,6471,6524,6533,6535,6537,6568,6570,6572,6575,6578,6580,6582,6585,6591],[30,6079],{"channel":32,"subtitle":6080,"title":34,"url":4326,"video-id":4327},"Te muestro la frase exacta y los cuatro casos donde más se nota. Suscríbete y la próxima sale ahí primero.",[12,6082,6083,6085,6090],{"title":14,"type":15},[17,6084,2940],{},[17,6086,6087],{},[23,6088,6089],{},"\"Resúmeme esta guía y dime cuándo me conviene pedirle a Claude la respuesta en HTML en vez de texto plano.\"",[17,6091,2948],{},[45,6093,6095],{"id":6094},"el-problema-pediste-un-plan-y-te-llegó-un-muro","El problema · pediste un plan y te llegó un muro",[17,6097,6098],{},"Le pediste a Claude un plan de implementación para tu proyecto. Te devolvió 200 líneas de markdown. Bullets dentro de bullets. Tres niveles de jerarquía. Bloques de código pegados unos con otros.",[17,6100,6101],{},"Lo abres. Lees el primer encabezado. Bajas. Lees el segundo. Te pierdes. Haces scroll hasta el final. Cierras la pestaña. Mañana le vuelves a pedir lo mismo.",[17,6103,6104],{},"Esto pasa siempre con respuestas largas: comparativas tabuladas en markdown, mockups de UI descritos en texto, planes a varias fases, exploraciones de diseño con cinco variantes. Todo bien escrito. Nadie las lee.",[6106,6107],"diagram-html-vs-texto",{},[17,6109,6110],{},"La parte que no es obvia: el problema no es lo que Claude escribió. El problema es el formato. Markdown plano es buen formato para procesar, mal formato para leer. Lo lee bien una máquina. Lo lees mal tú.",[79,6112],{},[45,6114,6116],{"id":6115},"la-técnica-en-una-frase","La técnica en una frase",[17,6118,6119],{},"Al final de tu prompt, le agregas esto:",[6121,6122,6123],"blockquote",{},[17,6124,6125],{},"\"Estructura la respuesta como un archivo HTML. Úsalo con CSS y un poco de JavaScript si ayuda.\"",[17,6127,6128],{},"Ya está. Esa es la técnica.",[17,6130,6131],{},"Claude pasa de devolverte texto plano a devolverte una página renderizada con secciones visuales, tarjetas, barras de progreso, sliders, tablas de verdad, mockups inline. Tu cerebro reconoce las formas antes de leer el texto. Y por eso sí lo lees.",[12,6133,6135,6138],{"title":6134,"type":452},"Por qué funciona",[17,6136,6137],{},"Cuando un párrafo se ve igual que el siguiente, tu ojo no tiene a qué agarrarse. Cuando ves un encabezado grande, una barra naranja, una tarjeta con borde, sabes a dónde mirar.",[17,6139,6140],{},"El contenido es el mismo. El formato cambia si lo terminas leyendo o no.",[79,6142],{},[45,6144,6146],{"id":6145},"el-respaldo-esto-no-me-lo-inventé","El respaldo · esto no me lo inventé",[17,6148,6149],{},"No es un truco mío. Lo está empujando el propio equipo de Claude Code y lo respaldaron varios autores referentes en IA aplicada.",[810,6151,6153],{"id":6152},"anthropic-post-oficial-del-20-de-mayo-de-2026","Anthropic · post oficial del 20 de mayo de 2026",[17,6155,6156,6163,6164,6167],{},[73,6157,6160],{"href":6158,"rel":6159},"https:\u002F\u002Fclaude.com\u002Fblog\u002Fusing-claude-code-the-unreasonable-effectiveness-of-html",[503],[23,6161,6162],{},"Using Claude Code · The Unreasonable Effectiveness of HTML",", firmado por ",[23,6165,6166],{},"Thariq Shihipar",", Member of Technical Staff en el equipo de Claude Code.",[17,6169,6170],{},"Tres frases del post que vale la pena dejar literales (traducidas al español):",[12,6172,6174],{"title":6173,"type":67},"Thariq Shihipar · Anthropic · 2026-05-20",[199,6175,6176,6179,6182],{},[202,6177,6178],{},"\"No suelo leer más de cien líneas de un archivo Markdown.\"",[202,6180,6181],{},"\"La probabilidad de que alguien lea tu especificación, reporte o resumen de PR es mucho más alta si está en HTML.\"",[202,6183,6184],{},"\"Aunque Markdown suele usar menos tokens, la expresividad extra de HTML y la mayor probabilidad de que yo termine leyéndolo me dan, en suma, mejores resultados.\"",[17,6186,6187,6188,6193],{},"El autor publicó además una ",[73,6189,6192],{"href":6190,"rel":6191},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F",[503],"galería pública con 20 demos navegables"," para mostrar de qué está hablando. Más abajo te los enlazo uno por uno.",[810,6195,6197],{"id":6196},"karpathy-una-semana-antes","Karpathy · una semana antes",[17,6199,6200,6201,6206],{},"Andrej Karpathy ya había mandado el mismo consejo el 11 de mayo. Era una sola frase en un tweet (",[73,6202,6205],{"href":6203,"rel":6204},"https:\u002F\u002Fx.com\u002Fkarpathy\u002Fstatus\u002F2053872850101285137",[503],"link al tweet",", según el snippet recuperado):",[12,6208,6210],{"title":6209,"type":67},"Andrej Karpathy · 2026-05-11 · según reportes de terceros",[17,6211,6212],{},"\"Esto funciona muy bien, por cierto: al final de tu pregunta pídele al LLM que 'estructure la respuesta como HTML' y abre el archivo generado en tu navegador.\"",[17,6214,6215],{},"Que dos referentes distintos lleguen a la misma conclusión con una semana de diferencia es una señal. No es marketing de Anthropic. Es un patrón que ya estaba pasando entre la gente que usa Claude todos los días.",[79,6217],{},[45,6219,6221],{"id":6220},"cuándo-pedirlo-en-html-con-ejemplos-reales","Cuándo pedirlo en HTML · con ejemplos reales",[17,6223,6224],{},"Voy a ir caso por caso. Cada uno con un link directo a la galería de Thariq para que veas el resultado renderizado en tu navegador.",[144,6226,6228,6231,6239],{"number":146,"title":6227},"Planes de implementación",[17,6229,6230],{},"Cuando le pides a Claude un plan a varias fases, en HTML te lo entrega como timeline visual: cada fase con su tarjeta, sus tickets dentro, sus mockups inline, sus snippets de código.",[17,6232,6233,6234,77],{},"Demo: ",[73,6235,6238],{"href":6236,"rel":6237},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F16-implementation-plan.html",[503],"timeline de un plan de implementación",[17,6240,6241],{},"En markdown sería una lista anidada de 80 líneas. En HTML lo recorres en 30 segundos y sabes en qué fase estás.",[144,6243,6245,6248,6255],{"number":167,"title":6244},"Sandboxes interactivos para tunear parámetros",[17,6246,6247],{},"Le pides a Claude que te muestre una animación. En markdown te describe la curva con palabras. En HTML te entrega la animación real con un slider para cambiar la duración y un input para cambiar el easing.",[17,6249,6233,6250,77],{},[73,6251,6254],{"href":6252,"rel":6253},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F07-prototype-animation.html",[503],"prototipo de animación con sliders",[17,6256,6257],{},"Esto vale doble cuando estás iterando: no le pides \"ahora más lento, ahora más rápido\". Tú mueves el slider y ya está.",[144,6259,6261,6264,6271],{"number":180,"title":6260},"Tableros tipo kanban para priorizar",[17,6262,6263],{},"Tienes 30 tickets y necesitas decidir cuáles van ahora, cuáles después y cuáles se cortan. En markdown te quedan tres listas planas. En HTML te lo entrega como tablero kanban con columnas que puedes reordenar.",[17,6265,6233,6266,77],{},[73,6267,6270],{"href":6268,"rel":6269},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F18-editor-triage-board.html",[503],"tablero kanban Now \u002F Next \u002F Later \u002F Cut",[17,6272,6273],{},"Mueves la tarjeta de columna y la decisión queda grabada en el DOM. Sin abrir Notion ni Linear.",[144,6275,6277,6280,6287],{"number":223,"title":6276},"Comparativas de variantes lado a lado",[17,6278,6279],{},"Estás diseñando un componente y quieres ver tres variantes al mismo tiempo. En markdown te describe cada una en un bloque. En HTML te las pinta una al lado de la otra para que las compares con el ojo.",[17,6281,6233,6282,77],{},[73,6283,6286],{"href":6284,"rel":6285},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F06-component-variants.html",[503],"variantes de componente lado a lado",[17,6288,6289],{},"El cerebro elige formas mucho más rápido que palabras. Aprovéchalo.",[144,6291,6293,6296,6303],{"number":250,"title":6292},"Mockups inline para validar diseños",[17,6294,6295],{},"Le pides a Claude que te proponga cómo se vería un dashboard. En markdown te lo describe: \"header arriba, sidebar a la izquierda, métricas en cards\". En HTML te lo dibuja con los colores reales, las tipografías reales, las cards reales.",[17,6297,6233,6298,77],{},[73,6299,6302],{"href":6300,"rel":6301},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F02-exploration-visual-designs.html",[503],"exploración visual de diseños",[17,6304,6305],{},"Ahorras la mitad del ciclo \"describe → imagina → corrige\". Lo ves directo.",[144,6307,6309,6312,6319],{"number":278,"title":6308},"Prompt tuners para iterar prompts",[17,6310,6311],{},"Cuando estás afinando un prompt, normalmente cambias una palabra, esperas la respuesta, cambias otra. En HTML, Claude te puede armar una pequeña interfaz con el prompt editable arriba y la respuesta abajo, viva.",[17,6313,6233,6314,77],{},[73,6315,6318],{"href":6316,"rel":6317},"https:\u002F\u002Fthariqs.github.io\u002Fhtml-effectiveness\u002F20-editor-prompt-tuner.html",[503],"prompt tuner con preview en vivo",[17,6320,6321],{},"Es el patrón \"playground\" sin abrir un playground.",[79,6323],{},[45,6325,6327],{"id":6326},"cuándo-no-aplica","Cuándo NO aplica",[17,6329,6330],{},"No todo tiene que ir en HTML. Pedirlo cuando no toca te hace perder tokens y tiempo.",[697,6332,6337,6353],{"bad-label":6333,"bad-title":6334,"good-label":6335,"good-title":6336},"Pídelo en texto plano","Respuestas cortas o de copiar \u002F pegar","Pídelo en HTML","Respuestas largas o exploratorias",[704,6338,6339],{"v-slot:bad":587},[199,6340,6341,6344,6347,6350],{},[202,6342,6343],{},"Una sola respuesta de un párrafo",[202,6345,6346],{},"Código que vas a copiar literal y pegar en tu editor",[202,6348,6349],{},"Conversación tipo brainstorm donde cambias de rumbo cada turno",[202,6351,6352],{},"Pregunta puntual con una respuesta puntual",[704,6354,6355,6358,6361,6364,6367,6370],{"v-slot:good":587},[202,6356,6357],{},"Planes de varias fases con tickets dentro",[202,6359,6360],{},"Comparativas con varias dimensiones",[202,6362,6363],{},"Mockups o exploraciones de diseño",[202,6365,6366],{},"Tableros para reordenar prioridades",[202,6368,6369],{},"Sandboxes para tunear parámetros",[202,6371,6372],{},"Cualquier respuesta donde quieres ver, no solo leer",[12,6374,6375],{"title":4160,"type":138},[17,6376,6377],{},"Si la respuesta cabe en una pantalla y solo es texto, déjala en markdown. Si la respuesta cruza varias pantallas o tiene varios bloques distintos, pídela en HTML.",[79,6379],{},[45,6381,6383],{"id":6382},"prompts-copy-paste","Prompts copy-paste",[17,6385,6386],{},"Estos son los cuatro que uso. Cópialos tal cual al final de tu pregunta normal.",[144,6388,6390,6393,6399],{"number":146,"title":6389},"Versión Karpathy · la más simple",[17,6391,6392],{},"La que sirve para arrancar. Una sola línea, sin pedirle nada raro al modelo.",[1018,6394,6397],{"className":6395,"code":6396,"language":1023},[1021],"Estructura la respuesta como HTML.\n",[577,6398,6396],{"__ignoreMap":587},[17,6400,6401],{},"Funciona para el 80% de casos. Si nunca lo has intentado, empieza por esta.",[144,6403,6405,6408,6414],{"number":167,"title":6404},"Versión plan · cuando vas a pedir un plan",[17,6406,6407],{},"Cuando el contenido tiene fases, mockups y código que se hablan entre sí.",[1018,6409,6412],{"className":6410,"code":6411,"language":1023},[1021],"Devuélveme un plan de implementación completo en un archivo HTML.\nIncluye mockups inline, flujo de datos entre piezas, y los snippets\nde código relevantes embebidos donde toca.\n",[577,6413,6411],{"__ignoreMap":587},[17,6415,6416],{},"Esta es la que más uso yo en Claude Code cuando arranco una feature nueva.",[144,6418,6420,6423,6429],{"number":180,"title":6419},"Versión explicación · cuando quieres entender un tema",[17,6421,6422],{},"Cuando estás aprendiendo algo nuevo y quieres una explicación rica, no un resumen.",[1018,6424,6427],{"className":6425,"code":6426,"language":1023},[1021],"Devuélveme la respuesta como un archivo HTML bien estilizado,\nusando todo lo que CSS y JavaScript pueden hacer para que la\nexplicación quede clara, rica e interactiva.\n",[577,6428,6426],{"__ignoreMap":587},[17,6430,6431],{},"Funciona muy bien para temas que tienen movimiento por dentro: cómo funciona un algoritmo, cómo viajan los paquetes en una red, cómo se entrena un modelo.",[144,6433,6435,6438,6444],{"number":223,"title":6434},"Versión sandbox · cuando quieres tocar parámetros",[17,6436,6437],{},"Cuando lo que pides depende de valores que vas a querer cambiar después.",[1018,6439,6442],{"className":6440,"code":6441,"language":1023},[1021],"Quiero esto como una página HTML interactiva. Mete sliders, inputs\no botones para que yo pueda ajustar los parámetros y ver el cambio\nen vivo, sin tener que volver a pedirte nada.\n",[577,6443,6441],{"__ignoreMap":587},[17,6445,6446],{},"Este es el que más cambia la conversación. Pasas de \"ahora más rápido, ahora más lento\" a moverlo tú mismo y dejar al modelo libre para lo siguiente.",[79,6448],{},[45,6450,6452],{"id":6451},"cómo-ver-el-html-según-dónde-estás","Cómo ver el HTML según dónde estás",[17,6454,6455],{},"El prompt es el mismo. Lo que cambia es cómo se renderiza el resultado dependiendo de qué interfaz de Claude estés usando.",[144,6457,6459,6462,6468],{"number":146,"title":6458},"claude.ai · se renderiza solo como Artifact",[17,6460,6461],{},"Si estás en claude.ai (web, escritorio o app de teléfono), Claude detecta que la respuesta es HTML y la abre directo a la derecha como Artifact. Lo ves renderizado sin abrir nada.",[17,6463,6464,6465,77],{},"Puedes interactuar con los sliders, mover las tarjetas, todo dentro de la propia conversación. Y si quieres guardarlo, le das al botón de descargar y te lo deja como archivo ",[577,6466,6467],{},".html",[17,6469,6470],{},"Es la forma más cómoda. Si recién estás empezando, prueba acá primero.",[144,6472,6474,6481,6484,6521],{"number":167,"title":6473},"Claude Code · escribe el archivo y lo abres tú",[17,6475,6476,6477,6480],{},"Cuando trabajas en terminal con Claude Code, el modelo no renderiza HTML dentro de la terminal. Lo que hace es crearte el archivo ",[577,6478,6479],{},"plan.html"," (o el nombre que le pidas) en la carpeta donde estás.",[17,6482,6483],{},"Para verlo, lo abres en tu navegador. Desde la misma terminal:",[1018,6485,6487],{"className":4744,"code":6486,"language":4746,"meta":587,"style":587},"open plan.html       # macOS\nxdg-open plan.html   # Linux\nstart plan.html      # Windows\n",[577,6488,6489,6501,6511],{"__ignoreMap":587},[1587,6490,6491,6494,6497],{"class":4114,"line":4115},[1587,6492,6493],{"class":4753},"open",[1587,6495,6496],{"class":4757}," plan.html",[1587,6498,6500],{"class":6499},"sJ8bj","       # macOS\n",[1587,6502,6503,6506,6508],{"class":4114,"line":588},[1587,6504,6505],{"class":4753},"xdg-open",[1587,6507,6496],{"class":4757},[1587,6509,6510],{"class":6499},"   # Linux\n",[1587,6512,6513,6516,6518],{"class":4114,"line":1433},[1587,6514,6515],{"class":4753},"start",[1587,6517,6496],{"class":4757},[1587,6519,6520],{"class":6499},"      # Windows\n",[17,6522,6523],{},"O doble clic desde el Finder \u002F Explorador. Es un paso extra de uno tras del otro. Vale la pena.",[12,6525,6527],{"title":6526,"type":67},"Si todavía no tienes Claude Code",[17,6528,6529,6530,77],{},"La técnica funciona también en claude.ai sin instalar nada. Pero si quieres llevarla a tu terminal con archivos reales en tu disco, revisa primero ",[73,6531,6532],{"href":5857},"Claude Code recién instalado · la configuración que uso yo",[79,6534],{},[45,6536,461],{"id":460},[12,6538,6540],{"title":6539,"type":557},"Las 4 reglas que tienes que recordar",[495,6541,6542,6548,6554,6560],{},[202,6543,6544,6547],{},[23,6545,6546],{},"Texto plano se pierde."," HTML se lee. La diferencia está en el formato, no en el contenido.",[202,6549,6550,6553],{},[23,6551,6552],{},"La frase es corta."," \"Estructura la respuesta como HTML\" al final del prompt. Eso es todo.",[202,6555,6556,6559],{},[23,6557,6558],{},"Pídelo cuando hay varios bloques distintos."," Planes, comparativas, mockups, sandboxes. No para una respuesta de un párrafo.",[202,6561,6562],{},[23,6563,6564,6565,77],{},"En claude.ai se ve solo. En Claude Code lo abres tú con ",[577,6566,6567],{},"open plan.html",[79,6569],{},[45,6571,3781],{"id":3780},[17,6573,6574],{},"Esta es la técnica más rápida de aplicar de toda la biblioteca. Tres minutos y la próxima respuesta de Claude la ves distinto.",[17,6576,6577],{},"Si quieres seguir afinando cómo trabajas con Claude:",[4275,6579],{},[79,6581],{},[30,6583],{"channel":32,"subtitle":6584,"title":34,"url":4326,"video-id":4327},"Te muestro la frase exacta, los cuatro casos donde más se nota y cómo ver el archivo dependiendo de tu interfaz.",[17,6586,6587,6588,3415],{},"¿Lo probaste y te quedó alguna duda? Escríbeme por DM en ",[73,6589,585],{"href":583,"rel":6590},[503],[4289,6592,6593],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":587,"searchDepth":588,"depth":588,"links":6595},[6596,6597,6598,6602,6603,6604,6605,6606,6607],{"id":6094,"depth":588,"text":6095},{"id":6115,"depth":588,"text":6116},{"id":6145,"depth":588,"text":6146,"children":6599},[6600,6601],{"id":6152,"depth":1433,"text":6153},{"id":6196,"depth":1433,"text":6197},{"id":6220,"depth":588,"text":6221},{"id":6326,"depth":588,"text":6327},{"id":6382,"depth":588,"text":6383},{"id":6451,"depth":588,"text":6452},{"id":460,"depth":588,"text":461},{"id":3780,"depth":588,"text":3781},"La frase corta que pegas al final de tu prompt y cambia el formato de la respuesta. Lo respaldan Anthropic y Karpathy. Sirve para planes, comparativas, mockups y sandboxes.",{},{"title":6075,"description":6608},"biblioteca\u002Fpidele-html-a-claude-no-texto-plano",[15,2248,6613,6614,1456,3837],"html","artifacts","5hJZUb7SqM-bnbztOVL2Yde2ruCHp-Ik_ztCdI-Hslo",{"id":6617,"title":6618,"author":7,"body":6619,"cover":1448,"description":7252,"extension":601,"meta":7253,"navigation":603,"nivel":1451,"path":5857,"publishedAt":7254,"seo":7255,"stem":7256,"tags":7257,"__hash__":7260},"biblioteca\u002Fbiblioteca\u002Fclaude-code-setup-inicial.md","Claude Code recién instalado, la configuración que uso yo",{"type":9,"value":6620,"toc":7232},[6621,6624,6635,6639,6642,6645,6648,6651,6653,6657,6661,6664,6669,6689,6694,6708,6712,6726,6729,6733,6736,6742,6745,6755,6817,6827,6863,6865,6869,6876,6879,6883,6896,6908,6917,6940,6942,6946,6953,6956,6965,6982,6991,7006,7019,7045,7055,7057,7064,7067,7073,7076,7080,7110,7114,7120,7126,7129,7136,7148,7151,7160,7162,7166,7169,7175,7181,7203,7213,7215,7218,7220,7223,7229],[30,6622],{"channel":32,"subtitle":6623,"title":34,"url":4326},"Míralo mientras lees. Te ahorra tiempo y vas viendo cada paso del setup.",[12,6625,6626,6628,6633],{"title":14,"type":15},[17,6627,2582],{},[17,6629,6630],{},[23,6631,6632],{},"\"Resúmeme esta guía en 5 puntos. Dime qué de este setup debería aplicar primero si recién instalé Claude Code.\"",[17,6634,4587],{},[45,6636,6638],{"id":6637},"por-qué-esta-guía-existe","Por qué esta guía existe",[17,6640,6641],{},"Acabas de instalar Claude Code. Abres la terminal. Aparece un cursor parpadeando. Ya está.",[17,6643,6644],{},"Funciona. Pero no te dice nada. No sabes en qué modelo estás, en qué carpeta, en qué branch. No sabes cuánto va costando la sesión. No sabes si la ventana de contexto se está llenando. Trabajas a ciegas.",[17,6646,6647],{},"Esta guía cierra esa brecha. Cuatro cambios en orden. Veinte minutos. Pensada para gente que acaba de llegar y todavía no quiere meterse con cosas más finas como skills, MCPs o subagentes.",[17,6649,6650],{},"Al final tienes una terminal que sí te informa.",[79,6652],{},[45,6654,6656],{"id":6655},"_1-el-statusline-la-barra-que-sí-te-informa","1 · El statusline (la barra que sí te informa)",[810,6658,6660],{"id":6659},"qué-vas-a-ver-al-final-de-esta-sección","Qué vas a ver al final de esta sección",[17,6662,6663],{},"El statusline es una barra de dos líneas que aparece en la parte de abajo de tu terminal. Vive ahí, todo el rato, mientras trabajas con Claude. Te muestra:",[17,6665,6666],{},[23,6667,6668],{},"Línea 1",[199,6670,6671,6674,6677,6680,6683,6686],{},[202,6672,6673],{},"Modelo activo (Opus, Sonnet, Haiku)",[202,6675,6676],{},"Carpeta donde estás",[202,6678,6679],{},"Branch de git",[202,6681,6682],{},"Líneas añadidas y borradas en la sesión",[202,6684,6685],{},"Costo en USD acumulado",[202,6687,6688],{},"Duración de la sesión",[17,6690,6691],{},[23,6692,6693],{},"Línea 2",[199,6695,6696,6699,6702,6705],{},[202,6697,6698],{},"Barra de progreso del contexto (verde abajo de 60%, amarilla entre 60 y 85, roja arriba de 85)",[202,6700,6701],{},"Tokens usados sobre el límite",[202,6703,6704],{},"Hora actual en Bogotá, Santiago y Madrid",[202,6706,6707],{},"Tasa USD a COP del día",[810,6709,6711],{"id":6710},"por-qué-importa","Por qué importa",[199,6713,6714,6717,6720,6723],{},[202,6715,6716],{},"Evitas commitear en la branch equivocada.",[202,6718,6719],{},"Te das cuenta cuando estás gastando Opus en una tarea que merecía Haiku.",[202,6721,6722],{},"Ves la ventana de contexto llenándose antes de que el agente empiece a olvidar.",[202,6724,6725],{},"Tienes a la vista cuánto va costando la sesión, sin abrir el dashboard de Anthropic.",[6727,6728],"diagram-statusline-live",{},[810,6730,6732],{"id":6731},"cómo-lo-instalas","Cómo lo instalas",[17,6734,6735],{},"Le pasas este prompt a Claude Code. Tal cual. Él te crea el script.",[1018,6737,6740],{"className":6738,"code":6739,"language":1023},[1021],"Quiero un statusline custom para Claude Code en mi Mac. Que sea un script bash en `~\u002F.claude\u002Fstatusline.sh` y se registre en `~\u002F.claude\u002Fsettings.json` en `statusLine.command`.\n\nQue muestre 2 líneas:\n\nLínea 1: modelo actual, nombre de la carpeta donde estoy, branch git, líneas añadidas y borradas en la sesión, costo USD acumulado, duración de la sesión. Separados por `|` en gris.\n\nLínea 2: barra de progreso del contexto (verde \u003C60%, amarillo 60-85%, rojo >85%), tokens usados sobre límite, hora actual en Bogotá, Santiago y Madrid, tasa USD→COP del día (cacheada 1 hora desde open.er-api.com).\n\nColores ANSI 24-bit. Iconos emoji para cada campo (🤖 modelo, 🌿 branch, 💰 costo, etc.). Detecta automáticamente si el modelo es de 1M de contexto y ajusta el límite a 1.000.000, si no, 200.000.\n\nLéeme el script entero y déjamelo listo para probar.\n",[577,6741,6739],{"__ignoreMap":587},[17,6743,6744],{},"Pasos después de pegar el prompt:",[144,6746,6748],{"number":146,"title":6747},"Claude te crea el script",[17,6749,6750,6751,6754],{},"Te lo escribe en ",[577,6752,6753],{},"~\u002F.claude\u002Fstatusline.sh",". Te muestra el contenido entero antes de guardarlo. Léelo. Si entiendes 70% de lo que hace, está bien.",[144,6756,6758,6764],{"number":167,"title":6757},"Registras la ruta en settings.json",[17,6759,6760,6761,6763],{},"Claude lo hace en el mismo paso, pero verifica. Abre ",[577,6762,1335],{}," y asegúrate de que aparece algo así:",[1018,6765,6769],{"className":6766,"code":6767,"language":6768,"meta":587,"style":587},"language-json shiki shiki-themes github-light github-dark","{\n  \"statusLine\": {\n    \"type\": \"command\",\n    \"command\": \"~\u002F.claude\u002Fstatusline.sh\"\n  }\n}\n","json",[577,6770,6771,6776,6784,6797,6807,6812],{"__ignoreMap":587},[1587,6772,6773],{"class":4114,"line":4115},[1587,6774,6775],{"class":4124},"{\n",[1587,6777,6778,6781],{"class":4114,"line":588},[1587,6779,6780],{"class":4761},"  \"statusLine\"",[1587,6782,6783],{"class":4124},": {\n",[1587,6785,6786,6789,6791,6794],{"class":4114,"line":1433},[1587,6787,6788],{"class":4761},"    \"type\"",[1587,6790,5077],{"class":4124},[1587,6792,6793],{"class":4757},"\"command\"",[1587,6795,6796],{"class":4124},",\n",[1587,6798,6799,6802,6804],{"class":4114,"line":4133},[1587,6800,6801],{"class":4761},"    \"command\"",[1587,6803,5077],{"class":4124},[1587,6805,6806],{"class":4757},"\"~\u002F.claude\u002Fstatusline.sh\"\n",[1587,6808,6809],{"class":4114,"line":4139},[1587,6810,6811],{"class":4124},"  }\n",[1587,6813,6814],{"class":4114,"line":4924},[1587,6815,6816],{"class":4124},"}\n",[144,6818,6820],{"number":180,"title":6819},"Reinicias Claude Code",[17,6821,6822,6823,6826],{},"Cierras y abres. La barra aparece abajo. Si no aparece, le dices a Claude \"el statusline no se ve, qué falló\" y él revisa permisos del script (",[577,6824,6825],{},"chmod +x",") y rutas.",[697,6828,6833,6849],{"bad-label":6829,"bad-title":6830,"good-label":6831,"good-title":6832},"Statusline default","Lo que viene de fábrica","Statusline custom","Lo que tienes después",[704,6834,6835],{"v-slot:bad":587},[199,6836,6837,6840,6843,6846],{},[202,6838,6839],{},"Una sola línea minimalista",[202,6841,6842],{},"Modelo y poco más",[202,6844,6845],{},"No ves contexto, costo ni branch",[202,6847,6848],{},"Trabajas sin tablero",[704,6850,6851,6854,6857,6860],{"v-slot:good":587},[202,6852,6853],{},"Dos líneas con todo lo que importa",[202,6855,6856],{},"Costo, contexto, branch y modelo al frente",[202,6858,6859],{},"Tres husos horarios visibles",[202,6861,6862],{},"Tasa COP del día como bonus",[79,6864],{},[45,6866,6868],{"id":6867},"_2-los-3-modos-de-operación","2 · Los 3 modos de operación",[17,6870,6871,6872,6875],{},"El atajo más infrautilizado de Claude Code es ",[577,6873,6874],{},"Shift+Tab",". Cicla entre tres modos. Cada uno cambia cómo se comporta el agente con tus archivos.",[6877,6878],"diagram-modos-claude-code",{},[810,6880,6882],{"id":6881},"cuándo-usar-cuál","Cuándo usar cuál",[144,6884,6886,6889],{"number":146,"title":6885},"Default mode · te pregunta antes de actuar",[17,6887,6888],{},"Es el de fábrica. Antes de tocar un archivo o ejecutar un comando, te pide permiso. Lento, pero seguro.",[17,6890,6891,6892,6895],{},"Lo uso para: repos delicados, código de cliente, cuando estoy aprendiendo una herramienta nueva y quiero ver cada paso. También cuando Claude está trabajando con ",[577,6893,6894],{},"git"," en algo que no quiero perder.",[144,6897,6899,6902],{"number":167,"title":6898},"Auto mode · ejecuta directo",[17,6900,6901],{},"Mi modo del día a día. Claude crea archivos, los modifica, corre comandos sin pedirte permiso cada vez.",[17,6903,6904,6905,77],{},"Lo uso para: refactors pequeños, escribir componentes, generar contenido, mover archivos. Cualquier cosa donde el daño máximo posible es un ",[577,6906,6907],{},"git reset --hard",[144,6909,6911,6914],{"number":180,"title":6910},"Plan mode · te muestra el plan antes de tocar nada",[17,6912,6913],{},"Claude escribe el plan en bloques. Lo lees. Lo apruebas o lo ajustas. Recién ahí ejecuta.",[17,6915,6916],{},"Lo uso para: refactors grandes, migraciones, cuando voy a tocar varios archivos a la vez, cuando estoy explorando un repo nuevo y quiero entender antes de mover. Hace lento el arranque, pero te salva de tareas mal escopadas.",[12,6918,6920],{"title":6919,"type":452},"Regla mental que uso",[199,6921,6922,6928,6934],{},[202,6923,6924,6925],{},"¿La tarea es chiquita y reversible? ",[23,6926,6927],{},"Auto.",[202,6929,6930,6931],{},"¿La tarea cruza varios archivos o módulos? ",[23,6932,6933],{},"Plan.",[202,6935,6936,6937],{},"¿Estoy trabajando en código que no es mío? ",[23,6938,6939],{},"Default.",[79,6941],{},[45,6943,6945],{"id":6944},"_3-comandos-que-uso-todos-los-días","3 · Comandos que uso todos los días",[17,6947,6948,6949,6952],{},"Tecleas ",[577,6950,6951],{},"\u002F"," dentro de Claude Code y se despliega un menú. Estos son los 7 que más uso. Los otros casi no los toco.",[6954,6955],"diagram-comando-slash-en-vivo",{},[144,6957,6959,6962],{"number":146,"title":6958},"\u002Fmodel · cambiar de modelo sin cerrar la sesión",[17,6960,6961],{},"Opus para tareas pesadas (plan grande, decisión arquitectónica). Sonnet para el día a día (escribir código con un buen plan). Haiku para tareas mecánicas (búsquedas, renames, leer muchos archivos rápido).",[17,6963,6964],{},"Lo lanzo cuando arranco una tarea distinta. Empezar Opus, terminar Haiku.",[144,6966,6968,6975],{"number":167,"title":6967},"\u002Frewind · devolverte a un punto anterior",[17,6969,6970,6971,6974],{},"Claude se metió en un camino malo. Borró algo que no debía, o reescribió mal un archivo. ",[577,6972,6973],{},"\u002Frewind"," te deja volver tres turnos atrás sin perder la sesión.",[17,6976,6977,6978,6981],{},"Es como ",[577,6979,6980],{},"Ctrl+Z"," pero para tu chat entero. El que más me ha salvado de pánicos.",[144,6983,6985,6988],{"number":180,"title":6984},"\u002Feffort · ajustar profundidad de pensamiento",[17,6986,6987],{},"Sube el effort cuando el problema requiere pensar (deuda técnica, debugging raro, decisión de arquitectura). Bájalo cuando la tarea es trivial (rename, mover archivos, escribir un README).",[17,6989,6990],{},"Effort alto gasta más tokens pero piensa más. Effort bajo va al grano.",[144,6992,6994,6997],{"number":223,"title":6993},"\u002Fclear · limpiar el contexto sin cerrar",[17,6995,6996],{},"La conversación se enredó. Cambiaste de tarea. Quieres arrancar fresco pero sin reabrir Claude.",[17,6998,6999,7002,7003,77],{},[577,7000,7001],{},"\u002Fclear"," borra el historial de la sesión actual y te deja con el contexto vacío. Es el comando que más uso después de ",[577,7004,7005],{},"\u002Fmodel",[144,7007,7009,7016],{"number":250,"title":7008},"\u002Fcompact · comprimir el contexto",[17,7010,7011,7012,7015],{},"La barra del statusline está en rojo. Llevas una hora en la misma sesión y no quieres perder el hilo. ",[577,7013,7014],{},"\u002Fcompact"," resume todo lo que llevas y arranca con el resumen.",[17,7017,7018],{},"Pierdes detalle. Mantienes la dirección. Útil cuando vas a la mitad de un refactor largo y todavía falta.",[144,7020,7022,7025],{"number":278,"title":7021},"\u002Fpermissions · qué tools corren sin pedir permiso",[17,7023,7024],{},"Acá decides qué comandos puede ejecutar Claude en automático y cuáles te tiene que preguntar.",[17,7026,7027,7028,7031,7032,1242,7035,1242,7038,1242,7041,7044],{},"Lo abro la primera vez que instalo Claude Code en una máquina nueva, configuro los ",[577,7029,7030],{},"Bash"," permitidos que uso a diario (",[577,7033,7034],{},"git status",[577,7036,7037],{},"git diff",[577,7039,7040],{},"npm install",[577,7042,7043],{},"ls","), y lo dejo así.",[144,7046,7048],{"number":310,"title":7047},"\u002Fagents · ver agentes disponibles",[17,7049,7050,7051,7054],{},"Lista los agentes que tienes definidos en ",[577,7052,7053],{},".claude\u002Fagents\u002F",". Si estás arrancando, esto va a salir vacío. Es ok. Más adelante, cuando empieces a crear agentes pre-definidos, los ves todos acá.",[79,7056],{},[45,7058,7060,7061,859],{"id":7059},"_4-background-agents-bg","4 · Background agents (",[577,7062,7063],{},"\u002Fbg",[17,7065,7066],{},"A veces necesitas que Claude haga tres cosas a la vez. Investigar una librería, refactorizar un componente y generar copy para un post. Si las haces en serie, te bloqueas. Si las mandas en paralelo, sigues conversando en el chat principal mientras los otros trabajan.",[17,7068,7069,7070,7072],{},"Eso es ",[577,7071,7063],{},". Lanza la tarea a un agente nuevo, en background, y tu sesión principal queda libre.",[7074,7075],"diagram-bg-agents-parallel",{},[810,7077,7079],{"id":7078},"cuándo-lo-uso","Cuándo lo uso",[199,7081,7082,7088,7094,7100],{},[202,7083,7084,7087],{},[23,7085,7086],{},"Investigación larga."," \"Lee la documentación de Nuxt 4 y resume los breaking changes vs Nuxt 3.\" Tres minutos de lectura mía esperando, vs cinco segundos de pasarlo al background.",[202,7089,7090,7093],{},[23,7091,7092],{},"Refactor pesado."," \"Migra estos 8 componentes a la nueva API.\" Lo mando al background y sigo escribiendo la guía mientras tanto.",[202,7095,7096,7099],{},[23,7097,7098],{},"Generación que tarda."," \"Genera 5 versiones de copy para este hero.\" Lo dejo trabajando y reviso cuando vuelve.",[202,7101,7102,7105,7106,7109],{},[23,7103,7104],{},"Búsquedas en bibliotecas grandes."," \"Encuentra todas las referencias a ",[577,7107,7108],{},"oldFunction"," y lista archivos.\" Background. Sigo en lo mío.",[810,7111,7113],{"id":7112},"cómo-se-invoca","Cómo se invoca",[17,7115,7116,7117,7119],{},"Dentro de una sesión de Claude Code, escribes ",[577,7118,7063],{}," y le pides la tarea:",[1018,7121,7124],{"className":7122,"code":7123,"language":1023},[1021],"> \u002Fbg investiga las 3 librerías más usadas para validación de formularios en Vue 3 y resume pros\u002Fcontras\n",[577,7125,7123],{"__ignoreMap":587},[17,7127,7128],{},"Claude lo dispara a un agente nuevo. Tú sigues chateando.",[17,7130,7131,7132,7135],{},"Para ver el estado de los agentes que tienes corriendo, abres el ",[23,7133,7134],{},"panel de agentes"," (Agent View). Desde una terminal normal:",[1018,7137,7139],{"className":4744,"code":7138,"language":4746,"meta":587,"style":587},"claude agents\n",[577,7140,7141],{"__ignoreMap":587},[1587,7142,7143,7145],{"class":4114,"line":4115},[1587,7144,15],{"class":4753},[1587,7146,7147],{"class":4757}," agents\n",[17,7149,7150],{},"Te muestra todos los agentes activos, cuánto llevan corriendo, y cuáles ya entregaron resultado.",[12,7152,7154],{"title":7153,"type":67},"Versión mínima",[17,7155,7156,7157,77],{},"Agent View viene en Claude Code 2.1.142 o superior. Si tu versión es anterior, actualiza con ",[577,7158,7159],{},"npm install -g @anthropic-ai\u002Fclaude-code",[79,7161],{},[45,7163,7165],{"id":7164},"cierre","Cierre",[17,7167,7168],{},"Si llegaste hasta acá, tu Claude Code ya no te deja a ciegas. Checklist final:",[144,7170,7172],{"number":146,"title":7171},"Statusline visible al final de tu terminal",[17,7173,7174],{},"Dos líneas, todo el rato. Modelo, branch, costo, contexto, husos horarios, tasa COP.",[144,7176,7178],{"number":167,"title":7177},"Sabes ciclar entre los 3 modos con Shift+Tab",[17,7179,7180],{},"Default, Auto, Plan. Cada uno con su caso.",[144,7182,7184],{"number":180,"title":7183},"Conoces los 7 comandos slash que más se usan",[17,7185,7186,1242,7188,1242,7190,1242,7193,1242,7195,1242,7197,1242,7200,77],{},[577,7187,7005],{},[577,7189,6973],{},[577,7191,7192],{},"\u002Feffort",[577,7194,7001],{},[577,7196,7014],{},[577,7198,7199],{},"\u002Fpermissions",[577,7201,7202],{},"\u002Fagents",[144,7204,7206],{"number":223,"title":7205},"Sabes lanzar tareas en background con \u002Fbg",[17,7207,7208,7209,7212],{},"Y abrir Agent View con ",[577,7210,7211],{},"claude agents"," desde una terminal normal.",[810,7214,3781],{"id":3780},[17,7216,7217],{},"Esta es la base. Si te sirvió, en la biblioteca hay tres guías que continúan justo desde acá:",[4275,7219],{},[30,7221],{"channel":32,"subtitle":7222,"title":34,"url":4326},"Te muestro statusline, modos, comandos y background en una sola sentada. Suscríbete y la próxima sale ahí primero.",[17,7224,7225,7226,77],{},"¿Algo no te funcionó? ¿Tu setup quedó distinto y quieres contarme? Escríbeme por DM en ",[73,7227,585],{"href":583,"rel":7228},[503],[4289,7230,7231],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":587,"searchDepth":588,"depth":588,"links":7233},[7234,7235,7240,7243,7244,7249],{"id":6637,"depth":588,"text":6638},{"id":6655,"depth":588,"text":6656,"children":7236},[7237,7238,7239],{"id":6659,"depth":1433,"text":6660},{"id":6710,"depth":1433,"text":6711},{"id":6731,"depth":1433,"text":6732},{"id":6867,"depth":588,"text":6868,"children":7241},[7242],{"id":6881,"depth":1433,"text":6882},{"id":6944,"depth":588,"text":6945},{"id":7059,"depth":588,"text":7245,"children":7246},"4 · Background agents (\u002Fbg)",[7247,7248],{"id":7078,"depth":1433,"text":7079},{"id":7112,"depth":1433,"text":7113},{"id":7164,"depth":588,"text":7165,"children":7250},[7251],{"id":3780,"depth":1433,"text":3781},"Lo que cambio el primer día en Claude Code. Statusline, modos de operación, comandos y background agents. El setup mínimo para que la terminal no te deje a ciegas.",{},"2026-05-20",{"title":6618,"description":7252},"biblioteca\u002Fclaude-code-setup-inicial",[1456,1013,7258,7259,3837],"setup","configuracion","Hh1GjG4NplPDFpfTYBAUYLVNhkyz6BSaWlI6EkmWYfU",{"id":7262,"title":7263,"author":7,"body":7264,"cover":1448,"description":7655,"extension":601,"meta":7656,"navigation":603,"nivel":1451,"path":7657,"publishedAt":7658,"seo":7659,"stem":7660,"tags":7661,"__hash__":7665},"biblioteca\u002Fbiblioteca\u002Fhablar-con-claude-code-por-voz.md","Hablar con la terminal por voz · dictar a Claude Code desde VSC",{"type":9,"value":7265,"toc":7640},[7266,7278,7282,7285,7288,7291,7294,7296,7300,7306,7315,7318,7327,7330,7333,7342,7345,7347,7351,7354,7357,7359,7363,7366,7402,7406,7409,7412,7415,7419,7422,7425,7428,7432,7435,7438,7444,7446,7450,7453,7458,7465,7468,7471,7477,7479,7483,7486,7504,7521,7537,7547,7549,7553,7559,7561,7563,7606,7608,7610,7617,7629,7631],[12,7267,7268,7270,7275],{"title":14,"type":15},[17,7269,2582],{},[17,7271,7272],{},[23,7273,7274],{},"\"Resúmeme esta guía y dime cómo arrancar a dictarle a Claude Code en mi terminal.\"",[17,7276,7277],{},"En 30 segundos tienes la lectura clave. Después te devuelves a la sección que más te sirva.",[45,7279,7281],{"id":7280},"tu-voz-se-vuelve-teclado","Tu voz se vuelve teclado",[17,7283,7284],{},"Tienes Claude Code abierto en la terminal integrada de Visual Studio Code. Quieres pedirle algo grande. Una refactorización. Un commit con buena descripción. Una sesión de debug. Te das cuenta que el prompt va a tener 6 frases. Y vas a tener que escribirlas.",[17,7286,7287],{},"Acá empieza la fricción. Tu cabeza ya tiene la idea clara, pero tus dedos van más lento que tu pensamiento. Para cuando terminaste de teclear, ya perdiste dos o tres matices que querías meter.",[17,7289,7290],{},"Wispr Flow resuelve eso con una idea simple: tú hablas, el texto aparece donde tengas el cursor. Si el cursor está en la terminal de VSC, dentro del prompt de Claude Code, ese texto cae ahí. Tu voz se vuelve teclado. Claude recibe la instrucción completa, con el matiz que tenías en la cabeza.",[17,7292,7293],{},"Esta guía es eso. Cómo armar el flujo, cómo se ve en pantalla, y qué tres modos de grabación dominan el caso de uso.",[79,7295],{},[45,7297,7299],{"id":7298},"cómo-se-ve-esto-en-vsc","Cómo se ve esto en VSC",[17,7301,7302,7303,7305],{},"El setup base es sencillo. Tienes VSC abierto. Abres la terminal integrada (Ctrl+J en Mac, Ctrl+ñ en Windows). Lanzas ",[577,7304,15],{}," y entras al prompt interactivo. Pones el cursor donde Claude espera tu mensaje. Mantienes apretada la tecla de Wispr Flow. Hablas.",[1013,7307,7309],{"title":7308,"user":1016},"claude code · terminal vsc",[1018,7310,7313],{"className":7311,"code":7312,"language":1023},[1021]," ▌ santa-ia-landing on  develop\n\n> _\n\n[Wispr Flow · grabando · 00:14]\n",[577,7314,7312],{"__ignoreMap":587},[17,7316,7317],{},"Sueltas la tecla. El texto aparece en el prompt. Lo lees. Si te gusta, das Enter. Claude arranca.",[1013,7319,7321],{"title":7320,"user":1016},"claude code · prompt dictado",[1018,7322,7325],{"className":7323,"code":7324,"language":1023},[1021],"> revisa el componente Terminal.vue y dime si está\n  preparado para responsive en mobile. si no lo está,\n  proponme dos opciones de fix con sus tradeoffs antes\n  de tocar nada.\n\n⏺ Voy a revisar Terminal.vue y evaluar el comportamiento\n  responsive...\n",[577,7326,7324],{"__ignoreMap":587},[7328,7329],"diagram-editor-voice-setup",{},[17,7331,7332],{},"El flujo se vuelve interesante cuando dictas prompts largos. Lo que en teclado te toma 90 segundos, dictado te toma 25.",[1013,7334,7336],{"title":7335,"user":1016},"claude code · prompt largo dictado",[1018,7337,7340],{"className":7338,"code":7339,"language":1023},[1021],"> en \u002Fapp\u002Fcomponents\u002Fcontent\u002F tengo varios diagramas vue.\n  quiero que crees uno nuevo llamado DiagramVozTerminal\n  que muestre tres bloques horizontales: micrófono a la\n  izquierda, flecha al medio, terminal a la derecha.\n  estilo consistente con DiagramAgentView. usa los tokens\n  de color del proyecto. devuélveme el archivo completo\n  listo para guardar.\n\n⏺ Perfecto. Voy a revisar primero DiagramAgentView.vue\n  para mantener consistencia visual y de tokens...\n",[577,7341,7339],{"__ignoreMap":587},[7343,7344],"diagram-voice-typewriter",{},[79,7346],{},[45,7348,7350],{"id":7349},"cuánto-tiempo-te-ahorra-esto","Cuánto tiempo te ahorra esto",[17,7352,7353],{},"Los números de abajo son del caso real de Miguel armando guías y código para este mismo proyecto. Aproximados, honestos, no sacados de un estudio inventado.",[392,7355],{":items":7356},"[{\"value\":\"3×\",\"label\":\"Más rápido en prompts largos\",\"caption\":\"Lo que tecleas en 90 segundos, lo dictas en 25. Sin pelear con typos.\",\"accent\":true},{\"value\":\"120 → 30 min\",\"label\":\"Armar una página completa\",\"caption\":\"Dictando la instrucción inicial y los ajustes a Claude Code, mientras revisas lo que escribe.\"},{\"value\":\"0 manos\",\"label\":\"Libres mientras Claude ejecuta\",\"caption\":\"Hablas el prompt, das Enter, te tomas el café. Claude trabaja, tú piensas en el siguiente paso.\"}]",[79,7358],{},[45,7360,7362],{"id":7361},"los-3-modos-de-grabación-cada-uno-una-ventaja","Los 3 modos de grabación · cada uno una ventaja",[17,7364,7365],{},"Wispr Flow se activa con una tecla configurable (suele ser Fn o una combinación corta). Lo que pasa después depende de cuántas veces la presiones y cuánto la mantengas. Cada modo cubre un caso distinto del flujo con Claude Code.",[697,7367,7372,7388],{"bad-label":7368,"bad-title":7369,"good-label":7370,"good-title":7371},"LO QUE TE CUESTA","Costos reales","LO QUE GANAS","Ventajas concretas",[704,7373,7374],{"v-slot:bad":587},[199,7375,7376,7379,7382,7385],{},[202,7377,7378],{},"Curva inicial de 2 a 3 días hasta que el atajo se vuelve músculo",[202,7380,7381],{},"Transcripción no es 100%, revisas antes de Enter",[202,7383,7384],{},"Tecnicismos raros (nombres de funciones, paths) se confunden a veces",[202,7386,7387],{},"Ruido de fondo le baja precisión, no funciona bien en café ruidoso",[704,7389,7390,7393,7396,7399],{"v-slot:good":587},[202,7391,7392],{},"Prompts largos a Claude salen en un tercio del tiempo",[202,7394,7395],{},"Manos libres para tomar agua, mover el mouse, abrir docs en paralelo",[202,7397,7398],{},"El flujo de pensamiento sale completo, sin perderse en typos",[202,7400,7401],{},"Sumas dictado a tu kit sin cambiar de editor ni de terminal",[810,7403,7405],{"id":7404},"hold-control-exacto-del-momento","Hold · control exacto del momento",[17,7407,7408],{},"Mantienes la tecla oprimida mientras hablas. La sueltas y el texto aparece en el prompt de Claude Code. Es push-to-talk, como un radio.",[17,7410,7411],{},"La ventaja: control exacto sobre el inicio y el final. No se queda escuchando de más. No transcribe el \"ay espérame\" que dijiste mientras pensabas. Es el modo para prompts cortos a Claude, comandos puntuales, correcciones rápidas en medio de una sesión.",[17,7413,7414],{},"Tip de setup: si tu sistema operativo está interpretando un atajo encima de la tecla de Wispr Flow, la grabación se corta sola. Cambia la tecla de activación en Settings de Wispr Flow. Las teclas F4, F5, F6 suelen estar libres.",[810,7416,7418],{"id":7417},"doble-tap-manos-libres-para-párrafos-largos","Doble tap · manos libres para párrafos largos",[17,7420,7421],{},"Dos taps rápidos arrancan la grabación. Wispr Flow se queda escuchando hasta que vuelvas a tocar la tecla. Hands-free total.",[17,7423,7424],{},"La ventaja: dictas un brief completo a Claude Code sin sostener tecla. Sirve para prompts de 4 o 5 frases, cuando estás explicando contexto, casos de uso, o dándole varias restricciones a la vez. Mantener una tecla apretada por dos minutos se vuelve incómodo. Doble tap te libera.",[17,7426,7427],{},"Tip: úsalo solo cuando vayas a dictar más de tres frases. Para mensajes cortos, hold gana. Si lo usas en mensajes cortos, vas a olvidar que sigue grabando y te va a transcribir lo que digas en voz alta mientras piensas.",[810,7429,7431],{"id":7430},"_1-tap-panel-de-control-sin-grabar-nada","1 tap · panel de control sin grabar nada",[17,7433,7434],{},"Un tap corto no graba nada. Solo abre o cierra la mini ventana de Wispr Flow para ver historial, cambiar idioma, revisar settings.",[17,7436,7437],{},"La ventaja: tienes un atajo rápido para revisar qué dictaste hace 5 minutos sin abrir la app completa. Útil cuando quieres copiar un prompt que ya le diste a Claude antes y volver a pegarlo en una nueva sesión.",[12,7439,7441],{"title":7440,"type":67},"3 taps no es estándar",[17,7442,7443],{},"Por defecto, 3 taps no hace nada. Si lees por ahí que sirve para algo, es porque alguien lo configuró custom. Cuenta solo con hold y doble tap.",[79,7445],{},[45,7447,7449],{"id":7448},"quién-manda-el-enter-tú-sigues-siendo-el-editor-final","Quién manda el Enter · tú sigues siendo el editor final",[17,7451,7452],{},"Esta sección es corta. Léela despacio. Es lo que más confunde a quien arranca.",[17,7454,7455],{},[23,7456,7457],{},"Wispr Flow no envía nada a Claude. Solo inserta texto donde tengas el cursor.",[17,7459,7460,7461,7464],{},"Dictas un prompt a Claude Code. Wispr Flow lo pega dentro del input del prompt. ",[23,7462,7463],{},"No le da Enter."," Esa decisión sigue siendo tuya. Lo lees, lo editas si hace falta, y tú presionas Enter cuando estés listo.",[17,7466,7467],{},"Lo mismo pasa en cualquier otra parte: WhatsApp, correos, notas. La herramienta es un tipeador automático con tu voz. No es un agente que decide cuándo mandar las cosas. Quien manda eres tú.",[17,7469,7470],{},"La ventaja escondida: tú sigues siendo el editor final. La IA no te quita esa silla. Wispr Flow dicta. Tú revisas. Claude ejecuta. Tres roles claros.",[12,7472,7474],{"title":7473,"type":138},"Antes de Enter, lee",[17,7475,7476],{},"Wispr Flow transcribe muy bien, pero no es 100%. Antes de mandarle un prompt grande a Claude Code, dale dos segundos a leer lo que quedó escrito. La transcripción puede haber cambiado \"componente\" por \"comportamiento\" o haber confundido el nombre de un archivo. La revisión cuesta tres segundos. La cagada cuesta toda una sesión perdida.",[79,7478],{},[45,7480,7482],{"id":7481},"los-3-niveles-de-control-sobre-lo-que-se-inserta","Los 3 niveles de control sobre lo que se inserta",[17,7484,7485],{},"Una vez tienes claros los modos de grabación, queda decidir qué pasa con el texto transcrito antes de que llegue al prompt de Claude. Wispr Flow te da tres niveles. Del más rápido al más controlado.",[144,7487,7489,7492,7498],{"number":146,"title":7488},"Nivel 1 · Auto-paste (default)",[17,7490,7491],{},"Wispr Flow pega el texto directo en el input de Claude Code que tengas activo en la terminal. Lo editas ahí mismo si quieres antes de presionar Enter.",[17,7493,7494,7497],{},[23,7495,7496],{},"Cuándo úsalo:"," prompts a Claude Code, prompts a Claude.ai, comandos, notas. Cualquier sitio donde tú revisas antes de mandar.",[17,7499,7500,7503],{},[23,7501,7502],{},"Por qué es el default:"," menos fricción. Hablas, aparece, das Enter. El 80% del trabajo de dictado con Claude vive acá.",[144,7505,7507,7510,7515],{"number":167,"title":7506},"Nivel 2 · Review before paste",[17,7508,7509],{},"En Settings activas la opción \"Review before paste\" (o \"Preview mode\" según versión). Wispr Flow primero te muestra el texto en una ventanita flotante. Lo apruebas, lo editas, o lo descartas. Solo entonces se inserta en el prompt.",[17,7511,7512,7514],{},[23,7513,7496],{}," prompts largos donde un detalle confundido puede mandar a Claude por el camino equivocado. Mensajes a clientes, copy que va a redes, instrucciones serias a Claude Code cuando vas a tocar archivos reales del repo.",[17,7516,7517,7520],{},[23,7518,7519],{},"Costo:"," dos segundos extra por dictado. Vale la pena cuando lo que dictas afecta algo importante.",[144,7522,7524,7527,7532],{"number":180,"title":7523},"Nivel 3 · Solo portapapeles",[17,7525,7526],{},"En Settings apagas Auto-paste. Wispr Flow nunca pega nada directo. Solo deja el texto en tu clipboard. Tú pegas con Cmd+V donde quieras.",[17,7528,7529,7531],{},[23,7530,7496],{}," flujos donde el mismo dictado lo vas a repartir en varios sitios (terminal, Notion, slack). También útil si trabajas en una app rara donde el auto-paste se porta mal.",[17,7533,7534,7536],{},[23,7535,7519],{}," un paso manual cada vez. Es el modo de mayor control y menor automatismo.",[12,7538,7540],{"title":7539,"type":452},"Te ahorro la decisión",[17,7541,7542,7543,7546],{},"Empieza en ",[23,7544,7545],{},"Nivel 1"," dos semanas. Cuando un prompt mal dictado mande a Claude a refactorizar el archivo equivocado, ahí solo vas a sentir la necesidad de bajar a Nivel 2 para los prompts grandes. Nivel 3 lo usan muy pocos. Si no sabes si lo necesitas, no lo necesitas.",[79,7548],{},[45,7550,7552],{"id":7551},"el-patrón-detrás-orquestar-teclear","El patrón detrás · orquestar > teclear",[12,7554,7556],{"title":7555,"type":452},"El patrón aplicado",[17,7557,7558],{},"Lo que importa de este flujo no es Wispr Flow. Es lo que pasa cuando tu voz se vuelve la entrada y Claude Code se vuelve la ejecución. Tú pasas de escribir código a dirigir lo que se escribe. Esa es la tesis de santa-ia: no tienes que teclear más rápido. Tienes que orquestar mejor. La voz es solo el puente que te saca de la silla del ejecutor y te sienta en la del director.",[79,7560],{},[45,7562,461],{"id":460},[199,7564,7565,7571,7577,7583,7590,7596,7599],{},[202,7566,7567,7570],{},[23,7568,7569],{},"Hold"," para prompts cortos. Control exacto del inicio y el final.",[202,7572,7573,7576],{},[23,7574,7575],{},"Doble tap"," para prompts largos a Claude. Manos libres.",[202,7578,7579,7582],{},[23,7580,7581],{},"1 tap"," no graba. Solo abre el panel para revisar historial.",[202,7584,7585,7586,7589],{},"Wispr Flow ",[23,7587,7588],{},"no envía",". Solo inserta. Tú presionas Enter en el prompt de Claude.",[202,7591,7542,7592,7595],{},[23,7593,7594],{},"Auto-paste",". Bajas a Review before paste cuando un prompt mal transcrito te cueste una sesión.",[202,7597,7598],{},"Si te corta antes de tiempo: la tecla de activación choca con otro atajo del sistema. Cámbiala en Settings.",[202,7600,7601,7602,7605],{},"El verdadero protagonista del flujo es ",[23,7603,7604],{},"Claude Code",". Wispr Flow es el puente.",[79,7607],{},[45,7609,2880],{"id":2879},[17,7611,7612,7613,7616],{},"Tener dictado afinado es la mitad. La otra mitad es saber ",[23,7614,7615],{},"qué prompts rinden cuando los dictas a Claude Code y cuáles siguen siendo mejor por teclado",". Hay tareas donde dictar te triplica. Hay otras donde escribir lento te hace pensar mejor.",[12,7618,7620,7626],{"title":7619,"type":557},"Próximamente · los 5 prompts que más rinden dictados a Claude Code",[17,7621,7622,7625],{},[23,7623,7624],{},"Catálogo de prompts dictables."," Los 5 patrones de instrucción que más se aceleran cuando los dictas en vez de teclearlos: brief de refactor, descripción de commit, debug en voz alta, sesión de planeación, review de archivo. Cada uno con su ejemplo real dictado y el resultado que devolvió Claude.",[17,7627,7628],{},"Es la guía que vuelve dictar a la terminal una herramienta de trabajo, no un truco curioso.",[79,7630],{},[17,7632,7633,7634,2901,7637,77],{},"Si te quedó alguna duda concreta sobre el flujo: comenta ",[577,7635,7636],{},"VOZ",[73,7638,585],{"href":583,"rel":7639},[503],{"title":587,"searchDepth":588,"depth":588,"links":7641},[7642,7643,7644,7645,7650,7651,7652,7653,7654],{"id":7280,"depth":588,"text":7281},{"id":7298,"depth":588,"text":7299},{"id":7349,"depth":588,"text":7350},{"id":7361,"depth":588,"text":7362,"children":7646},[7647,7648,7649],{"id":7404,"depth":1433,"text":7405},{"id":7417,"depth":1433,"text":7418},{"id":7430,"depth":1433,"text":7431},{"id":7448,"depth":588,"text":7449},{"id":7481,"depth":588,"text":7482},{"id":7551,"depth":588,"text":7552},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"Cómo dictar prompts largos a Claude Code en la terminal de VSC con Wispr Flow. Tu voz se vuelve teclado y el código se escribe solo.",{},"\u002Fbiblioteca\u002Fhablar-con-claude-code-por-voz","2026-05-18",{"title":7263,"description":7655},"biblioteca\u002Fhablar-con-claude-code-por-voz",[1456,7662,7663,3837,5095,7664],"dictado","wispr-flow","vsc","F8fxYzkqdmQzxObkIdch4td3ZBEvbAhpiPsqSERrw80",{"id":7667,"title":7668,"author":7,"body":7669,"cover":1448,"description":7989,"extension":601,"meta":7990,"navigation":603,"nivel":2917,"path":7991,"publishedAt":7658,"seo":7992,"stem":7993,"tags":7994,"__hash__":7999},"biblioteca\u002Fbiblioteca\u002Fhyperframes-diseno-vivo.md","Hyperframes · cómo dejar de pegar capturas y empezar a animar conceptos",{"type":9,"value":7670,"toc":7978},[7671,7683,7687,7690,7693,7696,7698,7702,7705,7708,7711,7714,7717,7719,7723,7765,7767,7771,7774,7777,7780,7783,7785,7789,7792,7795,7798,7801,7803,7807,7819,7828,7837,7846,7874,7876,7880,7883,7892,7895,7898,7901,7904,7907,7910,7912,7924,7926,7928,7948,7950,7952,7955,7967,7969],[12,7672,7673,7675,7680],{"title":14,"type":15},[17,7674,2582],{},[17,7676,7677],{},[23,7678,7679],{},"\"Resúmeme esta guía y dime qué capturas de mi sitio podrían volverse hyperframes.\"",[17,7681,7682],{},"En 30 segundos tienes la lectura aplicada a tu caso. Después te devuelves a la sección que te interese.",[45,7684,7686],{"id":7685},"entras-a-un-sitio-y-todo-está-quieto","Entras a un sitio y todo está quieto",[17,7688,7689],{},"Entras a un sitio cualquiera. Hay textos buenos, hay capturas de pantalla con flechas, hay diagramas con labels. Todo bien explicado. Todo quieto.",[17,7691,7692],{},"A los 20 segundos sin que te dieras cuenta ya decidiste algo sobre esa marca. La sentiste vieja. No por el contenido. Por el aire estancado.",[17,7694,7695],{},"El diseño quieto se siente abandonado. Aunque el texto sea mejor que el de tu competencia, el lector lee menos. Y eso pasa con cualquier blog técnico que se llena de screenshots de su propio producto.",[79,7697],{},[45,7699,7701],{"id":7700},"qué-es-un-hyperframe","Qué es un hyperframe",[17,7703,7704],{},"Un hyperframe es un pedazo de tu sitio que antes habría sido una foto y ahora es un dibujo vivo. La parte de afuera no la nota nadie. La diferencia es que el dibujo se mueve solo, vive en la repo y se ajusta cuando cambia el código.",[17,7706,7707],{},"No es un GIF. No es un Lottie. No es un video. Es un componente de tu propia web que dibuja la idea y la deja moverse. Cero peso de imagen, cero librerías extra, cero scripts montados aparte.",[17,7709,7710],{},"Mira la diferencia. A la izquierda te muestro cómo se siente una guía con la captura quieta. A la derecha, el mismo concepto convertido en hyperframe.",[7712,7713],"diagram-hyperframe-antes-despues",{},[17,7715,7716],{},"La captura cuenta el flujo. El hyperframe lo deja pasar.",[79,7718],{},[45,7720,7722],{"id":7721},"lo-que-pierdes-con-la-captura-lo-que-ganas-con-el-hyperframe","Lo que pierdes con la captura · lo que ganas con el hyperframe",[697,7724,7729,7748],{"bad-label":7725,"bad-title":7726,"good-label":7727,"good-title":7728},"CAPTURA ESTÁTICA","Lo que pierdes","HYPERFRAME VIVO","Lo que ganas",[704,7730,7731],{"v-slot:bad":587},[199,7732,7733,7736,7739,7742,7745],{},[202,7734,7735],{},"Toca abrir el producto y volver a screenshotear cada vez que algo cambia",[202,7737,7738],{},"La imagen pesa entre 80 y 400 KB · sumas peso al bundle",[202,7740,7741],{},"Si el lector lee en dark mode, la captura se ve con fondo blanco roto",[202,7743,7744],{},"El concepto se queda dibujado, no se cuenta solo",[202,7746,7747],{},"Una captura no enseña tiempo: no se ve el orden en que pasan las cosas",[704,7749,7750,7753,7756,7759,7762],{"v-slot:good":587},[202,7751,7752],{},"El componente vive en la repo · cuando cambia el código, cambia el ejemplo",[202,7754,7755],{},"Cero peso de imagen · solo el dibujo nativo del navegador",[202,7757,7758],{},"Dark mode automático porque usas los colores del proyecto",[202,7760,7761],{},"El flujo se ve mientras se explica · menos prosa, más comprensión",[202,7763,7764],{},"Las cascadas, los pulsos y las flechas viajando enseñan el orden por sí solas",[79,7766],{},[45,7768,7770],{"id":7769},"cómo-lo-aplicamos-a-santa-ia","Cómo lo aplicamos a santa-ia",[17,7772,7773],{},"Esta semana hicimos auditoría completa del sitio. Cada captura, cada diagrama estático, cada lugar donde antes habríamos puesto un PNG. Lo orquestamos con Claude Code, no escribimos cada componente a mano. La cabeza del trabajo la pone uno; las manos las puede poner el plan Pro de Claude por veinte dólares al mes y sale a cuenta.",[17,7775,7776],{},"Los números reales del trabajo:",[392,7778],{":items":7779},"[{\"value\":\"11\",\"label\":\"componentes nuevos\",\"caption\":\"diagramas, mascota animada, terminales · todos animados nativo\",\"accent\":true},{\"value\":\"10\",\"label\":\"diagramas existentes que cobraron vida\",\"caption\":\"antes eran estáticos · ahora animan al cargar\"},{\"value\":\"0\",\"label\":\"librerías extra\",\"caption\":\"ni GSAP, ni Lottie, ni Framer Motion · todo nativo del navegador\"},{\"value\":\"0\",\"label\":\"riesgo en deploy\",\"caption\":\"todo corre en el navegador del lector · la build sigue igual\"},{\"value\":\"1\",\"label\":\"bug raíz blindado\",\"caption\":\"el patrón A · te lo cuento más abajo con muestra visual\"}]",[17,7781,7782],{},"Cero librerías nuevas. Cero peso extra de bundle. Cero scripts adicionales. El stack quedó exactamente igual que antes: Nuxt + Vue + Tailwind. Lo único que cambió fue cómo dibujamos los conceptos dentro de las guías.",[79,7784],{},[45,7786,7788],{"id":7787},"la-anatomía-de-un-hyperframe","La anatomía de un hyperframe",[17,7790,7791],{},"Un hyperframe son cuatro capas que se apilan. Si quitas alguna deja de ser hyperframe y vuelve a sentirse como una captura.",[7793,7794],"diagram-hyperframe-stack",{},[17,7796,7797],{},"La capa de arriba es lo que el lector ve. La de abajo es la que sostiene todo. Y la de en medio es donde vive el motor del movimiento, que es lo que el navegador ya sabe hacer sin ayuda de nadie. Cero librerías. Cero peso extra.",[17,7799,7800],{},"Esa decisión técnica importa más de lo que parece. Cualquier librería de animación pesa entre 30 KB y 100 KB minificada. Multiplica por todas tus guías y empieza a doler. Hacerlo con lo que el navegador trae de fábrica pesa cero.",[79,7802],{},[45,7804,7806],{"id":7805},"el-patrón-en-5-pasos","El patrón en 5 pasos",[144,7808,7810,7813,7816],{"number":146,"title":7809},"Identifica el momento",[17,7811,7812],{},"Estás escribiendo una guía. Llegas a la parte donde dirías \"acá va una captura del panel\". Para ahí. Anota la idea del concepto en tres palabras: qué entra, qué pasa, qué sale.",[17,7814,7815],{},"No tomes screenshot. Esa es la regla.",[17,7817,7818],{},"Si no puedes describir el momento en tres palabras, todavía no está claro qué quieres mostrar. Vuelve a escribir el párrafo antes de pensar en el visual.",[144,7820,7822,7825],{"number":167,"title":7821},"Decide el medio",[17,7823,7824],{},"Te ahorro la decisión: el movimiento nativo del navegador sirve para el 95% de casos. Loops, cascadas, fades, escalados suaves, flechas que viajan. Todo eso lo hace el navegador solo y es lo que tienes que usar por defecto.",[17,7826,7827],{},"Solo necesitas algo más cuando quieres typewriter (texto que se escribe letra por letra) o cuando la animación depende de un dato que cambia. Y para esos dos casos hay una forma estándar de hacerlo sin temporizadores sueltos colgando.",[144,7829,7831,7834],{"number":180,"title":7830},"Crea el componente",[17,7832,7833],{},"Abres un archivo nuevo en la carpeta de componentes y describes el dibujo con texto y formas: cuadros, círculos, líneas, etiquetas. Después le agregas las reglas de animación: este círculo respira, esta flecha viaja, este sello pulsa.",[17,7835,7836],{},"Los colores los sacas de la paleta del proyecto, no inventados. Si los tomas de ahí, dark mode te queda automático sin tocar nada más.",[144,7838,7840,7843],{"number":223,"title":7839},"Respeta a quien pidió menos movimiento",[17,7841,7842],{},"Hay personas con migraña, vértigo o trastornos vestibulares para quienes una animación inocente es un día arruinado. El sistema operativo deja que esa persona marque \"menos movimiento, por favor\".",[17,7844,7845],{},"Tu hyperframe tiene que escuchar esa petición. Cuando el lector pidió calma, las animaciones se apagan y el dibujo queda quieto en su forma final. Sin esto, el componente no sale a producción.",[144,7847,7849,7852],{"number":250,"title":7848},"Embébelo en la guía",[17,7850,7851],{},"Dentro del markdown de la guía escribes el nombre del componente en una línea y aparece renderizado en el sitio. Nuxt Content resuelve el resto.",[17,7853,7854,7855,1242,7858,1242,7861,7864,7865,1242,7868,1242,7871,77],{},"Cuidado con un detalle: si el nombre tiene mayúsculas pegadas (",[577,7856,7857],{},"SantaIA",[577,7859,7860],{},"URL",[577,7862,7863],{},"API",") el resolver se confunde y la página queda en blanco silenciosamente. Escríbelo con la primera letra mayúscula y el resto normal: ",[577,7866,7867],{},"Santaia",[577,7869,7870],{},"Url",[577,7872,7873],{},"Api",[79,7875],{},[45,7877,7879],{"id":7878},"la-lección-dura-el-bug-del-patrón-a","La lección dura · el bug del patrón A",[17,7881,7882],{},"Esta sección la pongo honesta porque me costó cuatro componentes verla.",[12,7884,7886,7889],{"title":7885,"type":138},"Cuando dos reglas pelean por el mismo elemento",[17,7887,7888],{},"Le digo a un elemento del dibujo: \"tu sitio es la esquina superior derecha\". Después le agrego una animación: \"crece y vuelve, en bucle\". El navegador interpreta esto como una colisión. Las dos reglas piden mover el elemento. La nueva pisa a la vieja.",[17,7890,7891],{},"¿Resultado? El elemento se va al origen del área (la esquina superior izquierda, la coordenada cero-cero) y se queda ahí. Invisible si esa zona está fuera del marco. Y no tira error. Solo desaparece.",[17,7893,7894],{},"Te muestro en pantalla qué pasa cuando no separas capas. Del lado izquierdo, el elemento debería quedarse arriba a la derecha pero salta al origen cuando llega la animación. Del lado derecho, le pongo un envoltorio (un wrapper) que sostiene la posición, y la animación corre dentro sin moverlo de sitio.",[7896,7897],"diagram-bug-transform-visual",{},[17,7899,7900],{},"El primer componente que falló lo creímos un typo. El segundo, un caché viejo. Al tercero ya era patrón. Al cuarto fui a investigar y entendí que es una regla conocida: cuando hay dos formas de decir \"mové esto\" sobre el mismo nodo, la nueva borra la vieja.",[17,7902,7903],{},"El fix es separar capas. Un envoltorio externo se encarga de pararse en el sitio correcto. Un envoltorio interno se encarga de animar. Ninguno de los dos pelea con el otro porque cada uno tiene una sola responsabilidad. Posicionar afuera, animar adentro.",[17,7905,7906],{},"Después de descubrir el patrón hicimos auditoría completa al sitio. Aparecieron 8 instancias más del mismo bug en componentes que estaban \"funcionando\" pero con animaciones que no se veían porque el elemento se había ido del marco sin avisar. Fix de bloque, una sola revisión.",[17,7908,7909],{},"Esta guía habla del bug y aplica el fix. Si miras el dibujo de cualquiera de los diagramas que ves arriba, vas a encontrar el patrón externo-interno en cada lugar donde hay movimiento.",[79,7911],{},[12,7913,7915,7918,7921],{"title":7914,"type":452},"Patrón aplicado · el diseño es código que se mueve",[17,7916,7917],{},"La tesis raíz de santa-ia es que el patrón pesa más que el modelo. Lo que aplica al pensamiento aplica al diseño.",[17,7919,7920],{},"Una captura estática es resultado. Un hyperframe es proceso visible. El lector ve cómo se compone la idea, no solo dónde quedó.",[17,7922,7923],{},"Antes era orquestar mejor que teclear. Ahora también es orquestar mejor que pegar capturas.",[79,7925],{},[45,7927,461],{"id":460},[199,7929,7930,7933,7936,7939,7942,7945],{},[202,7931,7932],{},"Un hyperframe es un componente de tu sitio que reemplaza una captura PNG y se mueve solo.",[202,7934,7935],{},"Cero librerías de animación. Todo lo hace el navegador con lo que ya trae.",[202,7937,7938],{},"Cuatro capas: concepto, motor de movimiento, paleta del proyecto, respeto a quien pidió menos movimiento.",[202,7940,7941],{},"Cuando el dibujo necesita posicionar Y animar, separa envoltorios: el de afuera se queda quieto donde tiene que estar, el de adentro hace todo el movimiento.",[202,7943,7944],{},"Si tu componente no apaga las animaciones cuando el lector pidió calma, no sale a producción.",[202,7946,7947],{},"Si el nombre del componente tiene mayúsculas pegadas, Nuxt Content no lo encuentra. Primera letra mayúscula y el resto normal.",[79,7949],{},[45,7951,2880],{"id":2879},[17,7953,7954],{},"Ya tienes el patrón mental y los cinco pasos. Lo siguiente es ponerlo en práctica con tu primer hyperframe, paso por paso.",[12,7956,7958,7964],{"title":7957,"type":557},"Próximamente · tu primer hyperframe en 30 minutos",[17,7959,7960,7963],{},[23,7961,7962],{},"Tutorial guiado desde cero."," Te muestro cómo identificar el momento, cómo dibujar el primer concepto, qué movimientos poner para que se sienta vivo sin marear, y cómo embeberlo en tu guía. Sale del análisis paso a paso de un componente real publicado en santa-ia.",[17,7965,7966],{},"Es la guía que vuelve este patrón aplicable, no solo entendible.",[79,7968],{},[17,7970,7971,7972,3810,7975,77],{},"Si te quedó duda concreta sobre cómo aplicar hyperframes a tu sitio: comenta ",[577,7973,7974],{},"HYPERFRAME",[73,7976,585],{"href":583,"rel":7977},[503],{"title":587,"searchDepth":588,"depth":588,"links":7979},[7980,7981,7982,7983,7984,7985,7986,7987,7988],{"id":7685,"depth":588,"text":7686},{"id":7700,"depth":588,"text":7701},{"id":7721,"depth":588,"text":7722},{"id":7769,"depth":588,"text":7770},{"id":7787,"depth":588,"text":7788},{"id":7805,"depth":588,"text":7806},{"id":7878,"depth":588,"text":7879},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"El patrón de diseño que reemplaza screenshots PNG por componentes Vue animados. Mismo bundle, cero librerías extra, el sitio se siente vivo.",{},"\u002Fbiblioteca\u002Fhyperframes-diseno-vivo",{"title":7668,"description":7989},"biblioteca\u002Fhyperframes-diseno-vivo",[7995,7996,2928,7997,7998],"diseño","animaciones","vue","css","Kvid-47cES26jCzmgxjYjqHQVP4QImAKIm24HJmLBnY",{"id":8001,"title":2294,"author":7,"body":8002,"cover":1448,"description":8401,"extension":601,"meta":8402,"navigation":603,"nivel":2917,"path":274,"publishedAt":7658,"seo":8403,"stem":8404,"tags":8405,"__hash__":8409},"biblioteca\u002Fbiblioteca\u002Fjarvis-tu-cerebro-local.md",{"type":9,"value":8003,"toc":8388},[8004,8016,8020,8023,8026,8029,8031,8035,8038,8041,8044,8046,8050,8053,8056,8059,8061,8065,8068,8071,8077,8083,8089,8095,8098,8101,8103,8107,8110,8119,8128,8137,8140,8143,8152,8161,8163,8167,8170,8173,8179,8185,8191,8197,8203,8206,8208,8212,8215,8218,8221,8244,8253,8262,8271,8287,8289,8293,8296,8299,8302,8305,8307,8311,8314,8317,8320,8322,8334,8336,8338,8358,8360,8362,8365,8377,8379],[12,8005,8006,8008,8013],{"title":14,"type":15},[17,8007,2582],{},[17,8009,8010],{},[23,8011,8012],{},"\"Resúmeme esta guía y dime cómo aplicaría este patrón a mi forma de trabajar.\"",[17,8014,8015],{},"En 30 segundos tienes el diagnóstico aplicado a tu caso. Después te devuelves a la sección que te interese.",[45,8017,8019],{"id":8018},"el-día-que-se-te-llenó-la-cabeza","El día que se te llenó la cabeza",[17,8021,8022],{},"Llevas tres proyectos en paralelo. Tu marca, un cliente nuevo, una idea de producto que vas armando los fines de semana. Tu cabeza empezó a fallarte hace dos meses sin avisarte.",[17,8024,8025],{},"Olvidaste una decisión que tomaste hace una semana sobre el pricing. Tu diseñadora te preguntó por segunda vez cuál era el tono de voz de la marca. Buscaste durante 20 minutos un documento de WhatsApp donde habías anotado el flujo de un proceso. Lo encontraste en un audio que no te acordabas haber mandado.",[17,8027,8028],{},"La solución no es trabajar más horas. Es darle a tu cabeza un soporte externo que recuerde por ti. Eso es JARVIS.",[79,8030],{},[45,8032,8034],{"id":8033},"qué-es-jarvis-de-verdad","Qué es JARVIS de verdad",[17,8036,8037],{},"Llamo JARVIS al sistema de notas que vive en mi computador y guarda todo lo que mi negocio sabe sobre sí mismo. Visión, decisiones, equipo, voz de marca, obligaciones, conocimiento que ya extraje de cada proyecto cerrado. Más una bitácora diaria que se actualiza sola cuando trabajo.",[17,8039,8040],{},"La carcasa por fuera es Obsidian. Pero Obsidian no es el protagonista. Lo importante es la estructura que vive dentro. La misma estructura podría existir en Notion, en archivos de texto sueltos, en una carpeta de Google Drive bien armada. Lo que la hace funcionar es el patrón mental, no la herramienta.",[17,8042,8043],{},"Por eso esta guía no es un tutorial de Obsidian. Es el manual del patrón que aplico para que mi cabeza no cargue tres proyectos al mismo tiempo.",[79,8045],{},[45,8047,8049],{"id":8048},"qué-hace-jarvis-por-mí-hoy","Qué hace JARVIS por mí hoy",[17,8051,8052],{},"Tres cosas que pasaron antes de tener JARVIS y dejaron de pasarme.",[392,8054],{":items":8055},"[{\"value\":\"30 s\",\"label\":\"cargar contexto de un proyecto\",\"caption\":\"antes eran 5 documentos sueltos abiertos en pestañas distintas\",\"accent\":true},{\"value\":\"1 día\",\"label\":\"onboarding de un colaborador nuevo\",\"caption\":\"antes le explicaba todo desde cero cada vez\"},{\"value\":\"0\",\"label\":\"veces que digo ay, dónde anoté eso\",\"caption\":\"si lo capturé, está en una capa con dueño claro\"},{\"value\":\"6 meses\",\"label\":\"alcance de búsqueda real\",\"caption\":\"decisiones que tomé en marzo las recupero en mayo en una búsqueda\"}]",[17,8057,8058],{},"Estos números no son de marketing. Son la diferencia real entre tener una carpeta de Drive desordenada y tener un cerebro local con orden mental detrás. La gracia no es la herramienta. Es que cualquier conversación que tenga con Claude después arranca con todo este contexto ya pegado. Sin JARVIS, cada conversación empieza de cero. Con JARVIS, Claude entiende mi negocio antes de que abra la boca.",[79,8060],{},[45,8062,8064],{"id":8063},"no-es-obsidian-es-el-patrón","No es Obsidian, es el patrón",[17,8066,8067],{},"Te muestro la radiografía. Lo que ves a continuación es la estructura de capas que sostiene mi pensamiento. Las cuatro capas de arriba son las principales. Las cinco de abajo son de soporte.",[8069,8070],"diagram-jarvis-capas",{},[17,8072,8073,8076],{},[23,8074,8075],{},"Capa 1 · INBOX."," Todo lo nuevo entra aquí sin orden. Una idea que se me ocurre en la ducha, un audio que me mandaron, una captura. Capturar primero, organizar después. Nunca trato de organizar al momento, porque organizar bloquea el flujo de captura.",[17,8078,8079,8082],{},[23,8080,8081],{},"Capa 2 · AREAS."," Temas vivos que no se cierran nunca. Salud, finanzas, marca, equipo, obligaciones recurrentes. No tienen fecha de fin. Mientras yo siga vivo y siga emprendiendo, estas capas siguen ahí.",[17,8084,8085,8088],{},[23,8086,8087],{},"Capa 3 · PROJECTS."," Cosas con fecha de fin. Santa-ia, jarvis-voice, un cliente de consultoría. Cuando un proyecto se cierra, sale del registro activo y se archiva. Su conocimiento útil sube a la capa 4 antes de que lo archive.",[17,8090,8091,8094],{},[23,8092,8093],{},"Capa 4 · KNOWLEDGE."," Lo que sirve a muchos proyectos. Patrones de pensamiento, recetas de copy, decisiones de stack que ya tomé. Esto es lo que hace que un proyecto nuevo no arranque de cero: hereda lo que ya aprendí en los anteriores.",[17,8096,8097],{},"Las capas de soporte (skills, credenciales, equipo, bitácora diaria, obligaciones) son satélites de las cuatro principales. Cada una con su dueño. Sin solaparse.",[17,8099,8100],{},"El orden de las capas no es decorativo. Es el filtro mental que aplico cuando capturo algo nuevo. Antes de escribirlo me pregunto: ¿esto a qué capa pertenece? Si dudo entre dos, lo dejo en INBOX hasta que se aclare.",[79,8102],{},[45,8104,8106],{"id":8105},"las-5-reglas-que-blindan-el-vault","Las 5 reglas que blindan el vault",[17,8108,8109],{},"Sin reglas, una estructura buena se vuelve un caos lindo a las dos semanas. Estas son las cinco reglas que tengo escritas en el manual del vault.",[144,8111,8113,8116],{"number":146,"title":8112},"Una capa, un dueño",[17,8114,8115],{},"Cada capa tiene un solo lugar canónico donde se edita. Si dos archivos dicen lo mismo, uno es la fuente y el otro es espejo. Nunca dejas la duda abierta. Si la dejas abierta, dentro de un mes editas el que tengas más cerca y corrompes la otra copia sin enterarte.",[17,8117,8118],{},"Esta regla salió de la guía anterior. Si no la has leído, te la dejo apuntada porque es la base de todo lo demás.",[144,8120,8122,8125],{"number":167,"title":8121},"Read-only desde fuera del vault",[17,8123,8124],{},"Cuando estoy trabajando en otro proyecto y necesito contexto de JARVIS, puedo leerlo. Pero no puedo escribir desde ahí. Solo la sesión que está abierta dentro del vault puede modificar el vault.",[17,8126,8127],{},"¿Por qué? Si cualquier proyecto externo pudiera escribir, en un mes el vault tendría entradas duplicadas, decisiones contradictorias, archivos a medio formato. La separación entre quién lee y quién escribe es lo que mantiene la curaduría.",[144,8129,8131,8134],{"number":180,"title":8130},"Los espejos declaran su fuente",[17,8132,8133],{},"Si una nota es una copia de algo que vive en otra capa, lleva dos líneas en su encabezado: de dónde viene y cuándo se sincronizó por última vez.",[17,8135,8136],{},"Si abro un espejo y la fecha tiene más de un mes, sospecho. Voy a revisar la fuente para ver si cambió. Sin esta regla, los espejos drift en silencio y nadie se da cuenta hasta que un cliente lee la versión vieja.",[8138,8139],"diagram-fuente-vs-espejo",{},[17,8141,8142],{},"Una fuente sola es la que decide. Los espejos solo reflejan. Cuando lo dejas así de claro, te liberas de la angustia de \"¿cuál de las dos versiones estaba bien?\". La fuente siempre estaba bien.",[144,8144,8146,8149],{"number":223,"title":8145},"Un registro como punto de entrada",[17,8147,8148],{},"Un solo archivo lista todos los proyectos activos del vault. Cuál está vivo, cuál está pausado, cuál se cerró. Cuando arranco algo nuevo, lo primero que reviso es este registro para no inventar dos veces lo mismo.",[17,8150,8151],{},"Esto es lo que evita que abras tres proyectos paralelos sin saber que dos hacen lo mismo. El registro es el GPS del vault.",[144,8153,8155,8158],{"number":250,"title":8154},"Las reglas de la casa escritas",[17,8156,8157],{},"Existe un archivo que se llama el manual del vault. Dentro están las reglas duras: qué se escribe, qué no, dónde vive cada cosa, cómo se trabaja con el equipo cuando lo lee.",[17,8159,8160],{},"Cuando arranco una sesión nueva con Claude dentro del vault, lo primero que Claude lee es este manual. Sin él, cada sesión arrancaría con sus propias reglas inventadas y la curaduría se rompería.",[79,8162],{},[45,8164,8166],{"id":8165},"un-día-con-jarvis","Un día con JARVIS",[17,8168,8169],{},"Para que se vea cómo se siente esto desde adentro, te muestro un día tipo. Cinco momentos que se repiten en mi semana. Las horas no importan tanto como el hecho de que cada cosa tiene su lugar.",[8171,8172],"diagram-flujo-de-un-dia",{},[17,8174,8175,8178],{},[23,8176,8177],{},"7:00 · Buenos días."," Saludo a Claude dentro del vault. Lee la bitácora del día anterior, las obligaciones que vencen esta semana y las tareas asignadas al equipo. En 30 segundos tengo el mini-check de cómo arranca el día.",[17,8180,8181,8184],{},[23,8182,8183],{},"10:00 · Reunión con cliente."," Abro la nota del proyecto. Su contexto ya está pegado (historia, decisiones, montos, stakeholders). No tengo que repasar nada. Llego con todo en la cabeza porque el vault lo cargó.",[17,8186,8187,8190],{},[23,8188,8189],{},"14:00 · Decisión importante."," Definí algo nuevo del producto. Lo registro en el archivo de decisiones del proyecto. Queda con fecha y razón. Si dentro de tres meses dudo por qué tomé esa decisión, la fecha y la razón me la recuerdan.",[17,8192,8193,8196],{},[23,8194,8195],{},"16:00 · Idea suelta."," Se me ocurre algo en mitad de otra cosa. No la pierdo. Cae al INBOX en una línea sin formato. Después la proceso.",[17,8198,8199,8202],{},[23,8200,8201],{},"19:00 · Cierre."," Actualizo la bitácora del día. Qué se cerró, qué quedó abierto, qué viene mañana. Esto es lo que va a leer Claude a las 7 del día siguiente.",[17,8204,8205],{},"El día no se siente apretado. Cada cosa tuvo su lugar. Mi cabeza no cargó la lista mental porque la lista vive afuera.",[79,8207],{},[45,8209,8211],{"id":8210},"paso-a-paso-arma-tu-jarvis","Paso a paso · arma tu JARVIS",[17,8213,8214],{},"No copies la estructura literal. Copia el patrón. El patrón vale más que la estructura.",[8216,8217],"diagram-arma-tu-jarvis4-pasos",{},[17,8219,8220],{},"El primer día arrancas en el paso 1 y solo el paso 1. No te apures a definir reglas antes de saber cuáles son tus capas. Cada paso se apoya en el anterior. Si te saltas uno, el siguiente se cae solo.",[144,8222,8224,8227,8241],{"number":146,"title":8223},"Decide tus 4 capas principales",[17,8225,8226],{},"No tienen que ser las mismas que las mías. Lo que importa es que sean capas reales de tu vida, no etiquetas decorativas. Algunas ideas:",[199,8228,8229,8232,8235,8238],{},[202,8230,8231],{},"Capa entrada (lo nuevo sin orden)",[202,8233,8234],{},"Capa temas vivos (lo que siempre está)",[202,8236,8237],{},"Capa proyectos (lo que tiene fecha)",[202,8239,8240],{},"Capa conocimiento (lo que se reusa)",[17,8242,8243],{},"Si tu negocio no tiene proyectos, esa capa puede ser otra cosa. Lo importante es la lógica: entrada, permanente, temporal, reusable.",[144,8245,8247,8250],{"number":167,"title":8246},"Una sola fuente por capa",[17,8248,8249],{},"Para cada capa, decide dónde vive el original. Una sola carpeta, un solo archivo, una sola fuente. Lo demás que repita esa info es espejo. Lo que ya viste en la guía anterior.",[17,8251,8252],{},"Si no decides cuál es la fuente, en dos meses tienes tres copias compitiendo y no sabes cuál es la buena. Decide ahora aunque la decisión sea imperfecta. Una decisión imperfecta vence a la duda abierta.",[144,8254,8256,8259],{"number":180,"title":8255},"Crea tu registro · un solo punto de entrada",[17,8257,8258],{},"Un solo archivo en la raíz que diga qué hay y dónde. Puede ser un README, un archivo que liste todos tus proyectos activos, un mapa visual. Da igual el formato.",[17,8260,8261],{},"Lo que no puede pasar es que tu vault crezca y tú no sepas qué hay dentro. El registro es lo que te ahorra esa búsqueda. Cuando arrancas algo nuevo, lo primero que abres es ese archivo para no inventar dos veces lo mismo.",[144,8263,8265,8268],{"number":223,"title":8264},"Escribe tus reglas de la casa",[17,8266,8267],{},"Un archivo donde dejes las reglas duras de cómo se trabaja en tu vault. Qué se escribe, qué no, dónde vive cada cosa, cómo se actualiza, qué pasa cuando entra un colaborador o un agente de IA.",[17,8269,8270],{},"Sin reglas escritas, en seis meses tu vault crece sin patrón y se vuelve la misma carpeta de Drive desordenada de antes. Las reglas son lo que sostiene la estructura cuando tú no estás mirando.",[12,8272,8274,8277],{"title":8273,"type":557},"📦 Descarga la estructura base lista para usar",[17,8275,8276],{},"Te dejo el esqueleto completo de JARVIS sin mi información, con un README en cada carpeta explicando para qué sirve. Lo descomprimes donde guardas tus notas y empiezas a llenarlo a tu ritmo.",[17,8278,8279],{},[73,8280,8284],{"href":8281,"download":8282,"target":2545,"rel":8283},"https:\u002F\u002Fstorage.googleapis.com\u002Fsantaia-landing-downloads\u002Fjarvis-starter.zip","jarvis-starter.zip",[2547,2548],[23,8285,8286],{},"Descargar jarvis-starter.zip",[79,8288],{},[45,8290,8292],{"id":8291},"la-lección-honesta-cuánto-toma-armarlo","La lección honesta · cuánto toma armarlo",[17,8294,8295],{},"Te ahorro la decisión y te digo el número real. Armar la primera versión de tu JARVIS toma entre 2 y 3 días de trabajo concentrado. Si lo haces a ratos, te toma una semana.",[17,8297,8298],{},"Después de armarlo, vives una semana de transición rara donde sientes que estás \"duplicando trabajo\" porque escribes en el vault cosas que antes no escribías. Esa sensación es la curva.",[17,8300,8301],{},"A las dos semanas, el vault te empieza a devolver tiempo. Yo hoy recupero entre 1 y 2 horas diarias que antes perdía buscando dónde anoté algo. Multiplicado por una semana son entre 7 y 14 horas. La inversión inicial paga sola en menos de un mes.",[17,8303,8304],{},"No es magia. Es el costo de organizar afuera lo que tu cabeza ya no quiere cargar adentro.",[79,8306],{},[45,8308,8310],{"id":8309},"cómo-lo-veo-en-santa-ia-hoy","Cómo lo veo en santa-ia hoy",[17,8312,8313],{},"Mi vault tiene 13 carpetas top-level y cubre seis proyectos activos. La carpeta de conocimiento extraído ya pesa más que la de proyectos sueltos porque cada proyecto cerrado dejó sus aprendizajes adentro.",[17,8315,8316],{},"Cuando abro Claude Code dentro del vault, lo primero que hace es leer el manual de la casa. Después puedo pedirle cualquier cosa sobre mi negocio y responde con contexto real. Si le pido que escriba un copy para Instagram, lo hace con mi voz (que vive en una capa del vault). Si le pido un plan para un cliente nuevo, lo hace heredando los patrones que ya extraje de clientes anteriores.",[17,8318,8319],{},"Sin JARVIS, cada conversación con Claude empezaría de cero y se llenaría de \"no sé tu negocio, cuéntame\". Con JARVIS, Claude llega a la conversación con todo el contexto. Eso me ahorra el 80% de lo que antes era repetirme.",[79,8321],{},[12,8323,8325,8328,8331],{"title":8324,"type":452},"Patrón aplicado · de ejecutor a director",[17,8326,8327],{},"La tesis raíz de santa-ia es que orquestar pesa más que ejecutar. Sin un cerebro local que cargue el contexto por ti, cada conversación con cualquier herramienta de IA arranca con tu cabeza haciendo el trabajo de repetir lo básico.",[17,8329,8330],{},"JARVIS es lo que te da los reflejos de director. Eliges qué problema atacar y la herramienta llega con todo el contexto ya pegado. No piensas en el qué ni en el cómo. Piensas en para qué.",[17,8332,8333],{},"Es el patrón que separa a quien usa IA de quien orquesta con IA.",[79,8335],{},[45,8337,461],{"id":460},[199,8339,8340,8343,8346,8349,8352,8355],{},[202,8341,8342],{},"JARVIS no es Obsidian. Es la estructura mental que vive dentro. Podría existir en cualquier herramienta de notas.",[202,8344,8345],{},"Cuatro capas principales: entrada, temas vivos, proyectos y conocimiento reusable. Cinco capas de soporte alrededor.",[202,8347,8348],{},"Una capa, un dueño. Los espejos declaran su fuente y su fecha de sincronización.",[202,8350,8351],{},"Desde fuera del vault, solo lectura. Solo la sesión interna escribe. Eso protege la curaduría.",[202,8353,8354],{},"Un punto de entrada (un registro) y un manual de reglas escritas. Sin esos dos, en seis meses todo se desarma.",[202,8356,8357],{},"La inversión inicial son 2 a 3 días. Empieza a devolver tiempo a las dos semanas. Paga sola en menos de un mes.",[79,8359],{},[45,8361,2880],{"id":2879},[17,8363,8364],{},"Ya tienes el patrón. Lo siguiente es la pieza que sostiene todo cuando dejas entrar agentes de IA a tu vault: el manual de la casa que les explica cómo comportarse.",[12,8366,8368,8374],{"title":8367,"type":557},"Próximamente · cómo armar tu manual del vault desde cero",[17,8369,8370,8373],{},[23,8371,8372],{},"Plantilla del manual de la casa."," Un solo archivo que define cómo cualquier sesión de IA debe comportarse cuando entra a tu vault. Qué leer primero, qué nunca tocar, cómo escribir cuando aporte. Te lo armo desde el ejemplo real de santa-ia y te lo dejo en formato para que lo adaptes.",[17,8375,8376],{},"Es la guía que vuelve este patrón resistente al paso del tiempo.",[79,8378],{},[17,8380,8381,8382,3810,8385,77],{},"Si te quedó duda concreta sobre cómo aplicar el patrón a tu caso: comenta ",[577,8383,8384],{},"JARVIS",[73,8386,585],{"href":583,"rel":8387},[503],{"title":587,"searchDepth":588,"depth":588,"links":8389},[8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400],{"id":8018,"depth":588,"text":8019},{"id":8033,"depth":588,"text":8034},{"id":8048,"depth":588,"text":8049},{"id":8063,"depth":588,"text":8064},{"id":8105,"depth":588,"text":8106},{"id":8165,"depth":588,"text":8166},{"id":8210,"depth":588,"text":8211},{"id":8291,"depth":588,"text":8292},{"id":8309,"depth":588,"text":8310},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"No es un tutorial de Obsidian. Es el patrón de pensamiento que uso para que tres proyectos en paralelo no se vuelvan despelote.",{},{"title":2294,"description":8401},"biblioteca\u002Fjarvis-tu-cerebro-local",[2527,8406,3836,8407,8408],"obsidian","patron-mental","conocimiento","pzWgtDQ2GrGSTlmIeFbIOv-9ddymxBDqr1qu6TGjJak",{"id":8411,"title":8412,"author":7,"body":8413,"cover":1448,"description":8749,"extension":601,"meta":8750,"navigation":603,"nivel":1451,"path":8751,"publishedAt":8752,"seo":8753,"stem":8754,"tags":8755,"__hash__":8758},"biblioteca\u002Fbiblioteca\u002Fagent-view-claude-code.md","Agent View en Claude Code · tu panel multiagente",{"type":9,"value":8414,"toc":8739},[8415,8427,8429,8440,8443,8450,8452,8454,8459,8487,8489,8493,8498,8501,8503,8507,8510,8513,8516,8525,8528,8530,8534,8539,8589,8606,8625,8627,8631,8634,8637,8640,8648,8651,8654,8657,8659,8671,8673,8675,8696,8698,8700,8707,8726,8728,8736],[12,8416,8417,8419,8424],{"title":14,"type":15},[17,8418,2582],{},[17,8420,8421],{},[23,8422,8423],{},"\"Resúmeme esta guía y dime cómo aplicar agent view a mi flujo según lo que ya hago con Claude Code.\"",[17,8425,8426],{},"En 30 segundos tienes la lectura rápida. Después te devuelves a la sección que te llame.",[45,8428,2596],{"id":2595},[17,8430,8431,8432,8435,8436,8439],{},"El 14 de mayo de 2026, Anthropic publicó ",[23,8433,8434],{},"Claude Code v2.1.142",". Esa versión trae una feature que cambia el juego: el ",[23,8437,8438],{},"agent view",". Un panel que te muestra todos los agentes que tienes corriendo, en vivo, en una sola pantalla.",[17,8441,8442],{},"Antes de esto, lanzabas tareas en background con fe ciega. Las disparabas, te ibas a hacer otra cosa y volvías a ver qué había pasado. No sabías si seguían corriendo, si se quedaron atascadas o si ya terminaron.",[17,8444,8445,8446,8449],{},"Ahora hay un dashboard real. Y eso conecta directo con la tesis raíz de santa-ia: ",[23,8447,8448],{},"el que orquesta vale más que el que ejecuta",". Esta feature te empuja, sin pedírtelo, a pensar como director de orquesta y no como obrero de una sola tarea.",[79,8451],{},[45,8453,2705],{"id":2704},[17,8455,8456],{},[23,8457,8458],{},"De un trabajador solo a una oficina con varias mesas.",[697,8460,8463,8476],{"bad-label":2708,"bad-title":8461,"good-label":2710,"good-title":8462},"Una tarea a la vez","Varias tareas en paralelo",[704,8464,8465],{"v-slot:bad":587},[199,8466,8467,8470,8473],{},[202,8468,8469],{},"Te quedabas mirando la terminal",[202,8471,8472],{},"Background sin visibilidad",[202,8474,8475],{},"Fe ciega esperando resultado",[704,8477,8478,8481,8484],{"v-slot:good":587},[202,8479,8480],{},"Dashboard con todos los agentes",[202,8482,8483],{},"Estado en vivo de cada uno",[202,8485,8486],{},"Tú orquestas, ellos ejecutan",[79,8488],{},[45,8490,8492],{"id":8491},"por-qué-es-un-hit","Por qué es un hit",[17,8494,8495],{},[23,8496,8497],{},"Tres razones concretas.",[392,8499],{":items":8500},"[{\"value\":\"3×\",\"label\":\"Triplicas tu output\",\"caption\":\"Tiempo total ya no es la suma de tareas. Es el de la tarea más lenta.\",\"accent\":true},{\"value\":\"👁\",\"label\":\"Visibilidad real\",\"caption\":\"Ves estado: corriendo, bloqueado, terminado. Sabes cuándo intervenir.\"},{\"value\":\"🎯\",\"label\":\"Piensas como director\",\"caption\":\"Dejas de ejecutar y empiezas a orquestar. La base de todo flujo serio con IA.\"}]",[79,8502],{},[45,8504,8506],{"id":8505},"así-se-ve-por-dentro","Así se ve por dentro",[17,8508,8509],{},"El agent view es un panel. Una sola pantalla. A la izquierda, tú orquestando. A la derecha, los agentes corriendo cada uno su tarea.",[8511,8512],"diagram-agent-view",{},[17,8514,8515],{},"En tu terminal, el statusline te muestra en vivo el estado de cada agente:",[1013,8517,8519],{"title":8518,"user":1016},"claude · agent view",[1018,8520,8523],{"className":8521,"code":8522,"language":1023},[1021],"▶▶ auto mode on · 3 local agents\n\n● general-purpose      running 2m 14s   Investigar herramientas IA\n● general-purpose      running 1m 02s   Redactar guión clase\n○ general-purpose      completed 45s    Generar 5 ejemplos\n",[577,8524,8522],{"__ignoreMap":587},[17,8526,8527],{},"El círculo lleno significa corriendo. El círculo vacío, completado. Un golpe de vista y sabes dónde está cada cosa.",[79,8529],{},[45,8531,8533],{"id":8532},"implementación-en-3-pasos","Implementación en 3 pasos",[17,8535,8536],{},[23,8537,8538],{},"Cinco minutos. Cualquier nivel.",[144,8540,8542,8545,8557,8564,8583],{"number":146,"title":8541},"Verifica tu versión",[17,8543,8544],{},"Abre tu terminal y corre:",[1018,8546,8548],{"className":4744,"code":8547,"language":4746,"meta":587,"style":587},"claude --version\n",[577,8549,8550],{"__ignoreMap":587},[1587,8551,8552,8554],{"class":4114,"line":4115},[1587,8553,15],{"class":4753},[1587,8555,8556],{"class":4761}," --version\n",[17,8558,8559,8560,8563],{},"La versión mínima para tener agent view es ",[577,8561,8562],{},"2.1.142",". Si tu número es más bajo, actualiza con:",[1018,8565,8567],{"className":4744,"code":8566,"language":4746,"meta":587,"style":587},"npm install -g @anthropic-ai\u002Fclaude-code\n",[577,8568,8569],{"__ignoreMap":587},[1587,8570,8571,8574,8577,8580],{"class":4114,"line":4115},[1587,8572,8573],{"class":4753},"npm",[1587,8575,8576],{"class":4757}," install",[1587,8578,8579],{"class":4761}," -g",[1587,8581,8582],{"class":4757}," @anthropic-ai\u002Fclaude-code\n",[17,8584,8585,8586,8588],{},"Vuelve a correr ",[577,8587,664],{}," para confirmar que ya estás en la nueva.",[144,8590,8592,8597,8603],{"number":167,"title":8591},"Lanza un agente en background",[17,8593,7116,8594,8596],{},[577,8595,7063],{}," seguido de la tarea que quieres que corra aparte. Ejemplo:",[1018,8598,8601],{"className":8599,"code":8600,"language":1023},[1021],"> \u002Fbg resume este PDF y dame los 3 puntos clave\n",[577,8602,8600],{"__ignoreMap":587},[17,8604,8605],{},"Claude lo manda a un agente nuevo. Tu sesión principal queda libre para seguir pidiendo otras cosas mientras ese trabaja.",[144,8607,8609,8612,8622],{"number":180,"title":8608},"Abre el panel",[17,8610,8611],{},"Desde tu terminal (no dentro de Claude, sino en una terminal normal) ejecutas:",[1018,8613,8614],{"className":4744,"code":7138,"language":4746,"meta":587,"style":587},[577,8615,8616],{"__ignoreMap":587},[1587,8617,8618,8620],{"class":4114,"line":4115},[1587,8619,15],{"class":4753},[1587,8621,7147],{"class":4757},[17,8623,8624],{},"Te abre el dashboard con todos los agentes que tienes activos: cuáles están corriendo, cuáles terminaron, cuánto llevan, qué tarea les diste. Ahí decides cuál revisar primero.",[79,8626],{},[45,8628,8630],{"id":8629},"ejemplo-real-preparar-una-clase","Ejemplo real · preparar una clase",[17,8632,8633],{},"El sábado pasado estaba armando una clase nueva para el canal. Tres frentes al tiempo: investigar herramientas, redactar el guion y generar ejemplos prácticos.",[17,8635,8636],{},"Antes habría hecho los tres en orden. Investigo, después escribo, después armo ejemplos. Cada uno mirándole la cara a Claude esperar.",[17,8638,8639],{},"Con agent view, los tres salieron a la vez:",[1013,8641,8642],{"title":15,"user":1016},[1018,8643,8646],{"className":8644,"code":8645,"language":1023},[1021],"> \u002Fbg investiga las 5 herramientas IA más comentadas para creators en 2026\n\n> \u002Fbg redacta un guion de 8 minutos para clase sobre orquestación con Claude Code\n\n> \u002Fbg genera 5 ejemplos prácticos de prompts cortos para principiantes\n",[577,8647,8645],{"__ignoreMap":587},[17,8649,8650],{},"Mientras los tres trabajaban, yo seguí editando el calendario de la semana. Cuando volví al panel, dos ya estaban listos y el tercero iba por la mitad.",[8652,8653],"diagram-parallel-launch",{},[17,8655,8656],{},"Tiempo total: el del agente más lento, no la suma de los tres.",[79,8658],{},[12,8660,8661,8664],{"title":8324,"type":452},[17,8662,8663],{},"Esto es el primer escalón de pensar como orquestador. Quien usa una tarea a la vez sigue siendo operario. Quien orquesta varios hilos en paralelo se vuelve director.",[17,8665,8666,8667,8670],{},"La tesis raíz de santa-ia es esa: ",[23,8668,8669],{},"el patrón pesa más que el modelo",". Claude solo te da las manos. La cabeza que decide qué pasa en paralelo y qué espera, esa la pones tú.",[79,8672],{},[45,8674,461],{"id":460},[199,8676,8677,8683,8688,8693],{},[202,8678,8679,8682],{},[577,8680,8681],{},"\u002Fbg [tarea]"," dentro de tu sesión: lanza un agente en background.",[202,8684,8685,8687],{},[577,8686,7211],{}," en tu terminal: abre el dashboard.",[202,8689,8690,8691,77],{},"Versión mínima: ",[577,8692,8562],{},[202,8694,8695],{},"Te entrena a pensar como orquestador, no como operario.",[79,8697],{},[45,8699,2880],{"id":2879},[17,8701,8702,8703,8706],{},"Tener el panel es la mitad. La otra mitad es saber ",[23,8704,8705],{},"qué tareas mandar a paralelo y cuáles no",". No todo se paraleliza. Hay decisiones que necesitan resultado del paso anterior. Hay tareas que se pisan entre sí.",[12,8708,8710,8716],{"title":8709,"type":557},"Próximamente · cómo decidir qué paralelizar y qué no",[17,8711,8712,8715],{},[23,8713,8714],{},"Criterios concretos para repartir trabajo entre agentes."," Cuándo conviene un agente solo, cuándo dos, cuándo cinco. Y cómo escribir el criterio de éxito de cada uno para no quedar con resultados huecos.",[17,8717,8718,8719,8722,8723,77],{},"Es la guía que separa al que ",[23,8720,8721],{},"abre el panel"," del que ",[23,8724,8725],{},"realmente orquesta",[79,8727],{},[17,8729,575,8730,2901,8733,77],{},[577,8731,8732],{},"AGENT VIEW",[73,8734,585],{"href":583,"rel":8735},[503],[4289,8737,8738],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":587,"searchDepth":588,"depth":588,"links":8740},[8741,8742,8743,8744,8745,8746,8747,8748],{"id":2595,"depth":588,"text":2596},{"id":2704,"depth":588,"text":2705},{"id":8491,"depth":588,"text":8492},{"id":8505,"depth":588,"text":8506},{"id":8532,"depth":588,"text":8533},{"id":8629,"depth":588,"text":8630},{"id":460,"depth":588,"text":461},{"id":2879,"depth":588,"text":2880},"La feature que salió el 14 de mayo de 2026 y convierte a Claude Code en un orquestador. Qué es, cómo se instala y por qué importa para tu flujo.",{},"\u002Fbiblioteca\u002Fagent-view-claude-code","2026-05-16",{"title":8412,"description":8749},"biblioteca\u002Fagent-view-claude-code",[1456,611,3837,8756,8757],"orquestacion","agent-view","yeA7h0JFRg68hIzfQlIsX4rcBJHuLmG2uUXMsSbwMaQ",{"id":8760,"title":3792,"author":7,"body":8761,"cover":1448,"description":9077,"extension":601,"meta":9078,"navigation":603,"nivel":604,"path":3791,"publishedAt":8752,"seo":9079,"stem":9080,"tags":9081,"__hash__":9084},"biblioteca\u002Fbiblioteca\u002Fpensamiento-organizado-una-capa-un-dueno.md",{"type":9,"value":8762,"toc":9067},[8763,8774,8778,8781,8784,8787,8790,8826,8828,8832,8838,8841,8843,8847,8850,8853,8859,8865,8871,8877,8879,8883,8886,8889,8892,8895,8898,8900,8904,8909,8943,8952,8961,8970,8972,8976,8985,8994,9003,9005,9017,9019,9037,9039,9041,9044,9056,9064],[12,8764,8765,8767,8772],{"title":14,"type":15},[17,8766,2582],{},[17,8768,8769],{},[23,8770,8771],{},"\"Resúmeme esta guía y dime cuál de mis archivos de marca es un Frankenstein.\"",[17,8773,8015],{},[45,8775,8777],{"id":8776},"el-problema-todo-mezclado-en-el-mismo-cajón","El problema · todo mezclado en el mismo cajón",[17,8779,8780],{},"Empezaste tu marca con un documento. Le metiste tu visión, tu paleta, tus posts pendientes, los datos del cliente, las ideas sueltas y dos versiones de tu logo. Funcionó al principio porque cabía todo en una pantalla.",[17,8782,8783],{},"Hoy ese documento tiene 40 páginas. Cuando vas a cambiar tu tono de voz, lo cambias ahí. Pero también lo tienes citado en tu Notion del equipo, en el PDF del onboarding y en el brief del último proyecto. Editas uno. Los otros tres quedan viejos. Nadie se da cuenta hasta que un cliente nuevo lee la versión del 2024.",[17,8785,8786],{},"Eso es un archivo Frankenstein. Mezcla capas que no deberían vivir juntas. Cada vez que escalas, el caos se multiplica. Sumar un proyecto nuevo se vuelve repetir todo desde cero.",[8788,8789],"diagram-frankenstein-split",{},[697,8791,8796,8812],{"bad-label":8792,"bad-title":8793,"good-label":8794,"good-title":8795},"ARCHIVO FRANKENSTEIN","Todo en un solo cajón","UNA CAPA, UN DUEÑO","Cada cosa en su sitio",[704,8797,8798],{"v-slot:bad":587},[199,8799,8800,8803,8806,8809],{},[202,8801,8802],{},"Marca, voz, audiencia, paleta y tareas en el mismo doc",[202,8804,8805],{},"Duplicas info en varios archivos sin darte cuenta",[202,8807,8808],{},"Editas en uno, queda viejo en los otros",[202,8810,8811],{},"Sumar un proyecto nuevo es empezar de cero el caos",[704,8813,8814,8817,8820,8823],{"v-slot:good":587},[202,8815,8816],{},"Cada capa con un dueño claro",[202,8818,8819],{},"Edición solo en la fuente, nunca en el espejo",[202,8821,8822],{},"Los espejos declaran de dónde vienen y cuándo se sincronizaron",[202,8824,8825],{},"Sumar un proyecto nuevo es heredar los espejos del mapa",[79,8827],{},[45,8829,8831],{"id":8830},"el-patrón-en-una-línea","El patrón en una línea",[17,8833,8834,8837],{},[23,8835,8836],{},"Una capa, un dueño."," Cada capa de tu marca, tu negocio o tu vida pública tiene un solo lugar canónico donde se edita. A ese lugar lo llamas la fuente. Todo lo demás que repita esa info es un espejo y declara su fuente en el header.",[17,8839,8840],{},"No es una regla técnica. Es una regla mental. Antes de escribir cualquier cosa, te preguntas: ¿esto es capa nueva o es espejo de algo que ya vive en otro lado? Si es espejo, no lo duplicas. Pones un link a la fuente y sigues.",[79,8842],{},[45,8844,8846],{"id":8845},"las-4-capas-universales","Las 4 capas universales",[17,8848,8849],{},"No importa si tu negocio es una academia, una marca de cosméticos, una consultoría o un canal de YouTube. Cuando lo desarmas, siempre hay las mismas cuatro capas. Cada una pide un dueño distinto.",[8851,8852],"diagram-capas-marca",{},[17,8854,8855,8858],{},[23,8856,8857],{},"Capa 1 · Marca."," Quién eres, qué prometes, cómo suenas, a quién le hablas. Esto no cambia cada vez que abres un proyecto nuevo. Vive en tu cerebro central, el vault donde guardas el conocimiento de fondo de tu negocio. Si mañana abres una sub-marca, hereda esta capa, no la inventa.",[17,8860,8861,8864],{},[23,8862,8863],{},"Capa 2 · Estética implementada."," Los colores exactos en hex, las tipografías reales con sus pesos, el logo en SVG, la mascota, los templates de banners. Esto sí vive donde construyes el producto público (tu web, tu landing). Es la traducción visible de la marca, no la marca en sí.",[17,8866,8867,8870],{},[23,8868,8869],{},"Capa 3 · Operativo del proyecto."," Configs, scripts, briefs internos, reglas locales. Todo lo que solo le importa a ese proyecto concreto. Vive ahí y nunca se propaga. Si lo mueves al cerebro central, lo ensucias.",[17,8872,8873,8876],{},[23,8874,8875],{},"Capa 4 · Tesis comercial."," Cómo vendes, qué plan empujas, qué decisiones tomaste sobre pricing y qué ofertas activas tienes. Vive en la memoria operativa del producto, no en la marca. La marca es estable. La tesis comercial cambia con el mercado.",[79,8878],{},[45,8880,8882],{"id":8881},"caso-real-cómo-lo-apliqué-en-santa-ia","Caso real · cómo lo apliqué en santa-ia",[17,8884,8885],{},"Yo monté santa-ia con tres espacios distintos: mi vault de conocimiento (donde vive el cerebro de la marca), el repo de la landing (lo que ves cuando entras a santa-ia.com) y un monorepo de herramientas (donde construyo las cosas que automatizan el negocio por dentro).",[17,8887,8888],{},"Al principio funcionó. Después se ensució. El archivo de marca de la landing había crecido tanto que mezclaba la voz, la paleta, las decisiones comerciales y media tesis del proyecto. El monorepo había copiado la voz desde el vault sin decir de dónde venía. Cuando cambié una palabra prohibida en el vault, esa palabra siguió viva en dos repos durante un mes sin que nadie se diera cuenta.",[17,8890,8891],{},"Apliqué el patrón. La marca, la voz y la audiencia se quedaron en el vault, que es el dueño. La paleta exacta, la mascota y los templates se quedaron en la landing, donde se implementan. El operativo de cada repo se quedó local. La tesis comercial pasó a vivir en la memoria operativa del producto. Hice un mapa central que lista cada par fuente y espejo, con fecha de último sincronizado.",[17,8893,8894],{},"Hoy, cuando cambio mi tono de voz, lo cambio en un solo archivo. El mapa me dice qué espejos hay que tocar después. Si abro un cuarto repo mañana, no inventa marca: hereda los espejos del mapa.",[392,8896],{":items":8897},"[{\"value\":\"1 → 1\",\"label\":\"fuentes por capa\",\"caption\":\"antes había duplicación silenciosa, ahora una sola\",\"accent\":true},{\"value\":\"3\",\"label\":\"espacios coordinados\",\"caption\":\"vault, landing, monorepo de herramientas\"},{\"value\":\"0\",\"label\":\"drift silencioso\",\"caption\":\"los espejos declaran fuente y fecha\"}]",[79,8899],{},[45,8901,8903],{"id":8902},"_5-principios-para-que-no-se-vuelva-despelote-al-escalar","5 principios para que no se vuelva despelote al escalar",[144,8905,8906],{"number":146,"title":8112},[17,8907,8908],{},"Si dos archivos dicen lo mismo, uno es la fuente y el otro es espejo. Decide cuál. No dejes la duda abierta porque dentro de un mes vas a editar el que tengas más cerca y vas a corromper la otra copia sin enterarte.",[144,8910,8912,8915,8940],{"number":167,"title":8911},"El espejo declara su fuente en el header",[17,8913,8914],{},"Todo archivo que sea espejo lleva dos campos arriba: de dónde viene y cuándo se sincronizó por última vez.",[1018,8916,8918],{"className":5060,"code":8917,"language":5062,"meta":587,"style":587},"source_of_truth: ruta\u002Fal\u002Farchivo\u002Ffuente\nlast_synced: 2026-05-16\n",[577,8919,8920,8930],{"__ignoreMap":587},[1587,8921,8922,8925,8927],{"class":4114,"line":4115},[1587,8923,8924],{"class":5073},"source_of_truth",[1587,8926,5077],{"class":4124},[1587,8928,8929],{"class":4757},"ruta\u002Fal\u002Farchivo\u002Ffuente\n",[1587,8931,8932,8935,8937],{"class":4114,"line":588},[1587,8933,8934],{"class":5073},"last_synced",[1587,8936,5077],{"class":4124},[1587,8938,8939],{"class":4761},"2026-05-16\n",[17,8941,8942],{},"Si abres un espejo y la fecha tiene más de un mes, sospechas y vas a revisar.",[144,8944,8946,8949],{"number":180,"title":8945},"Edición solo en la fuente",[17,8947,8948],{},"Los cambios siempre se hacen arriba, en el dueño. Nunca en el espejo. Editar el espejo crea drift silencioso: la copia queda más fresca que el original y al próximo sync se pierde.",[17,8950,8951],{},"Si encuentras algo escrito con más cuidado en un espejo, no lo dejas ahí. Lo subes a la fuente y propagas.",[144,8953,8955,8958],{"number":223,"title":8954},"Un mapa central",[17,8956,8957],{},"Un solo archivo lista todos los pares fuente y espejo de tu ecosistema. Antes de editar cualquier cosa, lo lees. Es tu GPS.",[17,8959,8960],{},"Sin mapa, los espejos se vuelven invisibles. Con mapa, sabes en 30 segundos qué tocar.",[144,8962,8964,8967],{"number":250,"title":8963},"Proyecto nuevo hereda, no inventa",[17,8965,8966],{},"Cuando entra un proyecto, una sub-marca o un repo nuevo al ecosistema, recibe los espejos del mapa central. No abre su propio archivo de marca desde cero.",[17,8968,8969],{},"Esta es la regla que más se rompe. La gente piensa que arrancar de cero \"está más limpio\". Lo único que hace es multiplicar las fuentes y reabrir el despelote.",[79,8971],{},[45,8973,8975],{"id":8974},"cómo-aplicarlo-a-tu-marca-esta-semana","Cómo aplicarlo a tu marca esta semana",[144,8977,8979,8982],{"number":146,"title":8978},"Lista todo donde guardas info de tu marca",[17,8980,8981],{},"Notion, Drive, documentos sueltos, repos, carpetas en el escritorio, hilos de WhatsApp con tu diseñadora. Inventario completo, sin juzgar. Solo escribir dónde vive cada cosa.",[17,8983,8984],{},"Vas a encontrar más sitios de los que pensabas. Eso ya es información.",[144,8986,8988,8991],{"number":167,"title":8987},"Identifica tu Frankenstein",[17,8989,8990],{},"De toda la lista, ¿qué archivo mezcla tres o más capas distintas? Marca y operativo y comercial juntos, por ejemplo. Ese es tu primer Frankenstein.",[17,8992,8993],{},"Probablemente sea el documento que más has compartido. No lo borres. Lo vas a partir.",[144,8995,8997,9000],{"number":180,"title":8996},"Decide la fuente de cada capa",[17,8998,8999],{},"Para tu caso: ¿dónde va a vivir tu marca de aquí en adelante? ¿Dónde la estética? ¿Dónde el operativo? ¿Dónde la tesis comercial?",[17,9001,9002],{},"Una fuente por capa. Lo demás se vuelve espejo con su header. Si una capa tiene dos posibles dueños, escoge uno y declara. La indecisión es la que crea el caos.",[79,9004],{},[12,9006,9008,9011,9014],{"title":9007,"type":452},"Patrón aplicado · por qué este patrón te ahorra años",[17,9009,9010],{},"Sin este patrón, cada vez que sumas un proyecto duplicas marca, voz y audiencia. Tres proyectos, tres versiones distintas de quién eres. Seis meses después, ninguna está sincronizada y tú no sabes cuál es la buena.",[17,9012,9013],{},"Con este patrón, sumar un proyecto nuevo es heredar los espejos del mapa. La marca se mantiene una sola y todos los proyectos hablan en el mismo tono.",[17,9015,9016],{},"La diferencia parece pequeña al inicio. Compone con el tiempo. Es uno de los patrones que santa-ia enseña: organizar antes que producir.",[79,9018],{},[4449,9020,9021,9025,9028,9031,9034],{},[45,9022,9024],{"id":9023},"caso-práctico-el-mapa-real-de-santa-ia","Caso práctico · el mapa real de santa-ia",[17,9026,9027],{},"Te muestro cómo se ve esto sin maquillaje. Estos son mis tres espacios reales hoy, qué archivo es Frankenstein, qué archivo es duplicado, y cómo quedan después de aplicar el patrón.",[17,9029,9030],{},"El antes está sucio a propósito. Es lo normal cuando creces sin mapa. Si te reconoces en una de las tarjetas rojas, no pasa nada. Es el punto de partida más común.",[9032,9033],"diagram-sync-map-santa-ia",{},[17,9035,9036],{},"Lo que cambió cuando moví las piezas: el archivo Frankenstein de la landing se partió en dos. La marca subió a JARVIS y el sistema visual se quedó abajo. Los duplicados de la suite pasaron a ser espejos con header, así que ya no compiten con la fuente. El mapa central quedó listo para que el próximo repo entre sin reabrir la conversación de quién manda.",[79,9038],{},[45,9040,2880],{"id":2879},[17,9042,9043],{},"Ya tienes el patrón mental. Lo siguiente es la herramienta concreta para aplicarlo: el mapa central que lista tus pares fuente y espejo. Sin mapa, el patrón se diluye en dos semanas. Con mapa, queda fijo.",[12,9045,9047,9053],{"title":9046,"type":557},"Próximamente · cómo armar tu mapa central",[17,9048,9049,9052],{},[23,9050,9051],{},"Plantilla del mapa central · aplicable a cualquier marca."," Un solo archivo que lista todas tus capas, sus dueños y sus espejos. Te lo enseño desde el ejemplo real de santa-ia y te lo dejo en formato copy-paste para que lo adaptes.",[17,9054,9055],{},"Es la guía que vuelve este patrón sostenible.",[17,9057,8381,9058,3810,9061,77],{},[577,9059,9060],{},"CAPAS",[73,9062,585],{"href":583,"rel":9063},[503],[4289,9065,9066],{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":587,"searchDepth":588,"depth":588,"links":9068},[9069,9070,9071,9072,9073,9074,9075,9076],{"id":8776,"depth":588,"text":8777},{"id":8830,"depth":588,"text":8831},{"id":8845,"depth":588,"text":8846},{"id":8881,"depth":588,"text":8882},{"id":8902,"depth":588,"text":8903},{"id":8974,"depth":588,"text":8975},{"id":9023,"depth":588,"text":9024},{"id":2879,"depth":588,"text":2880},"Una sola regla mental para que tu marca, tu negocio y tu conocimiento no se vuelvan despelote. Aplicable a cualquier emprendedor.",{},{"title":3792,"description":9077},"biblioteca\u002Fpensamiento-organizado-una-capa-un-dueno",[8407,9082,5074,8408,9083],"organizacion","escala","YgBv0gFGX338p4wB8aQcOXmPPMMV-uudZ8ei5VEnyyY",{"id":9086,"title":3198,"author":7,"body":9087,"cover":1448,"description":9732,"extension":601,"meta":9733,"navigation":603,"nivel":604,"path":3197,"publishedAt":9734,"seo":9735,"stem":9736,"tags":9737,"__hash__":9741},"biblioteca\u002Fbiblioteca\u002Fempieza-con-claude-desde-cero.md",{"type":9,"value":9088,"toc":9713},[9089,9093,9105,9109,9112,9119,9122,9133,9135,9139,9142,9146,9151,9159,9166,9170,9173,9176,9182,9186,9189,9195,9197,9201,9204,9208,9250,9277,9280,9296,9314,9318,9329,9354,9360,9366,9370,9373,9405,9415,9434,9440,9442,9446,9449,9453,9470,9472,9476,9479,9482,9486,9489,9495,9501,9507,9510,9514,9517,9523,9529,9535,9541,9544,9557,9559,9563,9566,9569,9575,9581,9587,9600,9609,9649,9659,9661,9663,9666,9673,9690,9693,9697,9711],[30,9090],{"channel":32,"subtitle":9091,"title":9092,"url":4326},"Míralo mientras lees. Te ahorra tiempo y vas viendo cada paso.","Esta guía va con el primer video del canal",[12,9094,9095,9097,9102],{"title":14,"type":15},[17,9096,2582],{},[17,9098,9099],{},[23,9100,9101],{},"\"Resúmeme esta guía y dime con qué Claude debería empezar yo según mi nivel.\"",[17,9103,9104],{},"En 30 segundos tienes la recomendación ajustada a ti. Si te interesa profundo, te devuelves a la sección que te llame.",[45,9106,9108],{"id":9107},"por-qué-claude-importa-hoy","Por qué Claude importa hoy",[17,9110,9111],{},"Claude es uno de los asistentes de IA más capaces del momento. Lo usan empresas grandes para reemplazar procesos enteros. Lo usan personas solas para sacar adelante proyectos que antes tomaban semanas.",[17,9113,9114,9115,9118],{},"La herramienta sola no basta. ",[23,9116,9117],{},"Lo que diferencia a la gente que rinde de la gente que se queda igual es algo más: aplicarle a la herramienta un patrón de pensamiento propio."," Esa es la tesis raíz de santa-ia.",[17,9120,9121],{},"En esta guía vas a entender qué Claudes existen, cuál instalar primero, qué plan tiene sentido para ti y cómo funciona el cerebro del modelo por dentro. Es el cimiento. Sobre esto se monta el patrón.",[12,9123,9125,9130],{"title":9124,"type":15},"La tesis de santa-ia, en una línea",[17,9126,9127],{},[23,9128,9129],{},"Tener Claude no te hace mejor. Aplicarle un patrón de pensamiento, sí.",[17,9131,9132],{},"Esta guía te instala la herramienta. Las siguientes te enseñan el patrón.",[79,9134],{},[45,9136,9138],{"id":9137},"los-claudes-que-existen","Los Claudes que existen",[17,9140,9141],{},"Anthropic, la empresa detrás del modelo, no tiene una sola \"app de Claude\". Tiene una familia de productos. Cada uno pensado para un contexto distinto.",[810,9143,9145],{"id":9144},"los-dos-protagonistas","Los dos protagonistas",[9147,9148,9150],"h4",{"id":9149},"claude-code-la-terminal","Claude Code, la terminal",[1013,9152,9153],{"title":15,"user":1016},[1018,9154,9157],{"className":9155,"code":9156,"language":1023},[1021],"$ claude\n\n  ✻ Welcome to Claude Code\n\n  cwd: ~\u002Fsanta-ia\u002Flanding\n\n> Lee CLAUDE.md y dime cómo está armada esta landing.\n\n⏺ Voy a empezar leyendo CLAUDE.md para entender el contexto...\n",[577,9158,9156],{"__ignoreMap":587},[17,9160,9161,9162,9165],{},"Claude viviendo dentro de tu terminal. Suele correr dentro de ",[23,9163,9164],{},"Visual Studio Code"," (terminal integrada). No es un chatbot. Es un agente: piensa, ejecuta comandos, escribe archivos, se mueve por tu sistema.",[9147,9167,9169],{"id":9168},"claude-app-de-escritorio-mac-y-windows","Claude app de escritorio, Mac y Windows",[9171,9172],"diagram-claude-desktop",{},[17,9174,9175],{},"Versión nativa para Mac y Windows. Ventana de chat siempre lista con un atajo de teclado. Por escrito o por voz.",[12,9177,9179],{"title":9178,"type":67},"Por qué nos enfocamos en estos dos",[17,9180,9181],{},"Terminal y escritorio son la base sobre la que después montas el patrón de pensamiento aplicado. El resto de productos son satélites de estos dos.",[810,9183,9185],{"id":9184},"los-satélites","Los satélites",[9187,9188],"diagram-claude-satelites",{},[12,9190,9192],{"title":9191,"type":67},"API · platform.claude.com",[17,9193,9194],{},"La puerta para programadores y empresas. Permite usar Claude desde tu propio código o conectarlo a sistemas internos. No es por donde se empieza.",[79,9196],{},[45,9198,9200],{"id":9199},"instalación","Instalación",[17,9202,9203],{},"Dos protagonistas, dos instalaciones. Empieza por la que más te encaje.",[810,9205,9207],{"id":9206},"claude-code-en-la-terminal","Claude Code en la terminal",[12,9209,9211,9220,9223,9236,9247],{"title":9210,"type":138},"Requisito previo · Node y npm",[17,9212,9213,9214,9219],{},"Claude Code corre sobre Node.js. Si no lo tienes instalado, instálalo primero desde ",[73,9215,9218],{"href":9216,"rel":9217},"https:\u002F\u002Fnodejs.org",[503],"nodejs.org",". Te llega con npm incluido. Versión LTS está bien.",[17,9221,9222],{},"Para verificar que ya los tienes:",[1018,9224,9226],{"className":4744,"code":9225,"language":4746,"meta":587,"style":587},"node -v\n",[577,9227,9228],{"__ignoreMap":587},[1587,9229,9230,9233],{"class":4114,"line":4115},[1587,9231,9232],{"class":4753},"node",[1587,9234,9235],{"class":4761}," -v\n",[1018,9237,9239],{"className":4744,"code":9238,"language":4746,"meta":587,"style":587},"npm -v\n",[577,9240,9241],{"__ignoreMap":587},[1587,9242,9243,9245],{"class":4114,"line":4115},[1587,9244,8573],{"class":4753},[1587,9246,9235],{"class":4761},[17,9248,9249],{},"Si los dos comandos te devuelven un número, vas bien.",[144,9251,9253,9256,9270],{"number":146,"title":9252},"Instala Claude Code",[17,9254,9255],{},"Un solo comando, una sola línea. Cópialo y pégalo tal cual en tu terminal:",[1018,9257,9258],{"className":4744,"code":8566,"language":4746,"meta":587,"style":587},[577,9259,9260],{"__ignoreMap":587},[1587,9261,9262,9264,9266,9268],{"class":4114,"line":4115},[1587,9263,8573],{"class":4753},[1587,9265,8576],{"class":4757},[1587,9267,8579],{"class":4761},[1587,9269,8582],{"class":4757},[17,9271,9272,9273,9276],{},"El ",[577,9274,9275],{},"-g"," significa global. Lo deja disponible desde cualquier carpeta de tu computador.",[9278,9279],"diagram-instalacion-claude-code",{},[144,9281,9283,9293],{"number":167,"title":9282},"Verifica que quedó bien",[1018,9284,9285],{"className":4744,"code":8547,"language":4746,"meta":587,"style":587},[577,9286,9287],{"__ignoreMap":587},[1587,9288,9289,9291],{"class":4114,"line":4115},[1587,9290,15],{"class":4753},[1587,9292,8556],{"class":4761},[17,9294,9295],{},"Si te devuelve un número de versión, está instalado. Si te dice \"command not found\", reinicia la terminal y prueba de nuevo.",[144,9297,9299,9302,9311],{"number":180,"title":9298},"Ábrelo por primera vez",[17,9300,9301],{},"Entra a la carpeta donde quieras trabajar y escribe:",[1018,9303,9305],{"className":4744,"code":9304,"language":4746,"meta":587,"style":587},"claude\n",[577,9306,9307],{"__ignoreMap":587},[1587,9308,9309],{"class":4114,"line":4115},[1587,9310,9304],{"class":4753},[17,9312,9313],{},"La primera vez te va a pedir que inicies sesión con tu cuenta de Claude. Sigue el flujo. Después de eso, estás dentro.",[810,9315,9317],{"id":9316},"claude-app-de-escritorio","Claude app de escritorio",[144,9319,9321],{"number":146,"title":9320},"Descarga la app",[17,9322,4715,9323,9328],{},[73,9324,9327],{"href":9325,"rel":9326},"https:\u002F\u002Fclaude.com\u002Fdownload",[503],"claude.com\u002Fdownload"," y descarga la versión para tu sistema operativo. Hay para Mac y para Windows.",[144,9330,9332],{"number":167,"title":9331},"Instálala como cualquier programa",[199,9333,9334,9344],{},[202,9335,9336,9339,9340,9343],{},[23,9337,9338],{},"Mac:"," abre el ",[577,9341,9342],{},".dmg"," y arrastra Claude a la carpeta Aplicaciones.",[202,9345,9346,9349,9350,9353],{},[23,9347,9348],{},"Windows:"," ejecuta el ",[577,9351,9352],{},".exe"," y sigue el instalador. Siguiente, siguiente, listo.",[144,9355,9357],{"number":180,"title":9356},"Inicia sesión",[17,9358,9359],{},"Al abrir por primera vez te pide cuenta. Si ya tienes cuenta de claude.ai en el navegador, usa la misma. Si no, créala con tu correo.",[144,9361,9363],{"number":223,"title":9362},"Primera conversación",[17,9364,9365],{},"Vas a ver una ventana de chat. Escríbele algo simple como \"preséntate\" y mira cómo responde. Estás listo.",[810,9367,9369],{"id":9368},"visual-studio-code-recomendado-para-claude-code","Visual Studio Code (recomendado para Claude Code)",[17,9371,9372],{},"Claude Code se siente mucho mejor dentro de un editor con terminal integrada. Visual Studio Code es el más común. Es donde yo corro Claude Code todos los días.",[144,9374,9376,9379,9397],{"number":146,"title":9375},"Instala VSC en Mac",[17,9377,9378],{},"Con Homebrew:",[1018,9380,9382],{"className":4744,"code":9381,"language":4746,"meta":587,"style":587},"brew install --cask visual-studio-code\n",[577,9383,9384],{"__ignoreMap":587},[1587,9385,9386,9389,9391,9394],{"class":4114,"line":4115},[1587,9387,9388],{"class":4753},"brew",[1587,9390,8576],{"class":4757},[1587,9392,9393],{"class":4761}," --cask",[1587,9395,9396],{"class":4757}," visual-studio-code\n",[17,9398,9399,9400,77],{},"Si no tienes Homebrew, descárgalo desde ",[73,9401,9404],{"href":9402,"rel":9403},"https:\u002F\u002Fcode.visualstudio.com\u002Fdownload",[503],"code.visualstudio.com\u002Fdownload",[144,9406,9408],{"number":167,"title":9407},"Instala VSC en Windows",[17,9409,9410,9411,9414],{},"Descarga el instalador desde ",[73,9412,9404],{"href":9402,"rel":9413},[503],", ejecútalo y sigue el asistente.",[144,9416,9418,9428],{"number":180,"title":9417},"Abre la terminal integrada",[17,9419,9420,9421,9424,9425,77],{},"Atajo en Mac y Windows: ",[577,9422,9423],{},"Ctrl + `"," (la tecla del backtick, debajo de Escape). También desde el menú ",[577,9426,9427],{},"Terminal → New Terminal",[17,9429,9430,9431,9433],{},"Ahí adentro corres ",[577,9432,15],{}," y arrancas la sesión sin salir del editor.",[12,9435,9437],{"title":9436,"type":452},"Patrón aplicado · por qué arrancar por VSC + terminal",[17,9438,9439],{},"La terminal te obliga a pensar en comandos chiquitos y claros. Esa disciplina es la base del patrón: pedirle al modelo cosas concretas, no monólogos. Lo que aprendes peleando con la terminal se queda contigo para siempre.",[79,9441],{},[45,9443,9445],{"id":9444},"planes-y-cuándo-pagar-cada-uno","Planes y cuándo pagar cada uno",[17,9447,9448],{},"Anthropic tiene cuatro planes que te interesan al arrancar. Aquí los tienes, con honestidad de para quién es cada uno y cuándo subir al siguiente.",[9450,9451],"pricing-grid",{":plans":9452},"[{\"name\":\"Free\",\"price\":\"$0\",\"for\":\"Estás probando IA por primera vez. Curiosidad.\",\"next\":\"Empiezas a chocar con los límites diarios y quieres usarlo en serio.\",\"highlight\":true},{\"name\":\"Pro\",\"price\":\"$20\u002Fmes\",\"priceNote\":\"$17\u002Fmes si pagas anual\",\"for\":\"Ya entendiste la dinámica. Lo usas casi todos los días para tareas reales.\",\"next\":\"Tu trabajo depende del modelo y los límites de Pro te frenan.\",\"highlight\":true},{\"name\":\"Max 5x\",\"price\":\"$100\u002Fmes\",\"for\":\"Profesional que usa Claude varias horas al día. Múltiples proyectos en curso.\",\"next\":\"Si necesitas más volumen y el Max 5x se te queda corto.\",\"note\":\"Yo lo pago\"},{\"name\":\"Max 20x\",\"price\":\"$200\u002Fmes\",\"for\":\"Uso muy intenso. Sesiones largas, Claude Code corriendo casi todo el tiempo.\",\"next\":\"Es el último escalón razonable. Si te queda corto, ya estás en Team o Enterprise.\"}]",[12,9454,9456,9463],{"title":9455,"type":452},"Honestidad · qué pago yo",[17,9457,9458,9459,9462],{},"Yo personalmente pago el plan ",[23,9460,9461],{},"Max 5x · $100\u002Fmes",". Lo digo abierto. Pero no te lo recomiendo por defecto.",[17,9464,9465,9466,9469],{},"Lo pago porque tengo varios proyectos corriendo en paralelo y con Pro se me queda corto. ",[23,9467,9468],{},"Si estás empezando, ni mires este plan."," Te alcanza con Pro. Cuando sientas que Pro se queda corto, ahí evalúas el salto. Subir de plan antes de tiempo es plata botada.",[79,9471],{},[45,9473,9475],{"id":9474},"cómo-funciona-el-cerebro-de-claude","Cómo funciona el cerebro de Claude",[17,9477,9478],{},"Para aplicarle un patrón de pensamiento a Claude, primero tienes que entender cómo guarda información por dentro. No es magia. Tiene dos capas que conviene separar.",[9480,9481],"diagram-cerebro-dos-capas",{},[810,9483,9485],{"id":9484},"el-cerebro-de-la-sesión-actual","El cerebro de la sesión actual",[17,9487,9488],{},"Es la conversación que estás teniendo ahora mismo. Todo vive dentro de una \"ventana de contexto\".",[144,9490,9492],{"number":146,"title":9491},"Es como una pizarra grande",[17,9493,9494],{},"Tus preguntas, sus respuestas, los archivos, los comandos. Claude la relee entera cada vez que responde.",[144,9496,9498],{"number":167,"title":9497},"La pizarra tiene un tamaño máximo",[17,9499,9500],{},"Cuando se llena, lo viejo se borra o se comprime. Mantén una sesión por tarea.",[144,9502,9504],{"number":180,"title":9503},"Al cerrar la sesión, la pizarra se borra",[17,9505,9506],{},"La próxima vez arranca en blanco. Hay formas de darle memoria entre sesiones. Las vemos en otras guías.",[9508,9509],"diagram-pizarra-volatil",{},[810,9511,9513],{"id":9512},"las-páginas-de-contexto","Las páginas de contexto",[17,9515,9516],{},"Lo que sí persiste entre sesiones. Archivos y configuraciones que Claude lee cada vez que se abre.",[144,9518,9520],{"number":146,"title":9519},"Proyectos (escritorio y web)",[17,9521,9522],{},"Carpeta virtual dentro de Claude. Subes archivos una vez y los tiene a la mano en cualquier chat de ese proyecto.",[144,9524,9526],{"number":167,"title":9525},"CLAUDE.md (en Claude Code)",[17,9527,9528],{},"Archivo markdown con las reglas de la casa. Lo lee al inicio de cada sesión, automáticamente.",[144,9530,9532],{"number":180,"title":9531},"Archivos cargados en la conversación",[17,9533,9534],{},"PDFs, imágenes, código. Viven solo dentro de esa sesión. Para que persistan, los metes al proyecto.",[144,9536,9538],{"number":223,"title":9537},"Configuración por proyecto",[17,9539,9540],{},"Cada carpeta en Claude Code tiene su propio CLAUDE.md, sus skills, sus MCPs. No se mezclan.",[9542,9543],"diagram-paginas-contexto",{},[12,9545,9547,9554],{"title":9546,"type":452},"Patrón aplicado · darle TU forma de pensar",[17,9548,9549,9550,9553],{},"Aquí está la puerta. Si Claude lee siempre las mismas páginas al abrir, ",[23,9551,9552],{},"tú puedes meter ahí tu forma de pensar",", tu voz, tus reglas. Eso convierte a Claude de \"asistente genérico\" en \"Claude piensa contigo, en tu estilo\".",[17,9555,9556],{},"Esa es la próxima guía. El patrón mismo.",[79,9558],{},[45,9560,9562],{"id":9561},"lo-que-vas-a-poder-hacer","Lo que vas a poder hacer",[17,9564,9565],{},"Una vez instalado y entendido el cerebro, este es el rango real. Cinco ejemplos concretos, con el cómo en una línea.",[392,9567],{":items":9568},"[{\"value\":\"30 min → 10 seg\",\"label\":\"una cotización\",\"caption\":\"antes vs después\",\"accent\":true},{\"value\":\"1 fin de semana\",\"label\":\"esta landing\",\"caption\":\"primera versión completa\"},{\"value\":\"una tarde → 15 min\",\"label\":\"reporte financiero\",\"caption\":\"con extractos en CSV\u002FPDF\"}]",[144,9570,9572],{"number":146,"title":9571},"Páginas web en producción en horas",[17,9573,9574],{},"Le explicas qué quieres. Claude Code arma estructura, escribe código, despliega en Cloudflare Pages. Esta misma landing se construyó así: un fin de semana para la primera versión.",[144,9576,9578],{"number":167,"title":9577},"Cotizaciones en 10 segundos",[17,9579,9580],{},"Le pasas tu plantilla con operaciones, porcentajes, logo y diseño. Claude te las arma desde una conversación: cálculos hechos, PDF generado, listo para enviar.",[144,9582,9584],{"number":180,"title":9583},"Instagram que responde solo",[17,9585,9586],{},"Conectas Claude con ManyChat. Cuando alguien comenta una palabra clave en tu post, Claude le responde por DM, le pide datos, los guarda donde decidas. 24\u002F7 sin tocar el teléfono.",[144,9588,9590,9593],{"number":223,"title":9589},"Aprender una tecnología nueva en horas",[17,9591,9592],{},"Le pides una hoja de ruta corta para aprender X (Vue, SQL, Excel avanzado). Te arma estructura, buenas prácticas, ejercicios y orden.",[17,9594,9595,9596,9599],{},"El secreto no es Claude. Es ",[23,9597,9598],{},"el patrón al pedirlo",": contexto, objetivo, restricción, criterio de éxito.",[144,9601,9603,9606],{"number":250,"title":9602},"Reportes financieros sin pelear con Excel",[17,9604,9605],{},"Le pasas tus extractos (CSV, PDF). Claude los limpia, los clasifica, te arma un resumen con totales por categoría, gráficas y observaciones.",[17,9607,9608],{},"Una tarde frente a Excel se vuelve una conversación de 15 minutos.",[697,9610,9613,9632],{"bad-label":9611,"good-label":9612},"LO QUE CLAUDE NO ES","LO QUE CLAUDE SÍ ES",[704,9614,9615],{"v-slot:bad":587},[199,9616,9617,9620,9623,9626,9629],{},[202,9618,9619],{},"No es magia",[202,9621,9622],{},"No piensa por ti",[202,9624,9625],{},"No reemplaza tu juicio",[202,9627,9628],{},"No es plug-and-play para tu negocio",[202,9630,9631],{},"No rinde si no le aplicas patrón",[704,9633,9634,9637,9640,9643,9646],{"v-slot:good":587},[202,9635,9636],{},"Te ahorra horas si sabes pedir",[202,9638,9639],{},"Te enseña a pensar estructurado",[202,9641,9642],{},"Es palanca real con el método correcto",[202,9644,9645],{},"Multiplica el tiempo de una sola persona",[202,9647,9648],{},"Mejora a medida que afinas tu patrón",[12,9650,9652],{"title":9651,"type":452},"Patrón aplicado · el método pesa más que el modelo",[17,9653,9654,9655,9658],{},"Cada ejemplo de arriba se cae si pides mal. ",[23,9656,9657],{},"El método pesa más que el modelo."," Por eso la biblioteca de santa-ia existe: para enseñarte el método. Claude solo lo ejecuta.",[79,9660],{},[45,9662,2880],{"id":2879},[17,9664,9665],{},"Esto es el cimiento. Sabes qué Claudes existen, cuál instalar, qué plan tiene sentido para ti y cómo funciona el cerebro del modelo. Ya estás por delante de la mayoría que solo abre claude.ai y le pregunta cosas sueltas.",[17,9667,9668,9669,9672],{},"Lo siguiente es ",[23,9670,9671],{},"aprenderte el patrón",". La forma de pensar que convierte la herramienta en palanca real.",[12,9674,9676,9682],{"title":9675,"type":557},"Próximamente · tu propio asistente con TU patrón",[17,9677,9678,9681],{},[23,9679,9680],{},"Cómo armar tu propio asistente con TU patrón de pensamiento."," Ayuda real en la toma de decisiones, no respuestas genéricas.",[17,9683,8718,9684,8722,9687,77],{},[23,9685,9686],{},"usa Claude",[23,9688,9689],{},"piensa con Claude",[17,9691,9692],{},"Mientras llega esa guía, mira el video que acompaña esta lectura:",[30,9694],{"channel":32,"subtitle":9695,"title":9696,"url":4326},"Suscríbete si te sirvió. La próxima guía sale ahí primero.","Ve la instalación paso a paso en video",[17,9698,9699,9700,9707,9708,77],{},"Si te quedó alguna duda concreta de algo que se quedó por fuera: ",[23,9701,9702,9703,9706],{},"comenta ",[577,9704,9705],{},"GUÍA"," en el video"," y te respondo por DM en ",[73,9709,585],{"href":583,"rel":9710},[503],[4289,9712,8738],{},{"title":587,"searchDepth":588,"depth":588,"links":9714},[9715,9716,9720,9725,9726,9730,9731],{"id":9107,"depth":588,"text":9108},{"id":9137,"depth":588,"text":9138,"children":9717},[9718,9719],{"id":9144,"depth":1433,"text":9145},{"id":9184,"depth":1433,"text":9185},{"id":9199,"depth":588,"text":9200,"children":9721},[9722,9723,9724],{"id":9206,"depth":1433,"text":9207},{"id":9316,"depth":1433,"text":9317},{"id":9368,"depth":1433,"text":9369},{"id":9444,"depth":588,"text":9445},{"id":9474,"depth":588,"text":9475,"children":9727},[9728,9729],{"id":9484,"depth":1433,"text":9485},{"id":9512,"depth":1433,"text":9513},{"id":9561,"depth":588,"text":9562},{"id":2879,"depth":588,"text":2880},"Qué es Claude, qué productos existen, cómo instalarlos y qué plan usar. Guía base que va con el primer video del canal.",{},"2026-05-15",{"title":3198,"description":9732},"biblioteca\u002Fempieza-con-claude-desde-cero",[15,9738,9739,1456,9740],"primer-paso","instalacion","planes","CPNIoQnJjPPY_QbraIxL9-ZH14mQFpYwEBkd2_2HoH0",{"id":9743,"title":9744,"author":7,"body":9745,"cover":1448,"description":10497,"extension":601,"meta":10498,"navigation":603,"nivel":2917,"path":10499,"publishedAt":10500,"seo":10501,"stem":10502,"tags":10503,"__hash__":10505},"biblioteca\u002Fbiblioteca\u002Fgbrain-memoria-persistente-claude.md","GBrain · darle memoria a Claude sin dejar lo que ya usas",{"type":9,"value":9746,"toc":10483},[9747,9759,9775,9779,9785,9790,9817,9821,9824,9830,9836,9839,9841,9845,9852,9855,9872,9874,9876,9883,9890,9896,9898,9902,9905,9944,9954,9956,9960,9963,9966,9972,9978,9988,9997,10003,10009,10019,10021,10025,10031,10034,10125,10206,10271,10289,10318,10320,10324,10364,10366,10370,10376,10393,10399,10405,10407,10411,10441,10443,10445,10473,10480],[12,9748,9749,9751,9756],{"title":14,"type":15},[17,9750,2940],{},[17,9752,9753],{},[23,9754,9755],{},"\"Resúmeme esta guía y dime si GBrain me sirve a mí según cómo uso Claude hoy.\"",[17,9757,9758],{},"En 30 segundos tienes la respuesta personalizada. Si te interesa profundo, te devuelves a la sección que te llame.",[12,9760,9762,9772],{"title":9761,"type":67},"El repositorio oficial",[17,9763,9764,9765],{},"GBrain vive acá: ",[73,9766,9769],{"href":9767,"rel":9768},"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain",[503],[23,9770,9771],{},"github.com\u002Fgarrytan\u002Fgbrain",[17,9773,9774],{},"Open source, licencia MIT, mantenimiento activo. Si quieres ver el código, los issues o las versiones nuevas, ese es el lugar.",[45,9776,9778],{"id":9777},"primero-por-qué-claude-se-olvida-de-ti","Primero · ¿Por qué Claude se \"olvida\" de ti?",[17,9780,9781,9782,77],{},"Si llevas un mes usando Claude para algo serio, ya viviste esto: ayer le explicaste qué hace tu empresa, qué herramientas usas, cómo se llama tu equipo. Hoy abres una sesión nueva y ",[23,9783,9784],{},"arrancas desde cero otra vez",[17,9786,9787,9788,77],{},"No es un error. Es ",[23,9789,7995],{},[12,9791,9793,9799,9814],{"title":9792,"type":67},"Una metáfora simple",[17,9794,9795,9796,77],{},"Claude es como un ",[23,9797,9798],{},"asistente brillantísimo con memoria de pez",[199,9800,9801,9804,9811],{},[202,9802,9803],{},"Es rapidísimo, sabe muchísimo, te ayuda con todo en el momento.",[202,9805,9806,9807,9810],{},"Pero cuando cierras la sesión, ",[23,9808,9809],{},"no recuerda nada"," de lo que conversaron.",[202,9812,9813],{},"Mañana lo abres y vuelve a preguntar \"¿quién eres?\". Igual que la primera vez.",[17,9815,9816],{},"Esa amnesia no es bug. Es cómo está construido por dentro.",[810,9818,9820],{"id":9819},"así-se-ve-la-amnesia-en-práctica","Así se ve la amnesia en práctica",[9822,9823],"diagram-amnesia-claude",{},[17,9825,9826,9827],{},"Tu costo escondido: ",[23,9828,9829],{},"cada sesión gastas los primeros 5 minutos re-explicándole quién eres, qué proyecto manejas, qué herramientas usas, qué decidieron juntos la semana pasada.",[17,9831,9832,9833,77],{},"Multiplica por 10 sesiones a la semana. Son ",[23,9834,9835],{},"50 minutos perdidos cada semana solo en repetirte",[17,9837,9838],{},"Aquí entra GBrain.",[79,9840],{},[45,9842,9844],{"id":9843},"qué-es-gbrain-y-quién-lo-hace","¿Qué es GBrain y quién lo hace?",[17,9846,9847,9848,9851],{},"GBrain es una ",[23,9849,9850],{},"libreta persistente"," que se conecta a Claude (y a otros agentes de IA). Vive en tu computador. Recuerda lo que le cuentas. Y la próxima sesión, Claude tiene acceso a esa libreta.",[392,9853],{":items":9854},"[{\"value\":\"15,1k\",\"label\":\"estrellas en GitHub\",\"caption\":\"open source, MIT\",\"accent\":true},{\"value\":\"Garry Tan\",\"label\":\"creador\",\"caption\":\"actual presidente de Y Combinator\"},{\"value\":\"$0\",\"label\":\"precio\",\"caption\":\"gratis en tu máquina\"}]",[12,9856,9858,9865],{"title":9857,"type":67},"¿Por qué importa quién lo hace?",[17,9859,9860,9861,9864],{},"Garry Tan no es un developer cualquiera. Es ",[23,9862,9863],{},"presidente de Y Combinator",", la incubadora de startups más famosa del mundo (la que sacó a Airbnb, Stripe, Dropbox, OpenAI). Cuando alguien con ese acceso construye una herramienta en open source y la publica gratis, vale la pena mirarla en serio.",[17,9866,9867,9868,9871],{},"GBrain tiene ",[23,9869,9870],{},"17.888 páginas, 4.383 personas y 723 empresas"," en el brain personal del propio Tan. Lo usa él mismo todos los días.",[79,9873],{},[45,9875,3473],{"id":3472},[17,9877,9878,9879,9882],{},"GBrain ",[23,9880,9881],{},"no reemplaza"," tu sistema de notas. No reemplaza Obsidian, Notion, Apple Notes o tu cabeza.",[17,9884,9885,9886,9889],{},"GBrain le da a ",[23,9887,9888],{},"Claude la capacidad de leer y escribir"," en una libreta persistente que tú controlas.",[17,9891,9892,9895],{},[23,9893,9894],{},"Esa es la diferencia."," No es otra app para organizar tus notas. Es la conexión que faltaba entre tu vida con Claude y la memoria que Claude no tiene.",[79,9897],{},[45,9899,9901],{"id":9900},"qué-hace-gbrain-qué-no-hace","¿Qué hace GBrain · qué NO hace?",[17,9903,9904],{},"Honestidad antes de instalar nada:",[697,9906,9909,9927],{"bad-label":9907,"good-label":9908},"LO QUE NO HACE","LO QUE SÍ HACE",[704,9910,9911],{"v-slot:bad":587},[199,9912,9913,9916,9919,9922,9924],{},[202,9914,9915],{},"No reemplaza tu Obsidian \u002F Notion \u002F Apple Notes",[202,9917,9918],{},"No es un editor de notas bonito",[202,9920,9921],{},"No te ahorra escribir lo importante",[202,9923,9622],{},[202,9925,9926],{},"No es magia · sigue siendo Claude con una libreta al lado",[704,9928,9929,9932,9935,9938,9941],{"v-slot:good":587},[202,9930,9931],{},"Le da a Claude memoria entre sesiones",[202,9933,9934],{},"Importa lo que ya tienes (Obsidian, Notion, Logseq, markdown)",[202,9936,9937],{},"Busca por significado, no solo por palabras exactas",[202,9939,9940],{},"Conecta automáticamente nombres, fechas, proyectos",[202,9942,9943],{},"Funciona con Claude.ai, Claude Code, Cursor, ChatGPT, Perplexity",[12,9945,9947],{"title":9946,"type":138},"Si nunca usas Claude para algo serio",[17,9948,9949,9950,9953],{},"GBrain es para quien ",[23,9951,9952],{},"ya usa Claude muchas veces al día"," y se cansó de repetirse. Si solo le preguntas cosas sueltas una vez por semana, esto es sobre-ingeniería para ti. Vuelve cuando Claude sea tu mano derecha.",[79,9955],{},[45,9957,9959],{"id":9958},"cómo-trabaja-por-dentro-el-ciclo-de-6-pasos","Cómo trabaja por dentro · el ciclo de 6 pasos",[17,9961,9962],{},"Cada vez que le preguntas algo a Claude, GBrain hace este ciclo en segundo plano:",[9964,9965],"diagram-ciclo-gbrain",{},[144,9967,9969],{"number":146,"title":9968},"Recibe la señal",[17,9970,9971],{},"Tu pregunta o tu mensaje llega a Claude.",[144,9973,9975],{"number":167,"title":9974},"Detecta el tipo",[17,9976,9977],{},"GBrain identifica qué tipo de pregunta es: ¿estás pidiendo info? ¿estás contando algo nuevo? ¿estás corrigiendo algo viejo?",[144,9979,9981],{"number":180,"title":9980},"Busca en el brain",[17,9982,9983,9984,9987],{},"Mira si en su libreta ya hay información relevante. Usa ",[23,9985,9986],{},"3 estrategias combinadas",": búsqueda por significado, por palabras exactas, y por relaciones entre entidades.",[144,9989,9991],{"number":223,"title":9990},"Responde con contexto",[17,9992,9993,9994,77],{},"Le pasa a Claude la info encontrada para que responda ",[23,9995,9996],{},"sabiendo lo que ya saben de ti",[144,9998,10000],{"number":250,"title":9999},"Guarda lo nuevo",[17,10001,10002],{},"Si dijiste algo nuevo (un proyecto, una decisión, un nombre), lo escribe en el brain.",[144,10004,10006],{"number":278,"title":10005},"Conecta los puntos",[17,10007,10008],{},"Detecta automáticamente entidades (personas, empresas, fechas, proyectos) y los enlaza entre sí. Sin pedirte que escribas links a mano.",[12,10010,10012],{"title":10011,"type":452},"Lo que no es obvio",[17,10013,10014,10015,10018],{},"La extracción de entidades es ",[23,10016,10017],{},"determinística",". No usa otra llamada a IA para detectar nombres. Eso significa: cero costo adicional y resultados consistentes. Una decisión técnica que ahorra dinero a quien lo usa intensivo.",[79,10020],{},[45,10022,10024],{"id":10023},"instalación-4-caminos-según-tu-nivel","Instalación · 4 caminos según tu nivel",[17,10026,10027,10028],{},"Te muestro los 4 caminos. ",[23,10029,10030],{},"Empieza por el más simple que aplique a tu caso.",[10032,10033],"diagram-instalacion-gbrain",{},[144,10035,10037,10040,10086,10089,10104,10107,10122],{"number":146,"title":10036},"CLI standalone · si solo quieres probar",[17,10038,10039],{},"Lo más rápido. Brain local, sin conectar a Claude todavía.",[1018,10041,10043],{"className":4744,"code":10042,"language":4746,"meta":587,"style":587},"git clone https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain.git && cd gbrain\nbun install\nbun link\ngbrain init\n",[577,10044,10045,10063,10071,10078],{"__ignoreMap":587},[1587,10046,10047,10049,10052,10055,10057,10060],{"class":4114,"line":4115},[1587,10048,6894],{"class":4753},[1587,10050,10051],{"class":4757}," clone",[1587,10053,10054],{"class":4757}," https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain.git",[1587,10056,4847],{"class":4124},[1587,10058,10059],{"class":4761},"cd",[1587,10061,10062],{"class":4757}," gbrain\n",[1587,10064,10065,10068],{"class":4114,"line":588},[1587,10066,10067],{"class":4753},"bun",[1587,10069,10070],{"class":4757}," install\n",[1587,10072,10073,10075],{"class":4114,"line":1433},[1587,10074,10067],{"class":4753},[1587,10076,10077],{"class":4757}," link\n",[1587,10079,10080,10083],{"class":4114,"line":4133},[1587,10081,10082],{"class":4753},"gbrain",[1587,10084,10085],{"class":4757}," init\n",[17,10087,10088],{},"Importas tus notas existentes:",[1018,10090,10092],{"className":4744,"code":10091,"language":4746,"meta":587,"style":587},"gbrain import ~\u002Fnotas-mias\u002F\n",[577,10093,10094],{"__ignoreMap":587},[1587,10095,10096,10098,10101],{"class":4114,"line":4115},[1587,10097,10082],{"class":4753},[1587,10099,10100],{"class":4757}," import",[1587,10102,10103],{"class":4757}," ~\u002Fnotas-mias\u002F\n",[17,10105,10106],{},"Le preguntas algo:",[1018,10108,10110],{"className":4744,"code":10109,"language":4746,"meta":587,"style":587},"gbrain query \"qué temas aparecen en mis notas?\"\n",[577,10111,10112],{"__ignoreMap":587},[1587,10113,10114,10116,10119],{"class":4114,"line":4115},[1587,10115,10082],{"class":4753},[1587,10117,10118],{"class":4757}," query",[1587,10120,10121],{"class":4757}," \"qué temas aparecen en mis notas?\"\n",[17,10123,10124],{},"Listo. Brain funcionando en tu máquina en 2 minutos.",[144,10126,10128,10135,10141,10203],{"number":167,"title":10127},"Con Claude Code · si ya lo usas a diario",[17,10129,10130,10131,10134],{},"Conecta GBrain como ",[23,10132,10133],{},"MCP server",". Esto le da a Claude Code acceso directo al brain en cada sesión.",[17,10136,10137,10138,1184],{},"Crea o edita ",[577,10139,10140],{},"~\u002F.claude\u002Fserver.json",[1018,10142,10144],{"className":6766,"code":10143,"language":6768,"meta":587,"style":587},"{\n  \"mcpServers\": {\n    \"gbrain\": {\n      \"command\": \"gbrain\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n",[577,10145,10146,10150,10157,10164,10176,10190,10195,10199],{"__ignoreMap":587},[1587,10147,10148],{"class":4114,"line":4115},[1587,10149,6775],{"class":4124},[1587,10151,10152,10155],{"class":4114,"line":588},[1587,10153,10154],{"class":4761},"  \"mcpServers\"",[1587,10156,6783],{"class":4124},[1587,10158,10159,10162],{"class":4114,"line":1433},[1587,10160,10161],{"class":4761},"    \"gbrain\"",[1587,10163,6783],{"class":4124},[1587,10165,10166,10169,10171,10174],{"class":4114,"line":4133},[1587,10167,10168],{"class":4761},"      \"command\"",[1587,10170,5077],{"class":4124},[1587,10172,10173],{"class":4757},"\"gbrain\"",[1587,10175,6796],{"class":4124},[1587,10177,10178,10181,10184,10187],{"class":4114,"line":4139},[1587,10179,10180],{"class":4761},"      \"args\"",[1587,10182,10183],{"class":4124},": [",[1587,10185,10186],{"class":4757},"\"serve\"",[1587,10188,10189],{"class":4124},"]\n",[1587,10191,10192],{"class":4114,"line":4924},[1587,10193,10194],{"class":4124},"    }\n",[1587,10196,10197],{"class":4114,"line":4930},[1587,10198,6811],{"class":4124},[1587,10200,10201],{"class":4114,"line":4936},[1587,10202,6816],{"class":4124},[17,10204,10205],{},"Reinicia Claude Code. Ya está conectado. En cada sesión Claude puede consultar el brain sin que se lo pidas.",[144,10207,10209,10212,10268],{"number":180,"title":10208},"Con Claude.ai web · si trabajas en el navegador",[17,10210,10211],{},"Esto es más avanzado. Necesita exponer GBrain a internet con OAuth.",[1018,10213,10215],{"className":4744,"code":10214,"language":4746,"meta":587,"style":587},"gbrain serve --http --port 3131\nngrok http 3131 --url tu-brain.ngrok.app\ngbrain serve --http --port 3131 --public-url https:\u002F\u002Ftu-brain.ngrok.app\n",[577,10216,10217,10233,10250],{"__ignoreMap":587},[1587,10218,10219,10221,10224,10227,10230],{"class":4114,"line":4115},[1587,10220,10082],{"class":4753},[1587,10222,10223],{"class":4757}," serve",[1587,10225,10226],{"class":4761}," --http",[1587,10228,10229],{"class":4761}," --port",[1587,10231,10232],{"class":4761}," 3131\n",[1587,10234,10235,10238,10241,10244,10247],{"class":4114,"line":588},[1587,10236,10237],{"class":4753},"ngrok",[1587,10239,10240],{"class":4757}," http",[1587,10242,10243],{"class":4761}," 3131",[1587,10245,10246],{"class":4761}," --url",[1587,10248,10249],{"class":4757}," tu-brain.ngrok.app\n",[1587,10251,10252,10254,10256,10258,10260,10262,10265],{"class":4114,"line":1433},[1587,10253,10082],{"class":4753},[1587,10255,10223],{"class":4757},[1587,10257,10226],{"class":4761},[1587,10259,10229],{"class":4761},[1587,10261,10243],{"class":4761},[1587,10263,10264],{"class":4761}," --public-url",[1587,10266,10267],{"class":4757}," https:\u002F\u002Ftu-brain.ngrok.app\n",[17,10269,10270],{},"Después en Claude.ai conectas la URL como custom integration. Mismo brain, ahora accesible desde la web.",[144,10272,10274,10277,10283],{"number":223,"title":10273},"Con un agente que te instale todo · si no quieres pelear con CLI",[17,10275,10276],{},"Si Claude Code o Cursor ya están en tu computador, pégales esto:",[1018,10278,10281],{"className":10279,"code":10280,"language":1023},[1021],"Sigue las instrucciones acá:\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fgarrytan\u002Fgbrain\u002Fmaster\u002FINSTALL_FOR_AGENTS.md\n",[577,10282,10280],{"__ignoreMap":587},[17,10284,10285,10286,77],{},"El agente clona, instala dependencias, configura los 34 skills built-in. Tiempo: ",[23,10287,10288],{},"~30 minutos sin que tengas que escribir un comando",[12,10290,10292,10297,10311],{"title":10291,"type":1263},"Cuidado con estos comandos",[17,10293,10294],{},[23,10295,10296],{},"NO hagas:",[199,10298,10299,10305],{},[202,10300,10301,10304],{},[577,10302,10303],{},"bun install -g github:garrytan\u002Fgbrain"," → rompe el postinstall",[202,10306,10307,10310],{},[577,10308,10309],{},"npm install -g gbrain"," → instala un paquete falso de otro autor",[17,10312,10313,10314,10317],{},"Siempre usa ",[577,10315,10316],{},"git clone"," directo o el agente. Lo dice el propio README de GBrain.",[79,10319],{},[45,10321,10323],{"id":10322},"cuándo-te-sirve-y-cuándo-no","¿Cuándo te sirve y cuándo no?",[697,10325,10328,10347],{"bad-label":10326,"good-label":10327},"SÁLTATELO POR AHORA","VALE LA PENA",[704,10329,10330],{"v-slot:bad":587},[199,10331,10332,10335,10338,10341,10344],{},[202,10333,10334],{},"Usas Claude 1 o 2 veces por semana, casual",[202,10336,10337],{},"Tus preguntas son aisladas, no parte de un proyecto continuo",[202,10339,10340],{},"Tu vault de notas tiene menos de 50 archivos",[202,10342,10343],{},"Te bajas de la curva si te pasa algo técnico",[202,10345,10346],{},"No te molesta repetir contexto cada sesión",[704,10348,10349,10352,10355,10358,10361],{"v-slot:good":587},[202,10350,10351],{},"Abres Claude 5+ veces al día",[202,10353,10354],{},"Tienes proyectos en curso que duran semanas o meses",[202,10356,10357],{},"Ya tomas notas en algún sistema (Obsidian, Notion, archivos sueltos)",[202,10359,10360],{},"Te cansaste de pegar el mismo contexto en cada chat",[202,10362,10363],{},"Quieres usar el mismo brain en Claude Code + Claude.ai + Cursor",[79,10365],{},[45,10367,10369],{"id":10368},"cómo-se-complementa-con-lo-que-ya-usas","Cómo se complementa con lo que ya usas",[17,10371,10372,10373],{},"Esta es la parte que casi nadie cuenta bien. ",[23,10374,10375],{},"GBrain no compite con tus notas. Trabaja al lado.",[144,10377,10379,10390],{"number":816,"title":10378},"Si ya usas Obsidian, Notion, Logseq o markdown",[17,10380,10381,10382,10385,10386,10389],{},"GBrain tiene un comando ",[577,10383,10384],{},"gbrain migrate"," que ",[23,10387,10388],{},"importa todo lo que ya tienes",". No te pide migrar. Solo lee tu carpeta y la indexa.",[17,10391,10392],{},"Sigues escribiendo notas en tu sistema. GBrain las refresca y se las pasa a Claude cuando hace falta.",[144,10394,10396],{"number":826,"title":10395},"Si no usas ningún sistema de notas",[17,10397,10398],{},"GBrain mismo puede ser tu primer sistema. Le hablas a Claude, Claude le pasa lo importante al brain, y poco a poco se arma una memoria propia sin que estés escribiendo notas a mano.",[144,10400,10402],{"number":836,"title":10401},"Si trabajas en equipo",[17,10403,10404],{},"Por ahora GBrain está pensado para uso personal. Multi-máquina existe pero es manual. Si necesitas memoria compartida en tiempo real entre 3 personas, todavía no es la mejor opción.",[79,10406],{},[45,10408,10410],{"id":10409},"mi-honestidad","Mi honestidad",[12,10412,10414,10420,10430],{"title":10413,"type":67},"Yo todavía no lo instalo · te cuento por qué",[17,10415,10416,10417,10419],{},"Tengo mi propio sistema personal de memoria que armé desde antes (se llama ",[23,10418,8384],{},", próximamente saco guía dedicada). Para mí, GBrain hoy es redundante.",[17,10421,10422,10425,10426,10429],{},[23,10423,10424],{},"Eso no significa que no sirva."," Significa que ",[23,10427,10428],{},"mi caso ya está cubierto por otro camino",". La diferencia para ti puede ser enorme:",[199,10431,10432,10435,10438],{},[202,10433,10434],{},"Si vas a empezar de cero → GBrain te ahorra meses de armar un sistema propio.",[202,10436,10437],{},"Si ya tienes un sistema → mira si GBrain te complementa antes de migrarte.",[202,10439,10440],{},"Si no sabes qué quieres → empieza por la opción 1 (CLI standalone) y juega 2 horas. Esa es la mejor prueba.",[79,10442],{},[45,10444,7165],{"id":7164},[12,10446,10447],{"title":461,"type":557},[495,10448,10449,10455,10461,10467],{},[202,10450,10451,10454],{},[23,10452,10453],{},"Claude olvida por diseño."," No es un bug. Es así.",[202,10456,10457,10460],{},[23,10458,10459],{},"GBrain es la libreta que Claude no tiene."," No reemplaza nada. Suma.",[202,10462,10463,10466],{},[23,10464,10465],{},"Empieza por la opción 1."," CLI standalone, sin compromiso. Si te enamora, sigues a las opciones 2-4.",[202,10468,10469,10472],{},[23,10470,10471],{},"Open source · gratis · mantenido."," Si Garry Tan lo usa todos los días, vale al menos una tarde de prueba.",[17,10474,10475,10476,10479],{},"Si lo pruebas y te quedan dudas reales (cómo lo configuraste, qué te tropezó, qué resultados estás viendo), escríbeme en ",[73,10477,585],{"href":583,"rel":10478},[503],". Esas dudas son material para la próxima guía.",[4289,10481,10482],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":587,"searchDepth":588,"depth":588,"links":10484},[10485,10488,10489,10490,10491,10492,10493,10494,10495,10496],{"id":9777,"depth":588,"text":9778,"children":10486},[10487],{"id":9819,"depth":1433,"text":9820},{"id":9843,"depth":588,"text":9844},{"id":3472,"depth":588,"text":3473},{"id":9900,"depth":588,"text":9901},{"id":9958,"depth":588,"text":9959},{"id":10023,"depth":588,"text":10024},{"id":10322,"depth":588,"text":10323},{"id":10368,"depth":588,"text":10369},{"id":10409,"depth":588,"text":10410},{"id":7164,"depth":588,"text":7165},"Claude es brillante pero olvida todo entre sesiones. GBrain le pone una libreta persistente sin pedirte que cambies tu sistema. Open source, gratis, hecho por Garry Tan (Y Combinator).",{},"\u002Fbiblioteca\u002Fgbrain-memoria-persistente-claude","2026-05-13",{"title":9744,"description":10497},"biblioteca\u002Fgbrain-memoria-persistente-claude",[15,614,611,10504],"mcp","bosLjHzuo0zGB9g0abJYcOmI-wDBxjp2e7AVk7kXkcY",{"id":10507,"title":3240,"author":7,"body":10508,"cover":1448,"description":11538,"extension":601,"meta":11539,"navigation":603,"nivel":1451,"path":160,"publishedAt":10500,"seo":11540,"stem":11541,"tags":11542,"__hash__":11545},"biblioteca\u002Fbiblioteca\u002Fguarda-tus-tokens-sin-filtrarlos.md",{"type":9,"value":10509,"toc":11521},[10510,10521,10525,10536,10567,10570,10574,10581,10584,10587,10596,10600,10614,10617,10620,10626,10629,10631,10633,10640,10646,10651,10653,10657,10660,10691,10693,10697,10707,10710,10713,10726,10728,10732,10739,10780,10835,10860,10869,10871,10875,10885,10909,10978,10984,10986,10993,11000,11044,11086,11132,11134,11138,11141,11214,11216,11220,11227,11233,11245,11294,11305,11326,11328,11332,11335,11338,11370,11479,11485,11487,11489,11512,11518],[12,10511,10512,10514,10519],{"title":14,"type":15},[17,10513,2940],{},[17,10515,10516],{},[23,10517,10518],{},"\"Resúmeme esta guía y dime exactamente qué tengo que hacer hoy con mis API keys.\"",[17,10520,2948],{},[45,10522,10524],{"id":10523},"primero-qué-es-un-token-y-por-qué-tanto-cuidado","Primero · ¿Qué es un token y por qué tanto cuidado?",[17,10526,10527,10528,10531,10532,10535],{},"Si acabas de empezar a programar con IA, probablemente escuchaste la palabra ",[23,10529,10530],{},"\"token\""," o ",[23,10533,10534],{},"\"API key\""," y todavía no te queda del todo claro qué es. Vamos por ahí.",[12,10537,10538,10547],{"title":9792,"type":67},[17,10539,4611,10540,10543,10544,77],{},[23,10541,10542],{},"token"," es como la ",[23,10545,10546],{},"llave magnética de un hotel",[199,10548,10549,10552,10555,10561],{},[202,10550,10551],{},"Te identifica frente a un servicio (OpenAI, Stripe, Anthropic, etc.).",[202,10553,10554],{},"Te abre el acceso a usar ese servicio.",[202,10556,10557,10558,77],{},"Mientras la llave esté activa, ",[23,10559,10560],{},"cualquiera que la tenga puede usarla como si fuera tú",[202,10562,10563,10564,77],{},"Y cualquier consumo se cobra a ",[23,10565,10566],{},"tu cuenta",[17,10568,10569],{},"Por eso importa guardarla bien. No es paranoia. Es responsabilidad básica.",[810,10571,10573],{"id":10572},"lo-que-pasa-cuando-una-llave-se-filtra","Lo que pasa cuando una llave se filtra",[17,10575,10576,10577,10580],{},"Esto no es teoría. Son números de un reporte público de ",[23,10578,10579],{},"GitGuardian"," (empresa de ciberseguridad que escanea GitHub a diario):",[392,10582],{":items":10583},"[{\"value\":\"12,7M\",\"label\":\"secretos filtrados\",\"caption\":\"en GitHub público durante 2023\",\"accent\":true},{\"value\":\"+28%\",\"label\":\"crecimiento anual\",\"caption\":\"se multiplican cada año\"},{\"value\":\"1.212×\",\"label\":\"API keys de OpenAI\",\"caption\":\"crecimiento en un solo año (2022→2023)\"}]",[17,10585,10586],{},"Y este es el dato que más asusta:",[12,10588,10590],{"title":10589,"type":1263},"90% de las llaves filtradas siguen activas 5 días después",[17,10591,10592,10593,77],{},"Es decir, el dueño ni siquiera se enteró que estaba expuesta. Los bots automáticos sí. Y mientras tanto, ",[23,10594,10595],{},"alguien la usa y el consumo se cobra a tu cuenta",[810,10597,10599],{"id":10598},"caso-real-toyota-5-años-expuesto","Caso real · Toyota, 5 años expuesto",[17,10601,10602,10603,10606,10607,10610,10611,77],{},"En ",[23,10604,10605],{},"octubre de 2022, Toyota"," admitió públicamente que un token de acceso a su sistema ",[23,10608,10609],{},"T-Connect"," (su plataforma conectada de autos) había estado ",[23,10612,10613],{},"expuesto en GitHub durante 5 años",[17,10615,10616],{},"Lo había subido por error un subcontratista en un repositorio público. Nadie revisó. Estuvo ahí 1.825 días.",[392,10618],{":items":10619},"[{\"value\":\"5 años\",\"label\":\"duración de la fuga\",\"caption\":\"entre 2017 y 2022\"},{\"value\":\"296.019\",\"label\":\"clientes afectados\",\"caption\":\"emails + números de cliente expuestos\",\"accent\":true},{\"value\":\"$0\",\"label\":\"valor de un .env\",\"caption\":\"como herramienta de seguridad\"}]",[17,10621,10622,10625],{},[23,10623,10624],{},"Si le pasa a Toyota, te puede pasar a ti."," La diferencia es que tu llave de OpenAI no es defendida por un equipo de ciberseguridad. Es solo tuya. Si se filtra, tú pagas la cuenta.",[17,10627,10628],{},"Por eso esta guía existe.",[79,10630],{},[45,10632,3473],{"id":3472},[17,10634,10635,10636,10639],{},"Tu Mac, Windows o Linux ya viene con una ",[23,10637,10638],{},"caja fuerte cifrada",". Está ahí desde el día uno. Casi nadie la usa.",[17,10641,10642,10643,10645],{},"En cambio, mucha gente guarda sus llaves de OpenAI, Stripe o Anthropic en un archivo de texto plano llamado ",[577,10644,3236],{},". Y un buen día se les filtra.",[17,10647,10648],{},[23,10649,10650],{},"No vamos a hablar de \"cuándo usar .env\". Vamos a hablar de cómo dejar de usarlo.",[79,10652],{},[45,10654,10656],{"id":10655},"_1-las-tres-zonas-donde-puede-vivir-tu-llave","1 · Las tres zonas donde puede vivir tu llave",[10658,10659],"diagram-donde-viven-llaves",{},[12,10661,10663,10688],{"title":10662,"type":138},"La regla es simple",[199,10664,10665,10675,10682],{},[202,10666,10667,10668,10671,10672,10674],{},"Nunca la ",[23,10669,10670],{},"opción 1"," (archivo ",[577,10673,3236],{}," con valores reales)",[202,10676,10677,10678,10681],{},"Siempre la ",[23,10679,10680],{},"opción 2"," para trabajar en tu máquina",[202,10683,10677,10684,10687],{},[23,10685,10686],{},"opción 3"," para producción",[17,10689,10690],{},"Lo demás son detalles.",[79,10692],{},[45,10694,10696],{"id":10695},"_2-por-qué-un-env-es-peligroso-por-defecto","2 · Por qué un .env es peligroso por defecto",[17,10698,10699,10700,10702,10703,10706],{},"Un archivo ",[577,10701,3236],{}," es ",[23,10704,10705],{},"texto plano",". Sin cifrar. Cualquiera con acceso a tu disco lo lee.",[17,10708,10709],{},"Pero el riesgo real no es ese. El riesgo real es esta cadena:",[10711,10712],"diagram-flujo-fuga",{},[12,10714,10716],{"title":10715,"type":1263},"Lo importante de entender",[17,10717,10718,10719,10721,10722,10725],{},"Aunque borres el ",[577,10720,3236],{}," del repositorio después, ",[23,10723,10724],{},"la llave queda en el historial de git para siempre",". Y los bots que escanean GitHub la encuentran en minutos. No en días.",[79,10727],{},[45,10729,10731],{"id":10730},"_3-mac-tu-keychain-ya-está-ahí","3 · Mac · Tu Keychain ya está ahí",[17,10733,10734,10735,10738],{},"macOS viene con ",[23,10736,10737],{},"Keychain Access",". Una caja fuerte cifrada con tu contraseña de usuario. La abre tu sistema cuando inicias sesión.",[144,10740,10742],{"number":146,"title":10741},"Guardar una llave",[1018,10743,10745],{"className":4744,"code":10744,"language":4746,"meta":587,"style":587},"security add-generic-password \\\n  -a \"santaia\" \\\n  -s \"santaia:openai-key\" \\\n  -w \"sk-proj-tu-llave-real\"\n",[577,10746,10747,10755,10763,10772],{"__ignoreMap":587},[1587,10748,10749,10751,10753],{"class":4114,"line":4115},[1587,10750,4754],{"class":4753},[1587,10752,4758],{"class":4757},[1587,10754,4762],{"class":4761},[1587,10756,10757,10759,10761],{"class":4114,"line":588},[1587,10758,4767],{"class":4761},[1587,10760,4770],{"class":4757},[1587,10762,4762],{"class":4761},[1587,10764,10765,10767,10770],{"class":4114,"line":1433},[1587,10766,4777],{"class":4761},[1587,10768,10769],{"class":4757}," \"santaia:openai-key\"",[1587,10771,4762],{"class":4761},[1587,10773,10774,10777],{"class":4114,"line":4133},[1587,10775,10776],{"class":4761},"  -w",[1587,10778,10779],{"class":4757}," \"sk-proj-tu-llave-real\"\n",[144,10781,10783],{"number":167,"title":10782},"Leerla desde tu código",[1018,10784,10786],{"className":5269,"code":10785,"language":5271,"meta":587,"style":587},"import subprocess\n\ndef get_secret(name: str) -> str:\n    return subprocess.run(\n        [\"security\", \"find-generic-password\",\n         \"-s\", name, \"-a\", \"santaia\", \"-w\"],\n        capture_output=True, text=True, check=True\n    ).stdout.strip()\n\nopenai_key = get_secret(\"santaia:openai-key\")\n",[577,10787,10788,10792,10796,10801,10806,10811,10816,10821,10826,10830],{"__ignoreMap":587},[1587,10789,10790],{"class":4114,"line":4115},[1587,10791,5283],{},[1587,10793,10794],{"class":4114,"line":588},[1587,10795,4130],{"emptyLinePlaceholder":603},[1587,10797,10798],{"class":4114,"line":1433},[1587,10799,10800],{},"def get_secret(name: str) -> str:\n",[1587,10802,10803],{"class":4114,"line":4133},[1587,10804,10805],{},"    return subprocess.run(\n",[1587,10807,10808],{"class":4114,"line":4139},[1587,10809,10810],{},"        [\"security\", \"find-generic-password\",\n",[1587,10812,10813],{"class":4114,"line":4924},[1587,10814,10815],{},"         \"-s\", name, \"-a\", \"santaia\", \"-w\"],\n",[1587,10817,10818],{"class":4114,"line":4930},[1587,10819,10820],{},"        capture_output=True, text=True, check=True\n",[1587,10822,10823],{"class":4114,"line":4936},[1587,10824,10825],{},"    ).stdout.strip()\n",[1587,10827,10828],{"class":4114,"line":4942},[1587,10829,4130],{"emptyLinePlaceholder":603},[1587,10831,10832],{"class":4114,"line":4948},[1587,10833,10834],{},"openai_key = get_secret(\"santaia:openai-key\")\n",[144,10836,10838],{"number":180,"title":10837},"Borrarla si la rotaste",[1018,10839,10841],{"className":4744,"code":10840,"language":4746,"meta":587,"style":587},"security delete-generic-password -s \"santaia:openai-key\" -a \"santaia\"\n",[577,10842,10843],{"__ignoreMap":587},[1587,10844,10845,10847,10850,10852,10854,10857],{"class":4114,"line":4115},[1587,10846,4754],{"class":4753},[1587,10848,10849],{"class":4757}," delete-generic-password",[1587,10851,4826],{"class":4761},[1587,10853,10769],{"class":4757},[1587,10855,10856],{"class":4761}," -a",[1587,10858,10859],{"class":4757}," \"santaia\"\n",[12,10861,10863],{"title":10862,"type":557},"Listo",[17,10864,10865,10866],{},"Tu llave vive en una caja fuerte cifrada. Tu código la lee solo cuando la necesita. ",[23,10867,10868],{},"Nada en disco como texto plano.",[79,10870],{},[45,10872,10874],{"id":10873},"_4-windows-credential-manager","4 · Windows · Credential Manager",[17,10876,10877,10878,10881,10882,77],{},"Windows también lo tiene. Se llama ",[23,10879,10880],{},"Credential Manager"," y se maneja desde PowerShell con ",[577,10883,10884],{},"cmdkey",[144,10886,10887],{"number":146,"title":10741},[1018,10888,10892],{"className":10889,"code":10890,"language":10891,"meta":587,"style":587},"language-powershell shiki shiki-themes github-light github-dark","cmdkey \u002Fgeneric:\"santaia:openai-key\" `\n       \u002Fuser:\"santaia\" `\n       \u002Fpass:\"sk-proj-tu-llave-real\"\n","powershell",[577,10893,10894,10899,10904],{"__ignoreMap":587},[1587,10895,10896],{"class":4114,"line":4115},[1587,10897,10898],{},"cmdkey \u002Fgeneric:\"santaia:openai-key\" `\n",[1587,10900,10901],{"class":4114,"line":588},[1587,10902,10903],{},"       \u002Fuser:\"santaia\" `\n",[1587,10905,10906],{"class":4114,"line":1433},[1587,10907,10908],{},"       \u002Fpass:\"sk-proj-tu-llave-real\"\n",[144,10910,10911,10918,10927,10930],{"number":167,"title":10782},[17,10912,10913,10914,10917],{},"Necesitas el módulo ",[577,10915,10916],{},"CredentialManager"," (una sola vez):",[1018,10919,10921],{"className":10889,"code":10920,"language":10891,"meta":587,"style":587},"Install-Module -Name CredentialManager -Scope CurrentUser\n",[577,10922,10923],{"__ignoreMap":587},[1587,10924,10925],{"class":4114,"line":4115},[1587,10926,10920],{},[17,10928,10929],{},"Después desde Python:",[1018,10931,10933],{"className":5269,"code":10932,"language":5271,"meta":587,"style":587},"import subprocess\n\ndef get_secret(target: str) -> str:\n    ps = f'(Get-StoredCredential -Target \"{target}\").GetNetworkCredential().Password'\n    return subprocess.run(\n        [\"powershell\", \"-Command\", ps],\n        capture_output=True, text=True, check=True\n    ).stdout.strip()\n\nopenai_key = get_secret(\"santaia:openai-key\")\n",[577,10934,10935,10939,10943,10948,10953,10957,10962,10966,10970,10974],{"__ignoreMap":587},[1587,10936,10937],{"class":4114,"line":4115},[1587,10938,5283],{},[1587,10940,10941],{"class":4114,"line":588},[1587,10942,4130],{"emptyLinePlaceholder":603},[1587,10944,10945],{"class":4114,"line":1433},[1587,10946,10947],{},"def get_secret(target: str) -> str:\n",[1587,10949,10950],{"class":4114,"line":4133},[1587,10951,10952],{},"    ps = f'(Get-StoredCredential -Target \"{target}\").GetNetworkCredential().Password'\n",[1587,10954,10955],{"class":4114,"line":4139},[1587,10956,10805],{},[1587,10958,10959],{"class":4114,"line":4924},[1587,10960,10961],{},"        [\"powershell\", \"-Command\", ps],\n",[1587,10963,10964],{"class":4114,"line":4930},[1587,10965,10820],{},[1587,10967,10968],{"class":4114,"line":4936},[1587,10969,10825],{},[1587,10971,10972],{"class":4114,"line":4942},[1587,10973,4130],{"emptyLinePlaceholder":603},[1587,10975,10976],{"class":4114,"line":4948},[1587,10977,10834],{},[12,10979,10981],{"title":10980,"type":67},"Si usas WSL",[17,10982,10983],{},"Si en Windows trabajas dentro de WSL (Linux dentro de Windows), salta a la siguiente sección. Te aplica esa.",[79,10985],{},[45,10987,10989,10990],{"id":10988},"_5-linux-secret-tool","5 · Linux · ",[577,10991,10992],{},"secret-tool",[17,10994,10995,10996,10999],{},"Linux usa ",[23,10997,10998],{},"libsecret"," como API estándar. Instala la CLI una vez:",[1018,11001,11003],{"className":4744,"code":11002,"language":4746,"meta":587,"style":587},"# Debian \u002F Ubuntu\nsudo apt install libsecret-tools\n\n# Fedora\nsudo dnf install libsecret\n",[577,11004,11005,11010,11023,11027,11032],{"__ignoreMap":587},[1587,11006,11007],{"class":4114,"line":4115},[1587,11008,11009],{"class":6499},"# Debian \u002F Ubuntu\n",[1587,11011,11012,11015,11018,11020],{"class":4114,"line":588},[1587,11013,11014],{"class":4753},"sudo",[1587,11016,11017],{"class":4757}," apt",[1587,11019,8576],{"class":4757},[1587,11021,11022],{"class":4757}," libsecret-tools\n",[1587,11024,11025],{"class":4114,"line":1433},[1587,11026,4130],{"emptyLinePlaceholder":603},[1587,11028,11029],{"class":4114,"line":4133},[1587,11030,11031],{"class":6499},"# Fedora\n",[1587,11033,11034,11036,11039,11041],{"class":4114,"line":4139},[1587,11035,11014],{"class":4753},[1587,11037,11038],{"class":4757}," dnf",[1587,11040,8576],{"class":4757},[1587,11042,11043],{"class":4757}," libsecret\n",[144,11045,11046,11083],{"number":146,"title":10741},[1018,11047,11049],{"className":4744,"code":11048,"language":4746,"meta":587,"style":587},"secret-tool store --label=\"OpenAI · santaia\" \\\n  service \"santaia\" \\\n  key \"openai-key\"\n",[577,11050,11051,11066,11075],{"__ignoreMap":587},[1587,11052,11053,11055,11058,11061,11064],{"class":4114,"line":4115},[1587,11054,10992],{"class":4753},[1587,11056,11057],{"class":4757}," store",[1587,11059,11060],{"class":4761}," --label=",[1587,11062,11063],{"class":4757},"\"OpenAI · santaia\"",[1587,11065,4762],{"class":4761},[1587,11067,11068,11071,11073],{"class":4114,"line":588},[1587,11069,11070],{"class":4757},"  service",[1587,11072,4770],{"class":4757},[1587,11074,4762],{"class":4761},[1587,11076,11077,11080],{"class":4114,"line":1433},[1587,11078,11079],{"class":4757},"  key",[1587,11081,11082],{"class":4757}," \"openai-key\"\n",[17,11084,11085],{},"Te pregunta el valor de la llave en interactivo. No queda en tu historial de bash.",[144,11087,11088],{"number":167,"title":10782},[1018,11089,11091],{"className":5269,"code":11090,"language":5271,"meta":587,"style":587},"import subprocess\n\ndef get_secret(service: str, key: str) -> str:\n    return subprocess.run(\n        [\"secret-tool\", \"lookup\", \"service\", service, \"key\", key],\n        capture_output=True, text=True, check=True\n    ).stdout.strip()\n\nopenai_key = get_secret(\"santaia\", \"openai-key\")\n",[577,11092,11093,11097,11101,11106,11110,11115,11119,11123,11127],{"__ignoreMap":587},[1587,11094,11095],{"class":4114,"line":4115},[1587,11096,5283],{},[1587,11098,11099],{"class":4114,"line":588},[1587,11100,4130],{"emptyLinePlaceholder":603},[1587,11102,11103],{"class":4114,"line":1433},[1587,11104,11105],{},"def get_secret(service: str, key: str) -> str:\n",[1587,11107,11108],{"class":4114,"line":4133},[1587,11109,10805],{},[1587,11111,11112],{"class":4114,"line":4139},[1587,11113,11114],{},"        [\"secret-tool\", \"lookup\", \"service\", service, \"key\", key],\n",[1587,11116,11117],{"class":4114,"line":4924},[1587,11118,10820],{},[1587,11120,11121],{"class":4114,"line":4930},[1587,11122,10825],{},[1587,11124,11125],{"class":4114,"line":4936},[1587,11126,4130],{"emptyLinePlaceholder":603},[1587,11128,11129],{"class":4114,"line":4942},[1587,11130,11131],{},"openai_key = get_secret(\"santaia\", \"openai-key\")\n",[79,11133],{},[45,11135,11137],{"id":11136},"_6-mi-convención-de-naming","6 · Mi convención de naming",[17,11139,11140],{},"Cuando llevas 30+ llaves entre varios proyectos, sin convención no encuentras nada. Esta es la que uso:",[697,11142,11147,11172],{"bad-label":11143,"bad-title":11144,"good-label":11145,"good-title":11146},"Para llaves globales","patrón: servicio-contexto","Para llaves de un proyecto","patrón: proyecto:servicio",[704,11148,11149,11166],{"v-slot:bad":587},[199,11150,11151,11156,11161],{},[202,11152,11153],{},[577,11154,11155],{},"gitlab-terracomerce",[202,11157,11158],{},[577,11159,11160],{},"gitlab-personal",[202,11162,11163],{},[577,11164,11165],{},"anthropic-personal",[17,11167,11168,11169,77],{},"Llaves que usas en varios proyectos. El sufijo dice ",[23,11170,11171],{},"para qué cuenta",[704,11173,11174,11191,11194],{"v-slot:good":587},[199,11175,11176,11181,11186],{},[202,11177,11178],{},[577,11179,11180],{},"santaia:openai-key",[202,11182,11183],{},[577,11184,11185],{},"santaia:elevenlabs-key",[202,11187,11188],{},[577,11189,11190],{},"santaia:gemini-key",[17,11192,11193],{},"Llaves específicas de un proyecto. Los dos puntos separan el proyecto del servicio. Fácil de filtrar:",[1018,11195,11197],{"className":4744,"code":11196,"language":4746,"meta":587,"style":587},"security dump-keychain | grep santaia\n",[577,11198,11199],{"__ignoreMap":587},[1587,11200,11201,11203,11206,11208,11211],{"class":4114,"line":4115},[1587,11202,4754],{"class":4753},[1587,11204,11205],{"class":4757}," dump-keychain",[1587,11207,4835],{"class":4834},[1587,11209,11210],{"class":4753}," grep",[1587,11212,11213],{"class":4757}," santaia\n",[79,11215],{},[45,11217,11219],{"id":11218},"_7-producción-nunca-en-tu-máquina","7 · Producción · Nunca en tu máquina",[17,11221,11222,11223,11226],{},"Tu computador personal ",[23,11224,11225],{},"nunca"," debe tener llaves de producción. Punto.",[17,11228,11229,11230,77],{},"Las llaves de producción viven en el panel del proveedor donde despliegas. Se inyectan ",[23,11231,11232],{},"solo cuando se ejecuta el build",[144,11234,11236,11242],{"number":146,"title":11235},"Cloudflare Pages",[17,11237,11238,11241],{},[23,11239,11240],{},"Ruta:"," Settings → Environment variables → Add",[17,11243,11244],{},"Pones nombre + valor + ambiente (Production \u002F Preview). Guardas y redeploy. La variable solo existe durante el build.",[144,11246,11248,11253,11259],{"number":167,"title":11247},"GitHub Actions",[17,11249,11250,11252],{},[23,11251,11240],{}," Settings → Secrets and variables → Actions → New repository secret",[17,11254,11255,11256,1184],{},"En tu workflow lo lees con ",[577,11257,11258],{},"secrets.NOMBRE",[1018,11260,11262],{"className":5060,"code":11261,"language":5062,"meta":587,"style":587},"- env:\n    OPENAI_KEY: ${{ secrets.OPENAI_KEY }}\n  run: npm run deploy\n",[577,11263,11264,11274,11284],{"__ignoreMap":587},[1587,11265,11266,11269,11272],{"class":4114,"line":4115},[1587,11267,11268],{"class":4124},"- ",[1587,11270,11271],{"class":5073},"env",[1587,11273,5108],{"class":4124},[1587,11275,11276,11279,11281],{"class":4114,"line":588},[1587,11277,11278],{"class":5073},"    OPENAI_KEY",[1587,11280,5077],{"class":4124},[1587,11282,11283],{"class":4757},"${{ secrets.OPENAI_KEY }}\n",[1587,11285,11286,11289,11291],{"class":4114,"line":1433},[1587,11287,11288],{"class":5073},"  run",[1587,11290,5077],{"class":4124},[1587,11292,11293],{"class":4757},"npm run deploy\n",[144,11295,11297,11302],{"number":180,"title":11296},"GitLab CI\u002FCD",[17,11298,11299,11301],{},[23,11300,11240],{}," Settings → CI\u002FCD → Variables → Add variable",[17,11303,11304],{},"Marca la variable como \"Masked\" para que no aparezca en los logs. Se inyecta sola cuando corre el pipeline.",[144,11306,11308,11313],{"number":223,"title":11307},"Railway",[17,11309,11310,11312],{},[23,11311,11240],{}," pestaña Variables de cada servicio",[17,11314,11315,11316,11318,11319,11322,11323,11325],{},"Puedes importar de un ",[577,11317,3236],{}," local en bloque. Esa es la ",[23,11320,11321],{},"única vez"," que un ",[577,11324,3236],{}," tiene sentido: importarlo a Railway una vez y nunca más.",[79,11327],{},[45,11329,11331],{"id":11330},"_8-y-si-ya-filtré-algo","8 · ¿Y si ya filtré algo?",[17,11333,11334],{},"Te puede pasar. Si pasó, no entres en pánico. Tres pasos en orden:",[11336,11337],"diagram-rotacion-llave",{},[144,11339,11341,11347,11367],{"number":146,"title":11340},"Rota la llave en el servicio",[17,11342,11343,11346],{},[23,11344,11345],{},"Esto primero."," Mientras la llave vieja siga activa, el daño sigue creciendo.",[199,11348,11349,11355,11361],{},[202,11350,11351,11354],{},[23,11352,11353],{},"OpenAI:"," Dashboard → API Keys → Revoke → crea nueva",[202,11356,11357,11360],{},[23,11358,11359],{},"Stripe:"," Dashboard → Developers → API keys → Roll",[202,11362,11363,11366],{},[23,11364,11365],{},"AWS:"," IAM → Access Keys → Deactivate + Delete + Create new",[17,11368,11369],{},"Cualquier servicio serio tiene un botón de \"rotate\" o \"revoke\" en su panel.",[144,11371,11373,11376,11427,11433,11473],{"number":167,"title":11372},"Limpia el historial de git",[17,11374,11375],{},"Para repos privados y recientes, basta con:",[1018,11377,11379],{"className":4744,"code":11378,"language":4746,"meta":587,"style":587},"git rm --cached .env\necho \".env\" >> .gitignore\ngit commit -m \"chore: remove .env from tracking\"\ngit push\n",[577,11380,11381,11394,11407,11420],{"__ignoreMap":587},[1587,11382,11383,11385,11388,11391],{"class":4114,"line":4115},[1587,11384,6894],{"class":4753},[1587,11386,11387],{"class":4757}," rm",[1587,11389,11390],{"class":4761}," --cached",[1587,11392,11393],{"class":4757}," .env\n",[1587,11395,11396,11398,11401,11404],{"class":4114,"line":588},[1587,11397,4850],{"class":4761},[1587,11399,11400],{"class":4757}," \".env\"",[1587,11402,11403],{"class":4834}," >>",[1587,11405,11406],{"class":4757}," .gitignore\n",[1587,11408,11409,11411,11414,11417],{"class":4114,"line":1433},[1587,11410,6894],{"class":4753},[1587,11412,11413],{"class":4757}," commit",[1587,11415,11416],{"class":4761}," -m",[1587,11418,11419],{"class":4757}," \"chore: remove .env from tracking\"\n",[1587,11421,11422,11424],{"class":4114,"line":4133},[1587,11423,6894],{"class":4753},[1587,11425,11426],{"class":4757}," push\n",[17,11428,11429,11430,1184],{},"Para repos públicos o historiales largos, usa ",[577,11431,11432],{},"git-filter-repo",[1018,11434,11436],{"className":4744,"code":11435,"language":4746,"meta":587,"style":587},"pip install git-filter-repo\ngit filter-repo --invert-paths --path .env\ngit push --force\n",[577,11437,11438,11448,11463],{"__ignoreMap":587},[1587,11439,11440,11443,11445],{"class":4114,"line":4115},[1587,11441,11442],{"class":4753},"pip",[1587,11444,8576],{"class":4757},[1587,11446,11447],{"class":4757}," git-filter-repo\n",[1587,11449,11450,11452,11455,11458,11461],{"class":4114,"line":588},[1587,11451,6894],{"class":4753},[1587,11453,11454],{"class":4757}," filter-repo",[1587,11456,11457],{"class":4761}," --invert-paths",[1587,11459,11460],{"class":4761}," --path",[1587,11462,11393],{"class":4757},[1587,11464,11465,11467,11470],{"class":4114,"line":1433},[1587,11466,6894],{"class":4753},[1587,11468,11469],{"class":4757}," push",[1587,11471,11472],{"class":4761}," --force\n",[12,11474,11476],{"title":11475,"type":138},"Avisa a tu equipo antes del --force",[17,11477,11478],{},"Todos los que tengan el repo clonado van a tener que re-clonarlo. Coordina antes, no después.",[144,11480,11482],{"number":180,"title":11481},"Anota qué pasó",[17,11483,11484],{},"En el README o tu sistema de notas: qué llave se filtró, qué hiciste, qué falló en tu proceso. Sin esto, el segundo incidente cae igual.",[79,11486],{},[45,11488,7165],{"id":7164},[12,11490,11492],{"title":11491,"type":557},"Las 3 reglas que tienes que recordar",[495,11493,11494,11500,11506],{},[202,11495,11496,11499],{},[23,11497,11498],{},"Nunca llaves reales en .env."," Es texto plano. Se filtra fácil.",[202,11501,11502,11505],{},[23,11503,11504],{},"Local en el gestor del sistema."," Mac → Keychain. Windows → Credential Manager. Linux → libsecret.",[202,11507,11508,11511],{},[23,11509,11510],{},"Producción en el panel del proveedor."," Tu máquina no las conoce.",[17,11513,11514,11515,3415],{},"Si pruebas esto en algún proyecto tuyo y se te traba algo, escríbeme en ",[73,11516,585],{"href":583,"rel":11517},[503],[4289,11519,11520],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":587,"searchDepth":588,"depth":588,"links":11522},[11523,11527,11528,11529,11530,11531,11532,11534,11535,11536,11537],{"id":10523,"depth":588,"text":10524,"children":11524},[11525,11526],{"id":10572,"depth":1433,"text":10573},{"id":10598,"depth":1433,"text":10599},{"id":3472,"depth":588,"text":3473},{"id":10655,"depth":588,"text":10656},{"id":10695,"depth":588,"text":10696},{"id":10730,"depth":588,"text":10731},{"id":10873,"depth":588,"text":10874},{"id":10988,"depth":588,"text":11533},"5 · Linux · secret-tool",{"id":11136,"depth":588,"text":11137},{"id":11218,"depth":588,"text":11219},{"id":11330,"depth":588,"text":11331},{"id":7164,"depth":588,"text":7165},"Tu sistema operativo ya viene con un gestor de claves cifrado. La mayoría no lo usa y arriesga sus API keys en un .env. Te muestro cómo cambiar el hábito en 5 minutos.",{},{"title":3240,"description":11538},"biblioteca\u002Fguarda-tus-tokens-sin-filtrarlos",[11543,4565,6070,11271,11544],"seguridad","secretos","ocef-siS8uaY1YHfbKMzVUH_Xabx_7hz59HhUWXwmLc",{"id":11547,"title":11548,"author":7,"body":11549,"cover":1448,"description":13252,"extension":601,"meta":13253,"navigation":603,"nivel":1451,"path":13254,"publishedAt":13255,"seo":13256,"stem":13257,"tags":13258,"__hash__":13260},"biblioteca\u002Fbiblioteca\u002Fguia-claude-code-completa.md","Guía completa de Claude Code en español",{"type":9,"value":11550,"toc":13215},[11551,11563,11565,11568,11571,11574,11576,11580,11587,11590,11600,11617,11623,11626,11629,11632,11636,11643,11679,11686,11690,11696,11753,11756,11769,11778,11782,11785,11788,11790,11794,11801,11804,11846,11850,11853,11859,11862,11866,11873,11883,11886,11987,11991,11997,12006,12024,12026,12030,12033,12037,12044,12047,12142,12154,12158,12168,12171,12174,12176,12215,12231,12235,12238,12246,12256,12261,12268,12271,12275,12278,12285,12288,12334,12338,12349,12358,12371,12387,12419,12421,12425,12428,12431,12434,12440,12443,12449,12455,12460,12465,12469,12479,12483,12493,12499,12512,12532,12534,12538,12541,12578,12582,12589,12592,12615,12622,12627,12647,12651,12658,12661,12720,12737,12741,12748,12782,12785,12791,12797,12800,12804,12807,12819,12860,12866,12872,12878,12880,12884,12887,12894,12899,12902,12906,12912,12918,12924,12930,12936,12940,12999,13002,13048,13050,13054,13061,13067,13073,13079,13085,13091,13097,13111,13134,13136,13140,13143,13146,13151,13155,13159,13163,13167,13171,13175,13179,13192,13194,13196,13203,13206,13212],[12,11552,11553,11555,11560],{"title":14,"type":15},[17,11554,2582],{},[17,11556,11557],{},[23,11558,11559],{},"\"Resúmeme esta guía en los 5 puntos clave y dime qué debería aplicar primero según mi nivel.\"",[17,11561,11562],{},"En 30 segundos tienes el resumen ajustado a ti. Si después te interesa profundo, te devuelves a leer la sección que te llame. Funciona porque la página es pública y Claude la lee entera.",[45,11564,6638],{"id":6637},[17,11566,11567],{},"Llevo meses usando Claude Code para todo. Para escribir esta landing. Para hacer scripts. Para investigar. Para mover proyectos.",[17,11569,11570],{},"La mayoría de tutoriales que encontré tratan a Claude Code como un chatbot con esteroides. No lo es. Es un agente que tiene acceso a tu computadora. Esa diferencia lo cambia todo.",[17,11572,11573],{},"Esta guía va al grano. Cero teoría, cero relleno. Te llevo desde \"lo acabo de instalar\" hasta \"lo uso con proceso de equipo\".",[79,11575],{},[45,11577,11579],{"id":11578},"_1-claude-code-no-es-un-chatbot","1 · Claude Code no es un chatbot",[17,11581,11582,11583,11586],{},"Es un ",[23,11584,11585],{},"agente con acceso a tu máquina",". Hace tres cosas que un chat no hace:",[11588,11589],"diagram-agente-vs-chatbot",{},[144,11591,11593],{"number":146,"title":11592},"Lee, crea, modifica y borra archivos",[17,11594,11595,11596,11599],{},"Le dices \"crea una carpeta ",[577,11597,11598],{},"landing\u002F"," con un Vue básico\" y lo hace. No te muestra el código para que tú lo copies. Lo escribe directo en tu disco.",[144,11601,11603],{"number":167,"title":11602},"Ejecuta comandos en tu terminal",[17,11604,11605,1242,11607,1242,11610,1242,11613,11616],{},[577,11606,7040],{},[577,11608,11609],{},"git commit",[577,11611,11612],{},"mv",[577,11614,11615],{},"curl",". Lo que tú escribirías a mano, él lo lanza. Con permiso o sin permiso (eso lo decides tú al configurar).",[144,11618,11620],{"number":180,"title":11619},"Abre el navegador y extrae información",[17,11621,11622],{},"Con MCP de Chrome DevTools entra a una web, toma screenshot, extrae datos. Te lo trae a la conversación.",[17,11624,11625],{},"Así se ve en cadena: un solo prompt tocando disco, terminal y navegador sin que tú muevas un dedo.",[11627,11628],"diagram-terminal-comando",{},[17,11630,11631],{},"Entender esto es el 80% del trabajo. Si lo tratas como un chat, vas a frustrarte. Si lo tratas como un junior que sabe pegado y obedece bien, le sacas el jugo.",[810,11633,11635],{"id":11634},"dónde-lo-uso-yo","Dónde lo uso yo",[17,11637,11638,11639,11642],{},"Te ahorro la decisión: ",[23,11640,11641],{},"VS Code con la terminal integrada",". Ahí adentro corro Claude Code directo y tengo el editor al lado para ver lo que está pasando con mis ojos.",[697,11644,11649,11665],{"bad-label":11645,"good-label":11646,"bad-title":11647,"good-title":11648},"Solo extensión gráfica","Terminal dentro del editor","Modo pasivo","Cómo lo uso yo",[704,11650,11651],{"v-slot:bad":587},[199,11652,11653,11656,11659,11662],{},[202,11654,11655],{},"Botones que esconden lo que pasa",[202,11657,11658],{},"Tú interpretas lo que la UI muestra",[202,11660,11661],{},"Difícil ver el flujo real de comandos",[202,11663,11664],{},"Limitado a lo que el plugin expone",[704,11666,11667,11670,11673,11676],{"v-slot:good":587},[202,11668,11669],{},"Claude Code en la terminal integrada de VS Code",[202,11671,11672],{},"Ves cada comando que ejecuta",[202,11674,11675],{},"Editas archivos en paralelo",[202,11677,11678],{},"Abres varias terminales para sesiones distintas",[17,11680,11681,11682,11685],{},"¿Necesitas Warp, iTerm2, o un terminal especial? ",[23,11683,11684],{},"No."," El que viene con tu sistema operativo está bien. La diferencia la hace tu cabeza, no la app.",[810,11687,11689],{"id":11688},"instalación-y-configuración-mínima","Instalación y configuración mínima",[17,11691,11692,11693,1184],{},"Después de instalar Claude Code, agrega esto a tu ",[577,11694,11695],{},"~\u002F.zshrc",[1018,11697,11699],{"className":4744,"code":11698,"language":4746,"meta":587,"style":587},"# ── Claude Code ─────────────────\nalias claude='claude --dangerously-skip-permissions'\n\n# ── shortcuts ────────────────────\nalias cc='claude'\nalias ccr='claude --resume'\n",[577,11700,11701,11706,11720,11724,11729,11741],{"__ignoreMap":587},[1587,11702,11703],{"class":4114,"line":4115},[1587,11704,11705],{"class":6499},"# ── Claude Code ─────────────────\n",[1587,11707,11708,11711,11714,11717],{"class":4114,"line":588},[1587,11709,11710],{"class":4834},"alias",[1587,11712,11713],{"class":4124}," claude",[1587,11715,11716],{"class":4834},"=",[1587,11718,11719],{"class":4757},"'claude --dangerously-skip-permissions'\n",[1587,11721,11722],{"class":4114,"line":1433},[1587,11723,4130],{"emptyLinePlaceholder":603},[1587,11725,11726],{"class":4114,"line":4133},[1587,11727,11728],{"class":6499},"# ── shortcuts ────────────────────\n",[1587,11730,11731,11733,11736,11738],{"class":4114,"line":4139},[1587,11732,11710],{"class":4834},[1587,11734,11735],{"class":4124}," cc",[1587,11737,11716],{"class":4834},[1587,11739,11740],{"class":4757},"'claude'\n",[1587,11742,11743,11745,11748,11750],{"class":4114,"line":4924},[1587,11744,11710],{"class":4834},[1587,11746,11747],{"class":4124}," ccr",[1587,11749,11716],{"class":4834},[1587,11751,11752],{"class":4757},"'claude --resume'\n",[17,11754,11755],{},"Aplica los cambios:",[1018,11757,11759],{"className":4744,"code":11758,"language":4746,"meta":587,"style":587},"source ~\u002F.zshrc\n",[577,11760,11761],{"__ignoreMap":587},[1587,11762,11763,11766],{"class":4114,"line":4115},[1587,11764,11765],{"class":4761},"source",[1587,11767,11768],{"class":4757}," ~\u002F.zshrc\n",[12,11770,11772,11775],{"title":11771,"type":138},"Sobre `--dangerously-skip-permissions`",[17,11773,11774],{},"Este flag salta la confirmación de cada acción. Suena peligroso. En la práctica, llevo más de 6 meses con bypass activo y nunca he tenido un borrado accidental serio. ¿Probabilidad cero? No. ¿Probabilidad alta? Tampoco.",[17,11776,11777],{},"Si trabajas en código crítico de cliente, no lo actives. Si estás explorando tus propios proyectos, te ahorra cientos de confirmaciones tontas al día.",[810,11779,11781],{"id":11780},"cuánto-cuesta","Cuánto cuesta",[392,11783],{":items":11784},"[{\"value\":\"$20\",\"label\":\"Pro \u002F mes\",\"caption\":\"Para empezar y aprender\"},{\"value\":\"$100\",\"label\":\"Max 5x \u002F mes\",\"caption\":\"El sweet spot para la mayoría\",\"accent\":true},{\"value\":\"$200\",\"label\":\"Max 20x \u002F mes\",\"caption\":\"Múltiples proyectos paralelos\"}]",[17,11786,11787],{},"Si hicieras estas mismas tareas vía API directa, sale fácil $500 USD\u002Fmes. La suscripción Max es 5× más barata que pagar por token. Y como Anthropic la subsidia, mientras dure, conviene usarla.",[79,11789],{},[45,11791,11793],{"id":11792},"_2-claudemd-tu-memoria-entre-sesiones","2 · CLAUDE.md, tu memoria entre sesiones",[17,11795,11796,11797,11800],{},"Cada sesión nueva de Claude Code arranca ",[23,11798,11799],{},"en blanco",". No sabe nada de tu proyecto, tus reglas, tus preferencias. Tiene que descubrirlo escaneando archivos.",[17,11802,11803],{},"Esto cuesta tokens. Muchos.",[697,11805,11808,11828],{"bad-label":11806,"good-label":11807},"Sin CLAUDE.md","Con CLAUDE.md",[704,11809,11810],{"v-slot:bad":587},[199,11811,11812,11815,11822,11825],{},[202,11813,11814],{},"Escanea 47 archivos al abrir",[202,11816,11817,11818,11821],{},"Gasta ",[23,11819,11820],{},"33.000 tokens"," solo en leer",[202,11823,11824],{},"Aún no ha respondido tu primera pregunta",[202,11826,11827],{},"Repite esto cada sesión nueva",[704,11829,11830,11833,11838,11841],{"v-slot:good":587},[202,11831,11832],{},"Carga 86 líneas en segundos",[202,11834,11817,11835],{},[23,11836,11837],{},"1.200 tokens",[202,11839,11840],{},"Ya tiene el mapa del proyecto",[202,11842,11843],{},[23,11844,11845],{},"27× más barato por sesión",[810,11847,11849],{"id":11848},"cómo-lo-creas","Cómo lo creas",[17,11851,11852],{},"Dentro del proyecto, en una sesión de Claude Code:",[1013,11854,11856],{"title":11855},"setup CLAUDE.md",[17,11857,11858],{},"❯ \u002Finit\n⠋ Analizando estructura del proyecto...\n✓ Created: CLAUDE.md (86 líneas)",[17,11860,11861],{},"Claude lee tu repo, identifica el stack, las carpetas clave, y escribe la primera versión. La revisas y la ajustas a mano.",[810,11863,11865],{"id":11864},"qué-debe-contener","Qué debe contener",[17,11867,11868,11869,11872],{},"Solo lo que el agente necesita ",[23,11870,11871],{},"en CADA sesión",". Nada más.",[12,11874,11876],{"title":11875,"type":452},"Regla de oro",[17,11877,11878,11879,11882],{},"CLAUDE.md tiene que estar ",[23,11880,11881],{},"por debajo de 500 líneas",". Si pasa de ahí, está cargando tareas o información temporal que no debería estar ahí.",[17,11884,11885],{},"Estructura mínima que funciona:",[1018,11887,11889],{"className":4892,"code":11888,"language":4894,"meta":587,"style":587},"# Mi Proyecto\n\n## Qué es\n[Una frase. La que le dirías a un amigo.]\n\n## Stack\n- Frontend: Nuxt 4 + Tailwind v4\n- Hosting: Cloudflare Pages\n- Lenguaje: TypeScript\n\n## Reglas duras\n- Conventional Commits siempre\n- Nunca `--no-verify` ni `--force`\n- Secretos en macOS Keychain, no en .env\n\n## Estructura\n├── app\u002F         ← código fuente\n├── content\u002F     ← markdown\n├── public\u002F      ← assets\n└── nuxt.config.ts\n",[577,11890,11891,11896,11900,11905,11910,11914,11919,11924,11929,11934,11938,11943,11948,11953,11958,11962,11967,11972,11977,11982],{"__ignoreMap":587},[1587,11892,11893],{"class":4114,"line":4115},[1587,11894,11895],{},"# Mi Proyecto\n",[1587,11897,11898],{"class":4114,"line":588},[1587,11899,4130],{"emptyLinePlaceholder":603},[1587,11901,11902],{"class":4114,"line":1433},[1587,11903,11904],{},"## Qué es\n",[1587,11906,11907],{"class":4114,"line":4133},[1587,11908,11909],{},"[Una frase. La que le dirías a un amigo.]\n",[1587,11911,11912],{"class":4114,"line":4139},[1587,11913,4130],{"emptyLinePlaceholder":603},[1587,11915,11916],{"class":4114,"line":4924},[1587,11917,11918],{},"## Stack\n",[1587,11920,11921],{"class":4114,"line":4930},[1587,11922,11923],{},"- Frontend: Nuxt 4 + Tailwind v4\n",[1587,11925,11926],{"class":4114,"line":4936},[1587,11927,11928],{},"- Hosting: Cloudflare Pages\n",[1587,11930,11931],{"class":4114,"line":4942},[1587,11932,11933],{},"- Lenguaje: TypeScript\n",[1587,11935,11936],{"class":4114,"line":4948},[1587,11937,4130],{"emptyLinePlaceholder":603},[1587,11939,11940],{"class":4114,"line":4954},[1587,11941,11942],{},"## Reglas duras\n",[1587,11944,11945],{"class":4114,"line":4959},[1587,11946,11947],{},"- Conventional Commits siempre\n",[1587,11949,11950],{"class":4114,"line":4964},[1587,11951,11952],{},"- Nunca `--no-verify` ni `--force`\n",[1587,11954,11955],{"class":4114,"line":4970},[1587,11956,11957],{},"- Secretos en macOS Keychain, no en .env\n",[1587,11959,11960],{"class":4114,"line":4975},[1587,11961,4130],{"emptyLinePlaceholder":603},[1587,11963,11964],{"class":4114,"line":4981},[1587,11965,11966],{},"## Estructura\n",[1587,11968,11969],{"class":4114,"line":4986},[1587,11970,11971],{},"├── app\u002F         ← código fuente\n",[1587,11973,11974],{"class":4114,"line":4992},[1587,11975,11976],{},"├── content\u002F     ← markdown\n",[1587,11978,11979],{"class":4114,"line":4998},[1587,11980,11981],{},"├── public\u002F      ← assets\n",[1587,11983,11984],{"class":4114,"line":5003},[1587,11985,11986],{},"└── nuxt.config.ts\n",[810,11988,11990],{"id":11989},"las-3-reglas-de-oro-del-contexto","Las 3 reglas de oro del contexto",[144,11992,11994],{"number":146,"title":11993},"CLAUDE.md por debajo de 500 líneas",[17,11995,11996],{},"Si crece más, parte el contenido. Información de proyecto en CLAUDE.md, información de tarea en el mensaje de inicio.",[144,11998,12000],{"number":167,"title":11999},"1 tarea = 1 sesión",[17,12001,12002,12003,12005],{},"Cuando termines una tarea, escribe ",[577,12004,7001],{}," y arranca otra. No reutilices la misma sesión para 5 cosas distintas. El contexto se contamina.",[144,12007,12009],{"number":180,"title":12008},"Herramientas por proyecto, no globalmente",[17,12010,12011,12012,12015,12016,12019,12020,12023],{},"Solo lo que usas ",[23,12013,12014],{},"en todo"," va a ",[577,12017,12018],{},"--scope user",". El resto va a ",[577,12021,12022],{},"--scope project",". Tener 20 MCPs globales infla cada sesión sin que te des cuenta.",[79,12025],{},[45,12027,12029],{"id":12028},"_3-mcp-skills-y-subagentes","3 · MCP, Skills y Subagentes",[17,12031,12032],{},"Tres palabras que confunden. Las pongo en orden cronológico para que las entiendas de una.",[810,12034,12036],{"id":12035},"mcp-dale-superpoderes-al-agente","MCP: dale superpoderes al agente",[17,12038,12039,12040,12043],{},"MCP es un ",[23,12041,12042],{},"catálogo de acciones"," que Claude puede ejecutar. Ejemplo: el MCP de Chrome DevTools le permite abrir pestañas, tomar screenshots, inspeccionar elementos.",[17,12045,12046],{},"Instalarlo es directo:",[1018,12048,12050],{"className":4744,"code":12049,"language":4746,"meta":587,"style":587},"# Global (solo si lo usas SIEMPRE):\nclaude mcp add chrome-devtools \\\n  --scope user \\\n  npx @anthropic\u002Fchrome-devtools-mcp\n\n# Por proyecto (lo normal):\nclaude mcp add supabase \\\n  --scope project \\\n  npx supabase-mcp\n\n# Verificar:\n\u002Fmcp\n",[577,12051,12052,12057,12072,12082,12090,12094,12099,12112,12121,12128,12132,12137],{"__ignoreMap":587},[1587,12053,12054],{"class":4114,"line":4115},[1587,12055,12056],{"class":6499},"# Global (solo si lo usas SIEMPRE):\n",[1587,12058,12059,12061,12064,12067,12070],{"class":4114,"line":588},[1587,12060,15],{"class":4753},[1587,12062,12063],{"class":4757}," mcp",[1587,12065,12066],{"class":4757}," add",[1587,12068,12069],{"class":4757}," chrome-devtools",[1587,12071,4762],{"class":4761},[1587,12073,12074,12077,12080],{"class":4114,"line":1433},[1587,12075,12076],{"class":4761},"  --scope",[1587,12078,12079],{"class":4757}," user",[1587,12081,4762],{"class":4761},[1587,12083,12084,12087],{"class":4114,"line":4133},[1587,12085,12086],{"class":4757},"  npx",[1587,12088,12089],{"class":4757}," @anthropic\u002Fchrome-devtools-mcp\n",[1587,12091,12092],{"class":4114,"line":4139},[1587,12093,4130],{"emptyLinePlaceholder":603},[1587,12095,12096],{"class":4114,"line":4924},[1587,12097,12098],{"class":6499},"# Por proyecto (lo normal):\n",[1587,12100,12101,12103,12105,12107,12110],{"class":4114,"line":4930},[1587,12102,15],{"class":4753},[1587,12104,12063],{"class":4757},[1587,12106,12066],{"class":4757},[1587,12108,12109],{"class":4757}," supabase",[1587,12111,4762],{"class":4761},[1587,12113,12114,12116,12119],{"class":4114,"line":4936},[1587,12115,12076],{"class":4761},[1587,12117,12118],{"class":4757}," project",[1587,12120,4762],{"class":4761},[1587,12122,12123,12125],{"class":4114,"line":4942},[1587,12124,12086],{"class":4757},[1587,12126,12127],{"class":4757}," supabase-mcp\n",[1587,12129,12130],{"class":4114,"line":4948},[1587,12131,4130],{"emptyLinePlaceholder":603},[1587,12133,12134],{"class":4114,"line":4954},[1587,12135,12136],{"class":6499},"# Verificar:\n",[1587,12138,12139],{"class":4114,"line":4959},[1587,12140,12141],{"class":4753},"\u002Fmcp\n",[12,12143,12145,12151],{"title":12144,"type":138},"El problema de los MCP",[17,12146,12147,12148,77],{},"Inflán el contexto. Cada MCP carga su documentación entera en la ventana del agente, hayas usado o no esas acciones. Un par de MCPs grandes y ya quemaste 10.000 tokens ",[23,12149,12150],{},"antes de pedir algo",[17,12152,12153],{},"Por eso aparecieron los Skills.",[810,12155,12157],{"id":12156},"skills-la-evolución-de-los-mcp","Skills: la evolución de los MCP",[17,12159,12160,12161,12164,12165,77],{},"Un Skill es una ",[23,12162,12163],{},"carpeta con instrucciones y helpers",". Solo el header (nombre + descripción de una línea) vive en contexto. El resto se carga ",[23,12166,12167],{},"cuando lo necesitas",[12169,12170],"diagram-skills-vs-mcp",{},[17,12172,12173],{},"Y este es el ciclo de vida: duerme cuando no la necesitas, despierta cuando hace falta, vuelve a dormir.",[3494,12175],{},[697,12177,12182,12201],{"bad-label":12178,"good-label":12179,"bad-title":12180,"good-title":12181},"MCP","Skills","Modelo viejo","Modelo nuevo",[704,12183,12184],{"v-slot:bad":587},[199,12185,12186,12189,12192,12195],{},[202,12187,12188],{},"Todos los endpoints cargados desde el inicio",[202,12190,12191],{},"Escenarios fijos, no editables",[202,12193,12194],{},"Difícil de combinar varios",[202,12196,12197,12200],{},[23,12198,12199],{},"~5.000 a 11.000 tokens"," por MCP",[704,12202,12203,12206,12209,12212],{"v-slot:good":587},[202,12204,12205],{},"Solo header en contexto (~50 tokens)",[202,12207,12208],{},"Se carga bajo demanda",[202,12210,12211],{},"Editables y combinables",[202,12213,12214],{},"Cualquier API puede ser un skill",[17,12216,12217,12220,12221,5958,12224,12227,12228,77],{},[23,12218,12219],{},"Caso real:"," para crear esta landing, Claude cargó 2 skills (",[577,12222,12223],{},"ui-ux-pro-max",[577,12225,12226],{},"chrome-devtools",") que sumaron ~300 tokens en contexto. La misma capacidad como MCP habría gastado 11.000+ tokens. ",[23,12229,12230],{},"30× menos",[810,12232,12234],{"id":12233},"dónde-conseguir-skills","Dónde conseguir skills",[17,12236,12237],{},"Hay marketplaces públicos con cientos de skills disponibles. Funcionan, pero tienen dos problemas para quien arranca:",[495,12239,12240,12243],{},[202,12241,12242],{},"Muchos están escritos para gente técnica que sabe leer markdown crudo y entender qué hace cada bloque.",[202,12244,12245],{},"No vienen revisados. Cualquiera publica una skill. Y como una skill es código + instrucciones que tu agente va a ejecutar en tu máquina, eso importa.",[12,12247,12249],{"title":12248,"type":138},"Cuidado con descargar skills sin revisar",[17,12250,12251,12252,12255],{},"Una skill puede leer tus archivos, ejecutar comandos en tu terminal y conectarse a internet. Si descargas una de una fuente desconocida sin leerla, le estás dando esos permisos a un extraño. ",[23,12253,12254],{},"Próximamente sacamos una guía completa de cómo auditar una skill antes de instalarla"," y qué señales miro yo para confiar o rechazar.",[17,12257,12258],{},[23,12259,12260],{},"Lo que estamos haciendo en santa-ia:",[17,12262,12263,12264,12267],{},"Aquí en la biblioteca vamos a ir publicando las skills que yo uso, ",[23,12265,12266],{},"revisadas, probadas, y con su modo de uso explicado en español para personas que no son ingenieras",". No te paso un link al markdown crudo. Te traduzco qué hace, cuándo la usas, qué cosas evita que tengas que pensar.",[17,12269,12270],{},"Vuelve a esta biblioteca seguido. Cada semana va a haber una skill nueva con su guía propia.",[810,12272,12274],{"id":12273},"subagentes-trabajo-en-paralelo","Subagentes: trabajo en paralelo",[17,12276,12277],{},"El problema base: una sola sesión de Claude tiene contexto finito. Si le pides 3 cosas grandes seguidas, se le llena la cabeza y empieza a olvidar.",[17,12279,12280,12281,12284],{},"La solución: ",[23,12282,12283],{},"subagentes",". Cada uno tiene su propia ventana de contexto, corren en paralelo, te devuelven el resultado sin contaminar la sesión principal.",[12286,12287],"diagram-subagentes",{},[697,12289,12292,12313],{"bad-label":12290,"good-label":12291},"Secuencial","Paralelo con subagentes",[704,12293,12294],{"v-slot:bad":587},[199,12295,12296,12299,12302,12305,12310],{},[202,12297,12298],{},"Landing v1: 5 min · 100K tokens",[202,12300,12301],{},"Landing v2: 5 min · 100K tokens",[202,12303,12304],{},"Landing v3: 5 min · 100K tokens",[202,12306,12307],{},[23,12308,12309],{},"Total: 15 min · 300K en contexto principal",[202,12311,12312],{},"Sesión desbordada ☠",[704,12314,12315,12318,12321,12324,12329],{"v-slot:good":587},[202,12316,12317],{},"Sub 1 → v1: 5 min (aislado)",[202,12319,12320],{},"Sub 2 → v2: 5 min (aislado)",[202,12322,12323],{},"Sub 3 → v3: 5 min (aislado)",[202,12325,12326],{},[23,12327,12328],{},"Total: 5 min · 50K en contexto principal",[202,12330,12331],{},[23,12332,12333],{},"3× más rápido · 6× más barato",[810,12335,12337],{"id":12336},"dos-formas-de-lanzar-subagentes","Dos formas de lanzar subagentes",[17,12339,12340,12343,12344,12348],{},[23,12341,12342],{},"Al vuelo",", en cualquier sesión: le dices a Claude ",[12345,12346,12347],"em",{},"\"lanza 3 subagentes en paralelo, cada uno hace una versión distinta del componente X\"",". Y los lanza.",[17,12350,12351,12354,12355,12357],{},[23,12352,12353],{},"Pre-definidos",", en archivos dentro de ",[577,12356,7053],{},". Cada uno con su nombre, modelo y skills asignados. Cuando un agente está documentado, sabes qué hace y lo invocas por nombre.",[12,12359,12361],{"title":12360,"type":67},"Honestidad sobre mi setup",[17,12362,12363,12364,12366,12367,12370],{},"Yo todavía no tengo subagentes pre-definidos en mi ",[577,12365,7053],{},". Los lanzo al vuelo cuando los necesito. ",[23,12368,12369],{},"Voy a empezar a pre-definir los recurrentes"," (uno para review de UI, uno para investigar en JARVIS, uno para humanizar copy). Cuando lo tenga listo, lo cuento en otra guía.",[17,12372,12373,12374,12377,12378,1242,12381,1242,12384,12386],{},"Si quieres empezar tú: archivo ",[577,12375,12376],{},".claude\u002Fagents\u002Fmi-primer-agente.md"," con frontmatter ",[577,12379,12380],{},"name",[577,12382,12383],{},"model",[577,12385,3835],{},". La primera vez son 5 minutos de prueba y error.",[12,12388,12390,12410,12416],{"title":12389,"type":67},"Modelos de Anthropic disponibles",[199,12391,12392,12398,12404],{},[202,12393,12394,12397],{},[23,12395,12396],{},"Opus"," → planes complejos, decisiones arquitectónicas",[202,12399,12400,12403],{},[23,12401,12402],{},"Sonnet"," → el caballo de batalla, escribe código con buen plan",[202,12405,12406,12409],{},[23,12407,12408],{},"Haiku"," → tareas de lectura, búsquedas rápidas",[17,12411,12412,12413],{},"Frase a tatuar: ",[23,12414,12415],{},"Opus sin plan es Ferrari en terracería. Sonnet con buen plan es tiro al centro.",[17,12417,12418],{},"(Y un dato extra: para tareas con mucho output JSON, otros modelos como DeepSeek-V3 pueden salir 70× más baratos que Sonnet. Lo cuento en otra guía sobre routing de modelos.)",[79,12420],{},[45,12422,12424],{"id":12423},"_4-manejo-de-contexto","4 · Manejo de contexto",[17,12426,12427],{},"El contexto es el \"espacio mental\" del agente en una sesión. Tiene un techo. Cuando se acerca, el agente empieza a olvidar y a inventar.",[12429,12430],"diagram-contexto",{},[17,12432,12433],{},"Mira tu status line. Tiene que verse algo así:",[1013,12435,12437],{"title":12436},"status line",[17,12438,12439],{},"❯ ~\u002Fsanta-ia · opus-4 · 1M ctx · 67% ■■■■■■░░",[17,12441,12442],{},"Ese 67% es lo que llevas usado. Tradúcelo así:",[12444,12445],"progress-line",{":percent":12446,"label":12447,"tone":557,"caption":12448},"35","0 - 50% · Trabajo efectivo","El agente está fresco. Respuestas precisas.",[12444,12450],{":percent":12451,"label":12452,"tone":12453,"caption":12454},"62","50 - 70% · Cuidado","accent","Empieza a olvidar detalles. Refresca con un \u002Fclear pronto.",[12444,12456],{":percent":12457,"label":12458,"tone":138,"caption":12459},"78","70 - 85% · Degradación","Respuestas inconsistentes. Cierra la tarea, abre sesión nueva.",[12444,12461],{":percent":12462,"label":12463,"tone":1263,"caption":12464},"92","85%+ · Auto-compact","Pérdida contextual severa. Vas a recibir alucinaciones.",[810,12466,12468],{"id":12467},"regla-operativa","Regla operativa",[17,12470,12471,12472,12478],{},"Cuando ves 70%, ",[23,12473,12474,12475,12477],{},"cierra lo que estás haciendo, ejecuta ",[577,12476,7001],{}," y abre sesión nueva",". No te aferres a una sesión larga por sentimentalismo. El agente no se acuerda de ti igual.",[810,12480,12482],{"id":12481},"tres-comandos-que-te-salvan-la-sesión","Tres comandos que te salvan la sesión",[144,12484,12486],{"number":146,"title":12485},"\u002Fclear · arrancar de cero",[17,12487,12488,12489,12492],{},"Borra toda la memoria de la sesión actual. Útil cuando terminaste una tarea y vas a empezar otra distinta. ",[23,12490,12491],{},"Es el que más uso."," Ahorra tokens y evita contaminación entre temas que no tienen relación.",[144,12494,12496],{"number":167,"title":12495},"\u002Fcompact · resumir lo importante",[17,12497,12498],{},"En vez de borrar todo, Claude hace un resumen condensado de la conversación hasta ahora y arranca con ese resumen. Útil cuando llevabas un hilo largo que necesitas mantener pero el contexto se te está llenando. Pierdes detalle, mantienes la dirección.",[144,12500,12502],{"number":180,"title":12501},"\u002Frewind · volver atrás",[17,12503,12504,12505,12508,12509,12511],{},"Te deja regresar a un punto anterior de la conversación. Si Claude tomó un camino que no querías o rompió algo, ",[23,12506,12507],{},"devuelves la sesión al momento antes del error"," sin perder lo bueno que pasó antes. Como ",[577,12510,6980],{}," pero para tu chat completo.",[12,12513,12515],{"title":12514,"type":452},"Mi regla mental",[199,12516,12517,12522,12527],{},[202,12518,12519,12520],{},"Cambio de tarea → ",[577,12521,7001],{},[202,12523,12524,12525],{},"Misma tarea, contexto lleno → ",[577,12526,7014],{},[202,12528,12529,12530],{},"Se equivocó feo → ",[577,12531,6973],{},[79,12533],{},[45,12535,12537],{"id":12536},"_5-sacar-tu-código-al-mundo","5 · Sacar tu código al mundo",[17,12539,12540],{},"Hay dos perfiles claros acá. No uso las etiquetas \"vibe coder vs developer pro\" porque me suenan despectivas. Lo digo más directo:",[697,12542,12545,12564],{"bad-label":12543,"good-label":12544},"Versión local","Versión publicada",[704,12546,12547],{"v-slot:bad":587},[199,12548,12549,12555,12558,12561],{},[202,12550,12551,12552],{},"Tu app solo corre en ",[577,12553,12554],{},"localhost:3000",[202,12556,12557],{},"Cuando cierras la terminal, se cae",[202,12559,12560],{},"No la puedes compartir con nadie",[202,12562,12563],{},"Si pierdes el disco, perdiste el proyecto",[704,12565,12566,12569,12572,12575],{"v-slot:good":587},[202,12567,12568],{},"Tu app vive en un dominio real",[202,12570,12571],{},"Sigue corriendo aunque tu máquina esté apagada",[202,12573,12574],{},"La puedes mandar por WhatsApp",[202,12576,12577],{},"Git la respalda en GitHub o GitLab",[810,12579,12581],{"id":12580},"cómo-publico-yo-cloudflare-pages","Cómo publico yo: Cloudflare Pages",[17,12583,12584,12585,12588],{},"Esta landing que estás leyendo vive en Cloudflare Pages. ",[23,12586,12587],{},"Free tier, deploy automático con cada push a la rama, dominio propio en minutos."," Para sitios estáticos (Nuxt SSG, Vue puro, Astro) es lo más rápido y gratis que conozco.",[12590,12591],"diagram-flujo-deploy",{},[1013,12593,12595],{"title":12594},"conectar repo a Cloudflare Pages",[495,12596,12597,12600,12603,12606,12609,12612],{},[202,12598,12599],{},"Login en dash.cloudflare.com → Workers & Pages",[202,12601,12602],{},"Create application → Pages → Connect to Git",[202,12604,12605],{},"Selecciona el repo (GitHub o GitLab)",[202,12607,12608],{},"Build command: npm run generate",[202,12610,12611],{},"Output directory: .output\u002Fpublic",[202,12613,12614],{},"Deploy",[17,12616,12617,12618,12621],{},"En 60 segundos tu URL ",[577,12619,12620],{},".pages.dev"," está viva.",[17,12623,12624],{},[23,12625,12626],{},"Otras opciones según el caso:",[199,12628,12629,12635,12641],{},[202,12630,12631,12634],{},[23,12632,12633],{},"Vercel"," → más rápido si tu stack es Next.js. Misma idea, otro proveedor.",[202,12636,12637,12640],{},[23,12638,12639],{},"Railway \u002F Render"," → cuando tienes backend Python con base de datos. Vercel no sirve para FastAPI.",[202,12642,12643,12646],{},[23,12644,12645],{},"Self-hosted (Docker en VPS)"," → cuando necesitas control total.",[810,12648,12650],{"id":12649},"git-el-cinturón-de-seguridad","Git: el cinturón de seguridad",[17,12652,12653,12654,12657],{},"Si vas a publicar algo, ",[23,12655,12656],{},"siempre con Git",". Te salva de los borrones a mitad de noche, te deja volver atrás, te deja experimentar sin miedo.",[17,12659,12660],{},"Lo mínimo:",[1018,12662,12664],{"className":4744,"code":12663,"language":4746,"meta":587,"style":587},"git init\ngit add app\u002F content\u002F public\u002F\ngit commit -m \"feat: primera versión de la landing\"\n\n# Para experimentar sin romper:\ngit checkout -b feature\u002Fdiseno-v2\n",[577,12665,12666,12672,12687,12698,12702,12707],{"__ignoreMap":587},[1587,12667,12668,12670],{"class":4114,"line":4115},[1587,12669,6894],{"class":4753},[1587,12671,10085],{"class":4757},[1587,12673,12674,12676,12678,12681,12684],{"class":4114,"line":588},[1587,12675,6894],{"class":4753},[1587,12677,12066],{"class":4757},[1587,12679,12680],{"class":4757}," app\u002F",[1587,12682,12683],{"class":4757}," content\u002F",[1587,12685,12686],{"class":4757}," public\u002F\n",[1587,12688,12689,12691,12693,12695],{"class":4114,"line":1433},[1587,12690,6894],{"class":4753},[1587,12692,11413],{"class":4757},[1587,12694,11416],{"class":4761},[1587,12696,12697],{"class":4757}," \"feat: primera versión de la landing\"\n",[1587,12699,12700],{"class":4114,"line":4133},[1587,12701,4130],{"emptyLinePlaceholder":603},[1587,12703,12704],{"class":4114,"line":4139},[1587,12705,12706],{"class":6499},"# Para experimentar sin romper:\n",[1587,12708,12709,12711,12714,12717],{"class":4114,"line":4924},[1587,12710,6894],{"class":4753},[1587,12712,12713],{"class":4757}," checkout",[1587,12715,12716],{"class":4761}," -b",[1587,12718,12719],{"class":4757}," feature\u002Fdiseno-v2\n",[12,12721,12723],{"title":12722,"type":138},"Nunca `git add .` a ciegas",[17,12724,12725,12726,12728,12729,12732,12733,12736],{},"Puedes terminar subiendo un ",[577,12727,3236],{},", una carpeta ",[577,12730,12731],{},"node_modules\u002F",", o un dump de base de datos. Configura un ",[577,12734,12735],{},".gitignore"," desde el día uno y agrega archivos por nombre cuando puedas.",[810,12738,12740],{"id":12739},"git-worktree-dos-claudes-a-la-vez","Git Worktree: dos Claudes a la vez",[17,12742,12743,12744,12747],{},"Mi truco favorito. Te deja tener ",[23,12745,12746],{},"dos versiones del mismo proyecto"," en carpetas físicas distintas:",[1018,12749,12751],{"className":4744,"code":12750,"language":4746,"meta":587,"style":587},"git worktree add .\u002Fworktrees\u002Fv2 feature\u002Flanding-v2\ngit worktree add .\u002Fworktrees\u002Fv3 feature\u002Flanding-v3\n",[577,12752,12753,12768],{"__ignoreMap":587},[1587,12754,12755,12757,12760,12762,12765],{"class":4114,"line":4115},[1587,12756,6894],{"class":4753},[1587,12758,12759],{"class":4757}," worktree",[1587,12761,12066],{"class":4757},[1587,12763,12764],{"class":4757}," .\u002Fworktrees\u002Fv2",[1587,12766,12767],{"class":4757}," feature\u002Flanding-v2\n",[1587,12769,12770,12772,12774,12776,12779],{"class":4114,"line":588},[1587,12771,6894],{"class":4753},[1587,12773,12759],{"class":4757},[1587,12775,12066],{"class":4757},[1587,12777,12778],{"class":4757}," .\u002Fworktrees\u002Fv3",[1587,12780,12781],{"class":4757}," feature\u002Flanding-v3\n",[17,12783,12784],{},"Ahora abres dos terminales:",[1013,12786,12788],{"title":12787},"terminal 1",[17,12789,12790],{},"~\u002Fworktrees\u002Fv2 ❯ claude",[1013,12792,12794],{"title":12793},"terminal 2",[17,12795,12796],{},"~\u002Fworktrees\u002Fv3 ❯ claude",[17,12798,12799],{},"Dos Claudes trabajando en paralelo, en versiones distintas, sin tropezarse. Cuando te decides por una, mergeas y borras la otra.",[810,12801,12803],{"id":12802},"secretos-nunca-en-código","Secretos: nunca en código",[17,12805,12806],{},"Tres reglas duras que aplico en todo proyecto:",[144,12808,12810],{"number":146,"title":12809},"Nada de API keys en .env del repo",[17,12811,12812,12813,12815,12816,12818],{},"Si commiteas un ",[577,12814,3236],{}," aunque sea una vez, la llave queda en el historial de git para siempre. Aunque la borres después, sigue ahí. Voy más lejos: ni los archivos ",[577,12817,3236],{}," viven en mi máquina local con valores reales.",[144,12820,12822,12857],{"number":167,"title":12821},"Local: todo en el gestor de claves del sistema",[199,12823,12824,12840,12848],{},[202,12825,12826,12829,12830,12833,12834,1242,12836,1242,12838,77],{},[23,12827,12828],{},"macOS:"," Keychain (mi caso). Convención de naming: ",[577,12831,12832],{},"[servicio]-[contexto]",". Ej: ",[577,12835,11155],{},[577,12837,11190],{},[577,12839,11185],{},[202,12841,12842,12844,12845,12847],{},[23,12843,9348],{}," Credential Manager con la misma idea (",[577,12846,10884],{}," en CLI).",[202,12849,12850,12853,12854,12856],{},[23,12851,12852],{},"Linux:"," ",[577,12855,10992],{}," (libsecret) o KWallet.",[17,12858,12859],{},"El código consulta el gestor en runtime. La llave nunca toca el disco como texto plano.",[144,12861,12863],{"number":180,"title":12862},"Producción: variables del proveedor",[17,12864,12865],{},"GitHub Actions Secrets, Cloudflare Pages env vars, Railway secrets. Las inyecta el CI\u002FCD. Tu máquina personal jamás conoce las llaves de producción.",[12,12867,12869],{"title":12868,"type":452},"Próximamente: guía dedicada a secretos",[17,12870,12871],{},"Esto da para un artículo entero: wrappers en Python que leen del Keychain, equivalentes en Windows, manejo en CI\u002FCD, rotación de llaves. Lo dejo apuntado para una próxima guía.",[17,12873,12874,12877],{},[23,12875,12876],{},"Mi regla personal:"," llaves de producción en mi máquina local no es pregunta de \"si\" se filtran. Es pregunta de \"cuándo\". Por eso vivo todo en macOS Keychain.",[79,12879],{},[45,12881,12883],{"id":12882},"_6-el-proceso-vence-al-modelo","6 · El proceso vence al modelo",[17,12885,12886],{},"Esto es lo que más cuesta entender. Y es lo que más rinde cuando lo agarras.",[17,12888,12889,12890,12893],{},"El DORA Report 2025 dijo algo claro: ",[23,12891,12892],{},"los equipos fuertes con IA se hacen más fuertes. Los débiles descubren más problemas."," El ROI no viene de la herramienta. Viene del proceso.",[17,12895,12896],{},[23,12897,12898],{},"Caos rápido sigue siendo caos.",[12900,12901],"diagram-pipeline",{},[810,12903,12905],{"id":12904},"el-pipeline-mínimo","El pipeline mínimo",[144,12907,12909],{"number":146,"title":12908},"Planificación",[17,12910,12911],{},"El agente propone cómo atacar la tarea. No escribe código todavía.",[144,12913,12915],{"number":167,"title":12914},"Revisión del plan",[17,12916,12917],{},"Tú lees el plan, lo ajustas, agregas restricciones. Acá decides si vale la pena.",[144,12919,12921],{"number":180,"title":12920},"Descomposición",[17,12922,12923],{},"El plan se parte en tareas ejecutables. Cada una con su entregable claro.",[144,12925,12927],{"number":223,"title":12926},"Implementación vía subagentes",[17,12928,12929],{},"Las tareas corren aisladas y paralelizadas. Cada subagente entrega lo suyo.",[144,12931,12933],{"number":250,"title":12932},"Code review",[17,12934,12935],{},"Revisión explícita antes de merge. Otro pase del agente o tú a mano.",[810,12937,12939],{"id":12938},"el-mismo-modelo-dos-resultados","El mismo modelo, dos resultados",[697,12941,12944,12972],{"bad-label":12942,"good-label":12943},"Sin proceso","Con proceso",[704,12945,12946,12952,12955],{"v-slot:bad":587},[17,12947,12948,12951],{},[23,12949,12950],{},"Petición:"," \"Constrúyeme una app\"",[17,12953,12954],{},"Resultado:",[199,12956,12957,12960,12963,12966,12969],{},[202,12958,12959],{},"300K tokens después...",[202,12961,12962],{},"Contexto desbordado ✗",[202,12964,12965],{},"Código no compila ✗",[202,12967,12968],{},"Tests no existen ✗",[202,12970,12971],{},"A empezar de cero ✗",[704,12973,12974,12979,12981],{"v-slot:good":587},[17,12975,12976,12978],{},[23,12977,12950],{}," plan → revisar → partir → ejecutar → review",[17,12980,12954],{},[199,12982,12983,12988,12993,12996],{},[202,12984,12985],{},[23,12986,12987],{},"9 tareas completadas",[202,12989,12990],{},[23,12991,12992],{},"9% de contexto usado",[202,12994,12995],{},"Tests pasando ✓",[202,12997,12998],{},"Commit listo ✓",[17,13000,13001],{},"Misma versión de Claude. Mismo prompt original. La diferencia fue el proceso.",[12,13003,13005,13008,13042],{"title":13004,"type":452},"Mi flujo personal",[17,13006,13007],{},"Lo que yo uso cada día con Claude Code:",[495,13009,13010,13019,13024,13030,13036],{},[202,13011,13012,13015,13016],{},[23,13013,13014],{},"JARVIS primero."," Antes de empezar, le pido que lea mi knowledge base personal para que no parta en blanco. ",[12345,13017,13018],{},"(JARVIS es mi segundo cerebro: vault donde guardo proyectos, decisiones, aprendizajes y reglas. Pronto sale una guía dedicada solo a JARVIS y cómo armar el tuyo.)",[202,13020,13021,13023],{},[23,13022,6933],{}," Le pido el plan antes de tocar código. Lo discutimos.",[202,13025,13026,13029],{},[23,13027,13028],{},"Implementar."," Solo después.",[202,13031,13032,13035],{},[23,13033,13034],{},"humanizer."," Todo copy público pasa por mi skill que detecta lenguaje de IA y lo corrige.",[202,13037,13038,13041],{},[23,13039,13040],{},"\u002Fcommit."," Mi propio slash command para commits con Conventional Commits, sin atribución de IA.",[17,13043,13044,13045],{},"Cada uno de estos amerita su artículo. Por ahora quédate con la idea: ",[23,13046,13047],{},"siempre hay proceso. Nunca improvisas en frío.",[79,13049],{},[45,13051,13053],{"id":13052},"_7-el-kit-que-yo-sí-uso","7 · El kit que yo sí uso",[17,13055,13056,13057,13060],{},"Cada herramienta de esta lista se ganó su puesto porque la ",[23,13058,13059],{},"investigué, la probé, y me ahorra tiempo real cada semana",". No son las \"top 10\" recopiladas de internet. Son las que yo abro casi todos los días en mi Claude Code.",[144,13062,13064],{"number":146,"title":13063},"humanizer (skill propio)",[17,13065,13066],{},"Detecta 29 patrones de prosa generada por IA (em-dashes, \"desbloquea\", \"potencia\", construcciones tipo \"no solo X sino también Y\"). Lo corre antes de publicar cualquier copy. Sin esto, todo lo que escribo suena a marketing genérico. Con esto, suena a mí.",[144,13068,13070],{"number":167,"title":13069},"ui-ux-pro-max (skill)",[17,13071,13072],{},"67 estilos visuales, 161 paletas curadas, 57 pares tipográficos. Cuando le digo \"hazme una landing bonita\", esto se encarga del criterio. Esta página está construida con esa skill guiando cada decisión.",[144,13074,13076],{"number":180,"title":13075},"chrome-devtools MCP",[17,13077,13078],{},"Automatización del browser. Toma screenshots, llena formularios, ejecuta JavaScript en la página, lee el DOM. Lo uso para validar que lo que Claude genera se ve bien antes de declarar la tarea cerrada.",[144,13080,13082],{"number":223,"title":13081},"start-project (skill propio)",[17,13083,13084],{},"Mi punto de partida en cada proyecto nuevo. Lee mi knowledge base, crea estructura estándar (Python + SQLite + Vue 3 + Tailwind), registra el proyecto en JARVIS. 3 minutos en vez de 30.",[144,13086,13088],{"number":250,"title":13087},"context-engineering + sequential-thinking",[17,13089,13090],{},"Dos skills para problemas duros. La primera ayuda a estructurar contextos complejos. La segunda obliga al agente a razonar paso a paso antes de actuar. Cuando algo se atraganta, las invoco.",[144,13092,13094],{"number":278,"title":13093},"code-review (skill)",[17,13095,13096],{},"Antes de cerrar una tarea grande, le pido que se revise él mismo. Encuentra bugs, lógica frágil, problemas de seguridad. Un segundo par de ojos que no cobra.",[144,13098,13100],{"number":310,"title":13099},"\u002Fcommit (mi slash command)",[17,13101,13102,13103,13106,13107,13110],{},"Mi propio comando para commits. Conventional Commits, sin ",[577,13104,13105],{},"--no-verify",", sin ",[577,13108,13109],{},"--force",", sin atribución de IA en el mensaje. Aplica reglas duras automáticamente. Después de probarlo, no quieres commits sin él.",[12,13112,13114,13117,13131],{"title":13113,"type":67},"Pronto las traemos a la biblioteca",[17,13115,13116],{},"Cada una de estas skills va a tener su propia entrada acá en la biblioteca con:",[199,13118,13119,13122,13125,13128],{},[202,13120,13121],{},"Qué problema resuelve, en una frase.",[202,13123,13124],{},"Cuándo la uso yo y cuándo no.",[202,13126,13127],{},"Cómo se instala paso a paso.",[202,13129,13130],{},"Ejemplos reales de uso con su antes y después.",[17,13132,13133],{},"Mantente atento a la biblioteca, voy publicando una nueva cada semana. Si quieres que la próxima sea sobre una skill específica, escríbeme.",[79,13135],{},[45,13137,13139],{"id":13138},"_8-tu-ruta-de-0-a-avanzado","8 · Tu ruta de 0 a avanzado",[17,13141,13142],{},"Esto no se aprende todo en un día. La progresión sana se ve así:",[13144,13145],"diagram-roadmap",{},[12444,13147],{":percent":13148,"label":13149,"tone":13150},"10","Nivel 0 · Entender que agente ≠ chatbot","neutral",[12444,13152],{":percent":13153,"label":13154,"tone":13150},"20","Nivel 1 · Instalar Claude Code + alias en .zshrc",[12444,13156],{":percent":13157,"label":13158,"tone":13150},"30","Nivel 2 · CLAUDE.md (ahorro de tokens desde el día uno)",[12444,13160],{":percent":13161,"label":13162,"tone":12453},"45","Nivel 3 · MCP → Skills → Subagentes",[12444,13164],{":percent":13165,"label":13166,"tone":12453},"60","Nivel 4 · Monitorear contexto en cada sesión",[12444,13168],{":percent":13169,"label":13170,"tone":12453},"75","Nivel 5 · Deploy: Cloudflare Pages o Vercel",[12444,13172],{":percent":13173,"label":13174,"tone":557},"88","Nivel 6 · Git, worktree y trabajos paralelos",[12444,13176],{":percent":13177,"label":13178,"tone":557},"100","Nivel 7 · Proceso completo (plan → review)",[12,13180,13182,13189],{"title":13181,"type":452},"No hay nivel secreto",[17,13183,13184,13185,13188],{},"Si alguien te vende un atajo, está vendiendo. La diferencia entre el que rinde y el que no rinde es: ",[23,13186,13187],{},"estudia enfoques, no herramientas",". Si Claude Code desaparece mañana, el que aprendió proceso mueve su proceso a la siguiente herramienta. El que aprendió botones empieza de cero.",[17,13190,13191],{},"No es carrera de fondo. Es carrera de resistencia.",[79,13193],{},[45,13195,7165],{"id":7164},[17,13197,13198,13199,13202],{},"Si llegaste hasta acá, ya sabes más que el 90% de gente que dice usar Claude Code. Lo que sigue no es leer otra guía. Es abrir tu próximo proyecto y aplicar ",[23,13200,13201],{},"una sola cosa"," de las que viste.",[17,13204,13205],{},"Mi recomendación: empieza por CLAUDE.md. Es lo de menor esfuerzo y mayor retorno. Tres minutos de inversión y todas tus sesiones siguientes te lo agradecen.",[17,13207,13208,13209,3415],{},"¿Lo aplicaste y te funcionó? ¿Te trabaste en algo? Cuéntame en ",[73,13210,585],{"href":583,"rel":13211},[503],[4289,13213,13214],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":587,"searchDepth":588,"depth":588,"links":13216},[13217,13218,13223,13228,13235,13239,13245,13249,13250,13251],{"id":6637,"depth":588,"text":6638},{"id":11578,"depth":588,"text":11579,"children":13219},[13220,13221,13222],{"id":11634,"depth":1433,"text":11635},{"id":11688,"depth":1433,"text":11689},{"id":11780,"depth":1433,"text":11781},{"id":11792,"depth":588,"text":11793,"children":13224},[13225,13226,13227],{"id":11848,"depth":1433,"text":11849},{"id":11864,"depth":1433,"text":11865},{"id":11989,"depth":1433,"text":11990},{"id":12028,"depth":588,"text":12029,"children":13229},[13230,13231,13232,13233,13234],{"id":12035,"depth":1433,"text":12036},{"id":12156,"depth":1433,"text":12157},{"id":12233,"depth":1433,"text":12234},{"id":12273,"depth":1433,"text":12274},{"id":12336,"depth":1433,"text":12337},{"id":12423,"depth":588,"text":12424,"children":13236},[13237,13238],{"id":12467,"depth":1433,"text":12468},{"id":12481,"depth":1433,"text":12482},{"id":12536,"depth":588,"text":12537,"children":13240},[13241,13242,13243,13244],{"id":12580,"depth":1433,"text":12581},{"id":12649,"depth":1433,"text":12650},{"id":12739,"depth":1433,"text":12740},{"id":12802,"depth":1433,"text":12803},{"id":12882,"depth":588,"text":12883,"children":13246},[13247,13248],{"id":12904,"depth":1433,"text":12905},{"id":12938,"depth":1433,"text":12939},{"id":13052,"depth":588,"text":13053},{"id":13138,"depth":588,"text":13139},{"id":7164,"depth":588,"text":7165},"Cómo trabajar con Claude Code de verdad. Configuración, contexto, skills, subagentes, deploy y proceso. Todo lo que necesitas en un solo lugar.",{},"\u002Fbiblioteca\u002Fguia-claude-code-completa","2026-05-12",{"title":11548,"description":13252},"biblioteca\u002Fguia-claude-code-completa",[1456,611,1013,3837,13259],"completo","ALHCeUbWg8un_VtZXYQ0Q_zZRMrQ5TqtwIK8AQH2Dxc",1791391286513]