[{"data":1,"prerenderedAt":1827},["ShallowReactive",2],{"biblioteca-\u002Fbiblioteca\u002Fguia-claude-code-completa":3},{"id":4,"title":5,"author":6,"body":7,"cover":1812,"description":1813,"extension":1814,"meta":1815,"navigation":219,"nivel":1816,"path":1817,"publishedAt":1818,"seo":1819,"stem":1820,"tags":1821,"__hash__":1826},"biblioteca\u002Fbiblioteca\u002Fguia-claude-code-completa.md","Guía completa de Claude Code en español","Miguel Santa",{"type":8,"value":9,"toc":1775},"minimark",[10,28,33,36,39,42,45,49,56,59,72,92,99,102,105,108,113,120,161,168,172,179,253,256,270,280,284,288,291,293,297,304,307,349,353,356,363,366,370,377,388,391,508,512,518,528,546,548,552,555,559,566,569,666,679,683,693,696,699,702,741,758,762,765,774,784,789,796,799,803,806,813,816,862,866,877,887,901,918,950,952,956,959,962,965,971,974,981,987,992,998,1002,1012,1016,1026,1032,1046,1068,1070,1074,1077,1114,1118,1125,1128,1151,1158,1163,1183,1187,1194,1197,1260,1278,1282,1289,1323,1326,1332,1338,1341,1345,1348,1360,1407,1413,1419,1425,1427,1431,1434,1441,1446,1449,1453,1459,1465,1471,1478,1485,1489,1548,1551,1598,1600,1604,1611,1617,1623,1629,1635,1641,1648,1663,1686,1688,1692,1695,1698,1703,1707,1711,1715,1719,1723,1727,1731,1744,1746,1750,1757,1760,1771],[11,12,15,19,25],"callout",{"title":13,"type":14},"¿Apurado? Que Claude te haga un resumen rápido.","claude",[16,17,18],"p",{},"Copia el link de esta página y pégalo en Claude (claude.ai, el escritorio o la app). Le pides algo así:",[16,20,21],{},[22,23,24],"strong",{},"\"Resúmeme esta guía en los 5 puntos clave y dime qué debería aplicar primero según mi nivel.\"",[16,26,27],{},"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.",[29,30,32],"h2",{"id":31},"por-qué-esta-guía-existe","Por qué esta guía existe",[16,34,35],{},"Llevo meses usando Claude Code para todo. Para escribir esta landing. Para hacer scripts. Para investigar. Para mover proyectos.",[16,37,38],{},"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.",[16,40,41],{},"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\".",[43,44],"hr",{},[29,46,48],{"id":47},"_1-claude-code-no-es-un-chatbot","1 · Claude Code no es un chatbot",[16,50,51,52,55],{},"Es un ",[22,53,54],{},"agente con acceso a tu máquina",". Hace tres cosas que un chat no hace:",[57,58],"diagram-agente-vs-chatbot",{},[60,61,64],"step-card",{"number":62,"title":63},"1","Lee, crea, modifica y borra archivos",[16,65,66,67,71],{},"Le dices \"crea una carpeta ",[68,69,70],"code",{},"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.",[60,73,76],{"number":74,"title":75},"2","Ejecuta comandos en tu terminal",[16,77,78,81,82,81,85,81,88,91],{},[68,79,80],{},"npm install",", ",[68,83,84],{},"git commit",[68,86,87],{},"mv",[68,89,90],{},"curl",". Lo que tú escribirías a mano, él lo lanza. Con permiso o sin permiso (eso lo decides tú al configurar).",[60,93,96],{"number":94,"title":95},"3","Abre el navegador y extrae información",[16,97,98],{},"Con MCP de Chrome DevTools entra a una web, toma screenshot, extrae datos. Te lo trae a la conversación.",[16,100,101],{},"Así se ve en cadena: un solo prompt tocando disco, terminal y navegador sin que tú muevas un dedo.",[103,104],"diagram-terminal-comando",{},[16,106,107],{},"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.",[109,110,112],"h3",{"id":111},"dónde-lo-uso-yo","Dónde lo uso yo",[16,114,115,116,119],{},"Te ahorro la decisión: ",[22,117,118],{},"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.",[121,122,127,147],"compare-grid",{"bad-label":123,"good-label":124,"bad-title":125,"good-title":126},"Solo extensión gráfica","Terminal dentro del editor","Modo pasivo","Cómo lo uso yo",[128,129,131],"template",{"v-slot:bad":130},"",[132,133,134,138,141,144],"ul",{},[135,136,137],"li",{},"Botones que esconden lo que pasa",[135,139,140],{},"Tú interpretas lo que la UI muestra",[135,142,143],{},"Difícil ver el flujo real de comandos",[135,145,146],{},"Limitado a lo que el plugin expone",[128,148,149,152,155,158],{"v-slot:good":130},[135,150,151],{},"Claude Code en la terminal integrada de VS Code",[135,153,154],{},"Ves cada comando que ejecuta",[135,156,157],{},"Editas archivos en paralelo",[135,159,160],{},"Abres varias terminales para sesiones distintas",[16,162,163,164,167],{},"¿Necesitas Warp, iTerm2, o un terminal especial? ",[22,165,166],{},"No."," El que viene con tu sistema operativo está bien. La diferencia la hace tu cabeza, no la app.",[109,169,171],{"id":170},"instalación-y-configuración-mínima","Instalación y configuración mínima",[16,173,174,175,178],{},"Después de instalar Claude Code, agrega esto a tu ",[68,176,177],{},"~\u002F.zshrc",":",[180,181,185],"pre",{"className":182,"code":183,"language":184,"meta":130,"style":130},"language-bash shiki shiki-themes github-light github-dark","# ── Claude Code ─────────────────\nalias claude='claude --dangerously-skip-permissions'\n\n# ── shortcuts ────────────────────\nalias cc='claude'\nalias ccr='claude --resume'\n","bash",[68,186,187,196,214,221,227,240],{"__ignoreMap":130},[188,189,192],"span",{"class":190,"line":191},"line",1,[188,193,195],{"class":194},"sJ8bj","# ── Claude Code ─────────────────\n",[188,197,199,203,207,210],{"class":190,"line":198},2,[188,200,202],{"class":201},"szBVR","alias",[188,204,206],{"class":205},"sVt8B"," claude",[188,208,209],{"class":201},"=",[188,211,213],{"class":212},"sZZnC","'claude --dangerously-skip-permissions'\n",[188,215,217],{"class":190,"line":216},3,[188,218,220],{"emptyLinePlaceholder":219},true,"\n",[188,222,224],{"class":190,"line":223},4,[188,225,226],{"class":194},"# ── shortcuts ────────────────────\n",[188,228,230,232,235,237],{"class":190,"line":229},5,[188,231,202],{"class":201},[188,233,234],{"class":205}," cc",[188,236,209],{"class":201},[188,238,239],{"class":212},"'claude'\n",[188,241,243,245,248,250],{"class":190,"line":242},6,[188,244,202],{"class":201},[188,246,247],{"class":205}," ccr",[188,249,209],{"class":201},[188,251,252],{"class":212},"'claude --resume'\n",[16,254,255],{},"Aplica los cambios:",[180,257,259],{"className":182,"code":258,"language":184,"meta":130,"style":130},"source ~\u002F.zshrc\n",[68,260,261],{"__ignoreMap":130},[188,262,263,267],{"class":190,"line":191},[188,264,266],{"class":265},"sj4cs","source",[188,268,269],{"class":212}," ~\u002F.zshrc\n",[11,271,274,277],{"title":272,"type":273},"Sobre `--dangerously-skip-permissions`","warning",[16,275,276],{},"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.",[16,278,279],{},"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.",[109,281,283],{"id":282},"cuánto-cuesta","Cuánto cuesta",[285,286],"stat-grid",{":items":287},"[{\"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\"}]",[16,289,290],{},"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, hay que aprovecharla.",[43,292],{},[29,294,296],{"id":295},"_2-claudemd-tu-memoria-entre-sesiones","2 · CLAUDE.md, tu memoria entre sesiones",[16,298,299,300,303],{},"Cada sesión nueva de Claude Code arranca ",[22,301,302],{},"en blanco",". No sabe nada de tu proyecto, tus reglas, tus preferencias. Tiene que descubrirlo escaneando archivos.",[16,305,306],{},"Esto cuesta tokens. Muchos.",[121,308,311,331],{"bad-label":309,"good-label":310},"Sin CLAUDE.md","Con CLAUDE.md",[128,312,313],{"v-slot:bad":130},[132,314,315,318,325,328],{},[135,316,317],{},"Escanea 47 archivos al abrir",[135,319,320,321,324],{},"Gasta ",[22,322,323],{},"33.000 tokens"," solo en leer",[135,326,327],{},"Aún no ha respondido tu primera pregunta",[135,329,330],{},"Repite esto cada sesión nueva",[128,332,333,336,341,344],{"v-slot:good":130},[135,334,335],{},"Carga 86 líneas en segundos",[135,337,320,338],{},[22,339,340],{},"1.200 tokens",[135,342,343],{},"Ya tiene el mapa del proyecto",[135,345,346],{},[22,347,348],{},"27× más barato por sesión",[109,350,352],{"id":351},"cómo-lo-creas","Cómo lo creas",[16,354,355],{},"Dentro del proyecto, en una sesión de Claude Code:",[357,358,360],"terminal",{"title":359},"setup CLAUDE.md",[16,361,362],{},"❯ \u002Finit\n⠋ Analizando estructura del proyecto...\n✓ Created: CLAUDE.md (86 líneas)",[16,364,365],{},"Claude lee tu repo, identifica el stack, las carpetas clave, y escribe la primera versión. La revisas y la ajustas a mano.",[109,367,369],{"id":368},"qué-debe-contener","Qué debe contener",[16,371,372,373,376],{},"Solo lo que el agente necesita ",[22,374,375],{},"en CADA sesión",". Nada más.",[11,378,381],{"title":379,"type":380},"Regla de oro","tip",[16,382,383,384,387],{},"CLAUDE.md tiene que estar ",[22,385,386],{},"por debajo de 500 líneas",". Si pasa de ahí, está cargando tareas o información temporal que no debería estar ahí.",[16,389,390],{},"Estructura mínima que funciona:",[180,392,396],{"className":393,"code":394,"language":395,"meta":130,"style":130},"language-markdown shiki shiki-themes github-light github-dark","# 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","markdown",[68,397,398,403,407,412,417,421,426,432,438,444,449,455,461,467,473,478,484,490,496,502],{"__ignoreMap":130},[188,399,400],{"class":190,"line":191},[188,401,402],{},"# Mi Proyecto\n",[188,404,405],{"class":190,"line":198},[188,406,220],{"emptyLinePlaceholder":219},[188,408,409],{"class":190,"line":216},[188,410,411],{},"## Qué es\n",[188,413,414],{"class":190,"line":223},[188,415,416],{},"[Una frase. La que le dirías a un amigo.]\n",[188,418,419],{"class":190,"line":229},[188,420,220],{"emptyLinePlaceholder":219},[188,422,423],{"class":190,"line":242},[188,424,425],{},"## Stack\n",[188,427,429],{"class":190,"line":428},7,[188,430,431],{},"- Frontend: Nuxt 4 + Tailwind v4\n",[188,433,435],{"class":190,"line":434},8,[188,436,437],{},"- Hosting: Cloudflare Pages\n",[188,439,441],{"class":190,"line":440},9,[188,442,443],{},"- Lenguaje: TypeScript\n",[188,445,447],{"class":190,"line":446},10,[188,448,220],{"emptyLinePlaceholder":219},[188,450,452],{"class":190,"line":451},11,[188,453,454],{},"## Reglas duras\n",[188,456,458],{"class":190,"line":457},12,[188,459,460],{},"- Conventional Commits siempre\n",[188,462,464],{"class":190,"line":463},13,[188,465,466],{},"- Nunca `--no-verify` ni `--force`\n",[188,468,470],{"class":190,"line":469},14,[188,471,472],{},"- Secretos en macOS Keychain, no en .env\n",[188,474,476],{"class":190,"line":475},15,[188,477,220],{"emptyLinePlaceholder":219},[188,479,481],{"class":190,"line":480},16,[188,482,483],{},"## Estructura\n",[188,485,487],{"class":190,"line":486},17,[188,488,489],{},"├── app\u002F         ← código fuente\n",[188,491,493],{"class":190,"line":492},18,[188,494,495],{},"├── content\u002F     ← markdown\n",[188,497,499],{"class":190,"line":498},19,[188,500,501],{},"├── public\u002F      ← assets\n",[188,503,505],{"class":190,"line":504},20,[188,506,507],{},"└── nuxt.config.ts\n",[109,509,511],{"id":510},"las-3-reglas-de-oro-del-contexto","Las 3 reglas de oro del contexto",[60,513,515],{"number":62,"title":514},"CLAUDE.md por debajo de 500 líneas",[16,516,517],{},"Si crece más, parte el contenido. Información de proyecto en CLAUDE.md, información de tarea en el mensaje de inicio.",[60,519,521],{"number":74,"title":520},"1 tarea = 1 sesión",[16,522,523,524,527],{},"Cuando termines una tarea, escribe ",[68,525,526],{},"\u002Fclear"," y arranca otra. No reutilices la misma sesión para 5 cosas distintas. El contexto se contamina.",[60,529,531],{"number":94,"title":530},"Herramientas por proyecto, no globalmente",[16,532,533,534,537,538,541,542,545],{},"Solo lo que usas ",[22,535,536],{},"en todo"," va a ",[68,539,540],{},"--scope user",". El resto va a ",[68,543,544],{},"--scope project",". Tener 20 MCPs globales infla cada sesión sin que te des cuenta.",[43,547],{},[29,549,551],{"id":550},"_3-mcp-skills-y-subagentes","3 · MCP, Skills y Subagentes",[16,553,554],{},"Tres palabras que confunden. Las pongo en orden cronológico para que las entiendas de una.",[109,556,558],{"id":557},"mcp-dale-superpoderes-al-agente","MCP: dale superpoderes al agente",[16,560,561,562,565],{},"MCP es un ",[22,563,564],{},"catálogo de acciones"," que Claude puede ejecutar. Ejemplo: el MCP de Chrome DevTools le permite abrir pestañas, tomar screenshots, inspeccionar elementos.",[16,567,568],{},"Instalarlo es directo:",[180,570,572],{"className":182,"code":571,"language":184,"meta":130,"style":130},"# 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",[68,573,574,579,596,606,614,618,623,636,645,652,656,661],{"__ignoreMap":130},[188,575,576],{"class":190,"line":191},[188,577,578],{"class":194},"# Global (solo si lo usas SIEMPRE):\n",[188,580,581,584,587,590,593],{"class":190,"line":198},[188,582,14],{"class":583},"sScJk",[188,585,586],{"class":212}," mcp",[188,588,589],{"class":212}," add",[188,591,592],{"class":212}," chrome-devtools",[188,594,595],{"class":265}," \\\n",[188,597,598,601,604],{"class":190,"line":216},[188,599,600],{"class":265},"  --scope",[188,602,603],{"class":212}," user",[188,605,595],{"class":265},[188,607,608,611],{"class":190,"line":223},[188,609,610],{"class":212},"  npx",[188,612,613],{"class":212}," @anthropic\u002Fchrome-devtools-mcp\n",[188,615,616],{"class":190,"line":229},[188,617,220],{"emptyLinePlaceholder":219},[188,619,620],{"class":190,"line":242},[188,621,622],{"class":194},"# Por proyecto (lo normal):\n",[188,624,625,627,629,631,634],{"class":190,"line":428},[188,626,14],{"class":583},[188,628,586],{"class":212},[188,630,589],{"class":212},[188,632,633],{"class":212}," supabase",[188,635,595],{"class":265},[188,637,638,640,643],{"class":190,"line":434},[188,639,600],{"class":265},[188,641,642],{"class":212}," project",[188,644,595],{"class":265},[188,646,647,649],{"class":190,"line":440},[188,648,610],{"class":212},[188,650,651],{"class":212}," supabase-mcp\n",[188,653,654],{"class":190,"line":446},[188,655,220],{"emptyLinePlaceholder":219},[188,657,658],{"class":190,"line":451},[188,659,660],{"class":194},"# Verificar:\n",[188,662,663],{"class":190,"line":457},[188,664,665],{"class":583},"\u002Fmcp\n",[11,667,669,676],{"title":668,"type":273},"El problema de los MCP",[16,670,671,672,675],{},"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 ",[22,673,674],{},"antes de pedir algo",".",[16,677,678],{},"Por eso aparecieron los Skills.",[109,680,682],{"id":681},"skills-la-evolución-de-los-mcp","Skills: la evolución de los MCP",[16,684,685,686,689,690,675],{},"Un Skill es una ",[22,687,688],{},"carpeta con instrucciones y helpers",". Solo el header (nombre + descripción de una línea) vive en contexto. El resto se carga ",[22,691,692],{},"cuando lo necesitas",[694,695],"diagram-skills-vs-mcp",{},[16,697,698],{},"Y este es el ciclo de vida: duerme cuando no la necesitas, despierta cuando hace falta, vuelve a dormir.",[700,701],"diagram-ciclo-skill",{},[121,703,708,727],{"bad-label":704,"good-label":705,"bad-title":706,"good-title":707},"MCP","Skills","Modelo viejo","Modelo nuevo",[128,709,710],{"v-slot:bad":130},[132,711,712,715,718,721],{},[135,713,714],{},"Todos los endpoints cargados desde el inicio",[135,716,717],{},"Escenarios fijos, no editables",[135,719,720],{},"Difícil de combinar varios",[135,722,723,726],{},[22,724,725],{},"~5.000 a 11.000 tokens"," por MCP",[128,728,729,732,735,738],{"v-slot:good":130},[135,730,731],{},"Solo header en contexto (~50 tokens)",[135,733,734],{},"Se carga bajo demanda",[135,736,737],{},"Editables y combinables",[135,739,740],{},"Cualquier API puede ser un skill",[16,742,743,746,747,750,751,754,755,675],{},[22,744,745],{},"Caso real:"," para crear esta landing, Claude cargó 2 skills (",[68,748,749],{},"ui-ux-pro-max"," + ",[68,752,753],{},"chrome-devtools",") que sumaron ~300 tokens en contexto. La misma capacidad como MCP habría gastado 11.000+ tokens. ",[22,756,757],{},"30× menos",[109,759,761],{"id":760},"dónde-conseguir-skills","Dónde conseguir skills",[16,763,764],{},"Hay marketplaces públicos con cientos de skills disponibles. Funcionan, pero tienen dos problemas para quien arranca:",[766,767,768,771],"ol",{},[135,769,770],{},"Muchos están escritos para gente técnica que sabe leer markdown crudo y entender qué hace cada bloque.",[135,772,773],{},"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.",[11,775,777],{"title":776,"type":273},"Cuidado con descargar skills sin revisar",[16,778,779,780,783],{},"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. ",[22,781,782],{},"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.",[16,785,786],{},[22,787,788],{},"Lo que estamos haciendo en santa-ia:",[16,790,791,792,795],{},"Aquí en la biblioteca vamos a ir publicando las skills que yo uso, ",[22,793,794],{},"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.",[16,797,798],{},"Vuelve a esta biblioteca seguido. Cada semana va a haber una skill nueva con su guía propia.",[109,800,802],{"id":801},"subagentes-trabajo-en-paralelo","Subagentes: trabajo en paralelo",[16,804,805],{},"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.",[16,807,808,809,812],{},"La solución: ",[22,810,811],{},"subagentes",". Cada uno tiene su propia ventana de contexto, corren en paralelo, te devuelven el resultado sin contaminar la sesión principal.",[814,815],"diagram-subagentes",{},[121,817,820,841],{"bad-label":818,"good-label":819},"Secuencial","Paralelo con subagentes",[128,821,822],{"v-slot:bad":130},[132,823,824,827,830,833,838],{},[135,825,826],{},"Landing v1: 5 min · 100K tokens",[135,828,829],{},"Landing v2: 5 min · 100K tokens",[135,831,832],{},"Landing v3: 5 min · 100K tokens",[135,834,835],{},[22,836,837],{},"Total: 15 min · 300K en contexto principal",[135,839,840],{},"Sesión desbordada ☠",[128,842,843,846,849,852,857],{"v-slot:good":130},[135,844,845],{},"Sub 1 → v1: 5 min (aislado)",[135,847,848],{},"Sub 2 → v2: 5 min (aislado)",[135,850,851],{},"Sub 3 → v3: 5 min (aislado)",[135,853,854],{},[22,855,856],{},"Total: 5 min · 50K en contexto principal",[135,858,859],{},[22,860,861],{},"3× más rápido · 6× más barato",[109,863,865],{"id":864},"dos-formas-de-lanzar-subagentes","Dos formas de lanzar subagentes",[16,867,868,871,872,876],{},[22,869,870],{},"Al vuelo",", en cualquier sesión: le dices a Claude ",[873,874,875],"em",{},"\"lanza 3 subagentes en paralelo, cada uno hace una versión distinta del componente X\"",". Y los lanza.",[16,878,879,882,883,886],{},[22,880,881],{},"Pre-definidos",", en archivos dentro de ",[68,884,885],{},".claude\u002Fagents\u002F",". Cada uno con su nombre, modelo y skills asignados. Cuando un agente está documentado, sabes qué hace y lo invocas por nombre.",[11,888,891],{"title":889,"type":890},"Honestidad sobre mi setup","info",[16,892,893,894,896,897,900],{},"Yo todavía no tengo subagentes pre-definidos en mi ",[68,895,885],{},". Los lanzo al vuelo cuando los necesito. ",[22,898,899],{},"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.",[16,902,903,904,907,908,81,911,81,914,917],{},"Si quieres empezar tú: archivo ",[68,905,906],{},".claude\u002Fagents\u002Fmi-primer-agente.md"," con frontmatter ",[68,909,910],{},"name",[68,912,913],{},"model",[68,915,916],{},"skills",". La primera vez son 5 minutos de prueba y error.",[11,919,921,941,947],{"title":920,"type":890},"Modelos de Anthropic disponibles",[132,922,923,929,935],{},[135,924,925,928],{},[22,926,927],{},"Opus"," → planes complejos, decisiones arquitectónicas",[135,930,931,934],{},[22,932,933],{},"Sonnet"," → el caballo de batalla, escribe código con buen plan",[135,936,937,940],{},[22,938,939],{},"Haiku"," → tareas de lectura, búsquedas rápidas",[16,942,943,944],{},"Frase a tatuar: ",[22,945,946],{},"Opus sin plan es Ferrari en terracería. Sonnet con buen plan es tiro al centro.",[16,948,949],{},"(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.)",[43,951],{},[29,953,955],{"id":954},"_4-manejo-de-contexto","4 · Manejo de contexto",[16,957,958],{},"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.",[960,961],"diagram-contexto",{},[16,963,964],{},"Mira tu status line. Tiene que verse algo así:",[357,966,968],{"title":967},"status line",[16,969,970],{},"❯ ~\u002Fsanta-ia · opus-4 · 1M ctx · 67% ■■■■■■░░",[16,972,973],{},"Ese 67% es lo que llevas usado. Tradúcelo así:",[975,976],"progress-line",{":percent":977,"label":978,"tone":979,"caption":980},"35","0 - 50% · Trabajo efectivo","success","El agente está fresco. Respuestas precisas.",[975,982],{":percent":983,"label":984,"tone":985,"caption":986},"62","50 - 70% · Cuidado","accent","Empieza a olvidar detalles. Refresca con un \u002Fclear pronto.",[975,988],{":percent":989,"label":990,"tone":273,"caption":991},"78","70 - 85% · Degradación","Respuestas inconsistentes. Cierra la tarea, abre sesión nueva.",[975,993],{":percent":994,"label":995,"tone":996,"caption":997},"92","85%+ · Auto-compact","danger","Pérdida contextual severa. Vas a recibir alucinaciones.",[109,999,1001],{"id":1000},"regla-operativa","Regla operativa",[16,1003,1004,1005,1011],{},"Cuando ves 70%, ",[22,1006,1007,1008,1010],{},"cierra lo que estás haciendo, ejecuta ",[68,1009,526],{}," y abre sesión nueva",". No te aferres a una sesión larga por sentimentalismo. El agente no se acuerda de ti igual.",[109,1013,1015],{"id":1014},"tres-comandos-que-te-salvan-la-sesión","Tres comandos que te salvan la sesión",[60,1017,1019],{"number":62,"title":1018},"\u002Fclear · arrancar de cero",[16,1020,1021,1022,1025],{},"Borra toda la memoria de la sesión actual. Útil cuando terminaste una tarea y vas a empezar otra distinta. ",[22,1023,1024],{},"Es el que más uso."," Ahorra tokens y evita contaminación entre temas que no tienen relación.",[60,1027,1029],{"number":74,"title":1028},"\u002Fcompact · resumir lo importante",[16,1030,1031],{},"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.",[60,1033,1035],{"number":94,"title":1034},"\u002Frewind · volver atrás",[16,1036,1037,1038,1041,1042,1045],{},"Te deja regresar a un punto anterior de la conversación. Si Claude tomó un camino que no querías o rompió algo, ",[22,1039,1040],{},"devuelves la sesión al momento antes del error"," sin perder lo bueno que pasó antes. Como ",[68,1043,1044],{},"Ctrl+Z"," pero para tu chat completo.",[11,1047,1049],{"title":1048,"type":380},"Mi regla mental",[132,1050,1051,1056,1062],{},[135,1052,1053,1054],{},"Cambio de tarea → ",[68,1055,526],{},[135,1057,1058,1059],{},"Misma tarea, contexto lleno → ",[68,1060,1061],{},"\u002Fcompact",[135,1063,1064,1065],{},"Se equivocó feo → ",[68,1066,1067],{},"\u002Frewind",[43,1069],{},[29,1071,1073],{"id":1072},"_5-sacar-tu-código-al-mundo","5 · Sacar tu código al mundo",[16,1075,1076],{},"Hay dos perfiles claros acá. No uso las etiquetas \"vibe coder vs developer pro\" porque me suenan despectivas. Lo digo más directo:",[121,1078,1081,1100],{"bad-label":1079,"good-label":1080},"Versión local","Versión publicada",[128,1082,1083],{"v-slot:bad":130},[132,1084,1085,1091,1094,1097],{},[135,1086,1087,1088],{},"Tu app solo corre en ",[68,1089,1090],{},"localhost:3000",[135,1092,1093],{},"Cuando cierras la terminal, se cae",[135,1095,1096],{},"No la puedes compartir con nadie",[135,1098,1099],{},"Si pierdes el disco, perdiste el proyecto",[128,1101,1102,1105,1108,1111],{"v-slot:good":130},[135,1103,1104],{},"Tu app vive en un dominio real",[135,1106,1107],{},"Sigue corriendo aunque tu máquina esté apagada",[135,1109,1110],{},"La puedes mandar por WhatsApp",[135,1112,1113],{},"Git la respalda en GitHub o GitLab",[109,1115,1117],{"id":1116},"cómo-publico-yo-cloudflare-pages","Cómo publico yo: Cloudflare Pages",[16,1119,1120,1121,1124],{},"Esta landing que estás leyendo vive en Cloudflare Pages. ",[22,1122,1123],{},"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.",[1126,1127],"diagram-flujo-deploy",{},[357,1129,1131],{"title":1130},"conectar repo a Cloudflare Pages",[766,1132,1133,1136,1139,1142,1145,1148],{},[135,1134,1135],{},"Login en dash.cloudflare.com → Workers & Pages",[135,1137,1138],{},"Create application → Pages → Connect to Git",[135,1140,1141],{},"Selecciona el repo (GitHub o GitLab)",[135,1143,1144],{},"Build command: npm run generate",[135,1146,1147],{},"Output directory: .output\u002Fpublic",[135,1149,1150],{},"Deploy",[16,1152,1153,1154,1157],{},"En 60 segundos tu URL ",[68,1155,1156],{},".pages.dev"," está viva.",[16,1159,1160],{},[22,1161,1162],{},"Otras opciones según el caso:",[132,1164,1165,1171,1177],{},[135,1166,1167,1170],{},[22,1168,1169],{},"Vercel"," → más rápido si tu stack es Next.js. Misma idea, otro proveedor.",[135,1172,1173,1176],{},[22,1174,1175],{},"Railway \u002F Render"," → cuando tienes backend Python con base de datos. Vercel no sirve para FastAPI.",[135,1178,1179,1182],{},[22,1180,1181],{},"Self-hosted (Docker en VPS)"," → cuando necesitas control total.",[109,1184,1186],{"id":1185},"git-el-cinturón-de-seguridad","Git: el cinturón de seguridad",[16,1188,1189,1190,1193],{},"Si vas a publicar algo, ",[22,1191,1192],{},"siempre con Git",". Te salva de los borrones a mitad de noche, te deja volver atrás, te deja experimentar sin miedo.",[16,1195,1196],{},"Lo mínimo:",[180,1198,1200],{"className":182,"code":1199,"language":184,"meta":130,"style":130},"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",[68,1201,1202,1210,1225,1238,1242,1247],{"__ignoreMap":130},[188,1203,1204,1207],{"class":190,"line":191},[188,1205,1206],{"class":583},"git",[188,1208,1209],{"class":212}," init\n",[188,1211,1212,1214,1216,1219,1222],{"class":190,"line":198},[188,1213,1206],{"class":583},[188,1215,589],{"class":212},[188,1217,1218],{"class":212}," app\u002F",[188,1220,1221],{"class":212}," content\u002F",[188,1223,1224],{"class":212}," public\u002F\n",[188,1226,1227,1229,1232,1235],{"class":190,"line":216},[188,1228,1206],{"class":583},[188,1230,1231],{"class":212}," commit",[188,1233,1234],{"class":265}," -m",[188,1236,1237],{"class":212}," \"feat: primera versión de la landing\"\n",[188,1239,1240],{"class":190,"line":223},[188,1241,220],{"emptyLinePlaceholder":219},[188,1243,1244],{"class":190,"line":229},[188,1245,1246],{"class":194},"# Para experimentar sin romper:\n",[188,1248,1249,1251,1254,1257],{"class":190,"line":242},[188,1250,1206],{"class":583},[188,1252,1253],{"class":212}," checkout",[188,1255,1256],{"class":265}," -b",[188,1258,1259],{"class":212}," feature\u002Fdiseno-v2\n",[11,1261,1263],{"title":1262,"type":273},"Nunca `git add .` a ciegas",[16,1264,1265,1266,1269,1270,1273,1274,1277],{},"Puedes terminar subiendo un ",[68,1267,1268],{},".env",", una carpeta ",[68,1271,1272],{},"node_modules\u002F",", o un dump de base de datos. Configura un ",[68,1275,1276],{},".gitignore"," desde el día uno y agrega archivos por nombre cuando puedas.",[109,1279,1281],{"id":1280},"git-worktree-dos-claudes-a-la-vez","Git Worktree: dos Claudes a la vez",[16,1283,1284,1285,1288],{},"Mi truco favorito. Te deja tener ",[22,1286,1287],{},"dos versiones del mismo proyecto"," en carpetas físicas distintas:",[180,1290,1292],{"className":182,"code":1291,"language":184,"meta":130,"style":130},"git worktree add .\u002Fworktrees\u002Fv2 feature\u002Flanding-v2\ngit worktree add .\u002Fworktrees\u002Fv3 feature\u002Flanding-v3\n",[68,1293,1294,1309],{"__ignoreMap":130},[188,1295,1296,1298,1301,1303,1306],{"class":190,"line":191},[188,1297,1206],{"class":583},[188,1299,1300],{"class":212}," worktree",[188,1302,589],{"class":212},[188,1304,1305],{"class":212}," .\u002Fworktrees\u002Fv2",[188,1307,1308],{"class":212}," feature\u002Flanding-v2\n",[188,1310,1311,1313,1315,1317,1320],{"class":190,"line":198},[188,1312,1206],{"class":583},[188,1314,1300],{"class":212},[188,1316,589],{"class":212},[188,1318,1319],{"class":212}," .\u002Fworktrees\u002Fv3",[188,1321,1322],{"class":212}," feature\u002Flanding-v3\n",[16,1324,1325],{},"Ahora abres dos terminales:",[357,1327,1329],{"title":1328},"terminal 1",[16,1330,1331],{},"~\u002Fworktrees\u002Fv2 ❯ claude",[357,1333,1335],{"title":1334},"terminal 2",[16,1336,1337],{},"~\u002Fworktrees\u002Fv3 ❯ claude",[16,1339,1340],{},"Dos Claudes trabajando en paralelo, en versiones distintas, sin tropezarse. Cuando te decides por una, mergeas y borras la otra.",[109,1342,1344],{"id":1343},"secretos-nunca-en-código","Secretos: nunca en código",[16,1346,1347],{},"Tres reglas duras que aplico en todo proyecto:",[60,1349,1351],{"number":62,"title":1350},"Nada de API keys en .env del repo",[16,1352,1353,1354,1356,1357,1359],{},"Si commiteas un ",[68,1355,1268],{}," aunque sea una vez, la llave queda en el historial de git para siempre. Aunque la borres después, sigue ahí. Mejor: ni los archivos ",[68,1358,1268],{}," viven en mi máquina local con valores reales.",[60,1361,1363,1404],{"number":74,"title":1362},"Local: todo en el gestor de claves del sistema",[132,1364,1365,1384,1394],{},[135,1366,1367,1370,1371,1374,1375,81,1378,81,1381,675],{},[22,1368,1369],{},"macOS:"," Keychain (mi caso). Convención de naming: ",[68,1372,1373],{},"[servicio]-[contexto]",". Ej: ",[68,1376,1377],{},"gitlab-terracomerce",[68,1379,1380],{},"santaia:gemini-key",[68,1382,1383],{},"santaia:elevenlabs-key",[135,1385,1386,1389,1390,1393],{},[22,1387,1388],{},"Windows:"," Credential Manager con la misma idea (",[68,1391,1392],{},"cmdkey"," en CLI).",[135,1395,1396,1399,1400,1403],{},[22,1397,1398],{},"Linux:"," ",[68,1401,1402],{},"secret-tool"," (libsecret) o KWallet.",[16,1405,1406],{},"El código consulta el gestor en runtime. La llave nunca toca el disco como texto plano.",[60,1408,1410],{"number":94,"title":1409},"Producción: variables del proveedor",[16,1411,1412],{},"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.",[11,1414,1416],{"title":1415,"type":380},"Próximamente: guía dedicada a secretos",[16,1417,1418],{},"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.",[16,1420,1421,1424],{},[22,1422,1423],{},"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.",[43,1426],{},[29,1428,1430],{"id":1429},"_6-el-proceso-vence-al-modelo","6 · El proceso vence al modelo",[16,1432,1433],{},"Esto es lo que más cuesta entender. Y es lo que más rinde cuando lo agarras.",[16,1435,1436,1437,1440],{},"El DORA Report 2025 dijo algo claro: ",[22,1438,1439],{},"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.",[16,1442,1443],{},[22,1444,1445],{},"Caos rápido sigue siendo caos.",[1447,1448],"diagram-pipeline",{},[109,1450,1452],{"id":1451},"el-pipeline-mínimo","El pipeline mínimo",[60,1454,1456],{"number":62,"title":1455},"Planificación",[16,1457,1458],{},"El agente propone cómo atacar la tarea. No escribe código todavía.",[60,1460,1462],{"number":74,"title":1461},"Revisión del plan",[16,1463,1464],{},"Tú lees el plan, lo ajustas, agregas restricciones. Acá decides si vale la pena.",[60,1466,1468],{"number":94,"title":1467},"Descomposición",[16,1469,1470],{},"El plan se parte en tareas ejecutables. Cada una con su entregable claro.",[60,1472,1475],{"number":1473,"title":1474},"4","Implementación vía subagentes",[16,1476,1477],{},"Las tareas corren aisladas y paralelizadas. Cada subagente entrega lo suyo.",[60,1479,1482],{"number":1480,"title":1481},"5","Code review",[16,1483,1484],{},"Revisión explícita antes de merge. Otro pase del agente o tú a mano.",[109,1486,1488],{"id":1487},"el-mismo-modelo-dos-resultados","El mismo modelo, dos resultados",[121,1490,1493,1521],{"bad-label":1491,"good-label":1492},"Sin proceso","Con proceso",[128,1494,1495,1501,1504],{"v-slot:bad":130},[16,1496,1497,1500],{},[22,1498,1499],{},"Petición:"," \"Constrúyeme una app\"",[16,1502,1503],{},"Resultado:",[132,1505,1506,1509,1512,1515,1518],{},[135,1507,1508],{},"300K tokens después...",[135,1510,1511],{},"Contexto desbordado ✗",[135,1513,1514],{},"Código no compila ✗",[135,1516,1517],{},"Tests no existen ✗",[135,1519,1520],{},"A empezar de cero ✗",[128,1522,1523,1528,1530],{"v-slot:good":130},[16,1524,1525,1527],{},[22,1526,1499],{}," plan → revisar → partir → ejecutar → review",[16,1529,1503],{},[132,1531,1532,1537,1542,1545],{},[135,1533,1534],{},[22,1535,1536],{},"9 tareas completadas",[135,1538,1539],{},[22,1540,1541],{},"9% de contexto usado",[135,1543,1544],{},"Tests pasando ✓",[135,1546,1547],{},"Commit listo ✓",[16,1549,1550],{},"Misma versión de Claude. Mismo prompt original. La diferencia fue el proceso.",[11,1552,1554,1557,1592],{"title":1553,"type":380},"Mi flujo personal",[16,1555,1556],{},"Lo que yo uso cada día con Claude Code:",[766,1558,1559,1568,1574,1580,1586],{},[135,1560,1561,1564,1565],{},[22,1562,1563],{},"JARVIS primero."," Antes de empezar, le pido que lea mi knowledge base personal para que no parta en blanco. ",[873,1566,1567],{},"(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.)",[135,1569,1570,1573],{},[22,1571,1572],{},"Plan."," Le pido el plan antes de tocar código. Lo discutimos.",[135,1575,1576,1579],{},[22,1577,1578],{},"Implementar."," Solo después.",[135,1581,1582,1585],{},[22,1583,1584],{},"humanizer."," Todo copy público pasa por mi skill que detecta lenguaje de IA y lo corrige.",[135,1587,1588,1591],{},[22,1589,1590],{},"\u002Fcommit."," Mi propio slash command para commits con Conventional Commits, sin atribución de IA.",[16,1593,1594,1595],{},"Cada uno de estos amerita su artículo. Por ahora quédate con la idea: ",[22,1596,1597],{},"siempre hay proceso. Nunca improvisas en frío.",[43,1599],{},[29,1601,1603],{"id":1602},"_7-el-kit-que-yo-sí-uso","7 · El kit que yo sí uso",[16,1605,1606,1607,1610],{},"Cada herramienta de esta lista se ganó su puesto porque la ",[22,1608,1609],{},"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.",[60,1612,1614],{"number":62,"title":1613},"humanizer (skill propio)",[16,1615,1616],{},"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í.",[60,1618,1620],{"number":74,"title":1619},"ui-ux-pro-max (skill)",[16,1621,1622],{},"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.",[60,1624,1626],{"number":94,"title":1625},"chrome-devtools MCP",[16,1627,1628],{},"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.",[60,1630,1632],{"number":1473,"title":1631},"start-project (skill propio)",[16,1633,1634],{},"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.",[60,1636,1638],{"number":1480,"title":1637},"context-engineering + sequential-thinking",[16,1639,1640],{},"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.",[60,1642,1645],{"number":1643,"title":1644},"6","code-review (skill)",[16,1646,1647],{},"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.",[60,1649,1652],{"number":1650,"title":1651},"7","\u002Fcommit (mi slash command)",[16,1653,1654,1655,1658,1659,1662],{},"Mi propio comando para commits. Conventional Commits, sin ",[68,1656,1657],{},"--no-verify",", sin ",[68,1660,1661],{},"--force",", sin atribución de IA en el mensaje. Aplica reglas duras automáticamente. Después de probarlo, no quieres commits sin él.",[11,1664,1666,1669,1683],{"title":1665,"type":890},"Pronto las traemos a la biblioteca",[16,1667,1668],{},"Cada una de estas skills va a tener su propia entrada acá en la biblioteca con:",[132,1670,1671,1674,1677,1680],{},[135,1672,1673],{},"Qué problema resuelve, en una frase.",[135,1675,1676],{},"Cuándo la uso yo y cuándo no.",[135,1678,1679],{},"Cómo se instala paso a paso.",[135,1681,1682],{},"Ejemplos reales de uso con su antes y después.",[16,1684,1685],{},"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.",[43,1687],{},[29,1689,1691],{"id":1690},"_8-tu-ruta-de-0-a-avanzado","8 · Tu ruta de 0 a avanzado",[16,1693,1694],{},"Esto no se aprende todo en un día. La progresión sana se ve así:",[1696,1697],"diagram-roadmap",{},[975,1699],{":percent":1700,"label":1701,"tone":1702},"10","Nivel 0 · Entender que agente ≠ chatbot","neutral",[975,1704],{":percent":1705,"label":1706,"tone":1702},"20","Nivel 1 · Instalar Claude Code + alias en .zshrc",[975,1708],{":percent":1709,"label":1710,"tone":1702},"30","Nivel 2 · CLAUDE.md (ahorro de tokens desde el día uno)",[975,1712],{":percent":1713,"label":1714,"tone":985},"45","Nivel 3 · MCP → Skills → Subagentes",[975,1716],{":percent":1717,"label":1718,"tone":985},"60","Nivel 4 · Monitorear contexto en cada sesión",[975,1720],{":percent":1721,"label":1722,"tone":985},"75","Nivel 5 · Deploy: Cloudflare Pages o Vercel",[975,1724],{":percent":1725,"label":1726,"tone":979},"88","Nivel 6 · Git, worktree y trabajos paralelos",[975,1728],{":percent":1729,"label":1730,"tone":979},"100","Nivel 7 · Proceso completo (plan → review)",[11,1732,1734,1741],{"title":1733,"type":380},"No hay nivel secreto",[16,1735,1736,1737,1740],{},"Si alguien te vende un atajo, está vendiendo. La diferencia entre el que rinde y el que no rinde es: ",[22,1738,1739],{},"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.",[16,1742,1743],{},"No es carrera de fondo. Es carrera de resistencia.",[43,1745],{},[29,1747,1749],{"id":1748},"cierre","Cierre",[16,1751,1752,1753,1756],{},"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 ",[22,1754,1755],{},"una sola cosa"," de las que viste.",[16,1758,1759],{},"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.",[16,1761,1762,1763,1770],{},"¿Lo aplicaste y te funcionó? ¿Te trabaste en algo? Cuéntame en ",[1764,1765,1769],"a",{"href":1766,"rel":1767},"https:\u002F\u002Finstagram.com\u002Fsantaia.lab",[1768],"nofollow","@santaia.lab",". Las dudas reales son el material del próximo artículo.",[1772,1773,1774],"style",{},"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":130,"searchDepth":198,"depth":198,"links":1776},[1777,1778,1783,1788,1795,1799,1805,1809,1810,1811],{"id":31,"depth":198,"text":32},{"id":47,"depth":198,"text":48,"children":1779},[1780,1781,1782],{"id":111,"depth":216,"text":112},{"id":170,"depth":216,"text":171},{"id":282,"depth":216,"text":283},{"id":295,"depth":198,"text":296,"children":1784},[1785,1786,1787],{"id":351,"depth":216,"text":352},{"id":368,"depth":216,"text":369},{"id":510,"depth":216,"text":511},{"id":550,"depth":198,"text":551,"children":1789},[1790,1791,1792,1793,1794],{"id":557,"depth":216,"text":558},{"id":681,"depth":216,"text":682},{"id":760,"depth":216,"text":761},{"id":801,"depth":216,"text":802},{"id":864,"depth":216,"text":865},{"id":954,"depth":198,"text":955,"children":1796},[1797,1798],{"id":1000,"depth":216,"text":1001},{"id":1014,"depth":216,"text":1015},{"id":1072,"depth":198,"text":1073,"children":1800},[1801,1802,1803,1804],{"id":1116,"depth":216,"text":1117},{"id":1185,"depth":216,"text":1186},{"id":1280,"depth":216,"text":1281},{"id":1343,"depth":216,"text":1344},{"id":1429,"depth":198,"text":1430,"children":1806},[1807,1808],{"id":1451,"depth":216,"text":1452},{"id":1487,"depth":216,"text":1488},{"id":1602,"depth":198,"text":1603},{"id":1690,"depth":198,"text":1691},{"id":1748,"depth":198,"text":1749},null,"Cómo trabajar con Claude Code de verdad. Configuración, contexto, skills, subagentes, deploy y proceso. Todo lo que necesitas en un solo lugar.","md",{},"intermedio","\u002Fbiblioteca\u002Fguia-claude-code-completa","2026-05-12",{"title":5,"description":1813},"biblioteca\u002Fguia-claude-code-completa",[1822,1823,357,1824,1825],"claude-code","agentes","productividad","completo","JEB4bKNVQeQo2qW9xa611zuatBbAdHDHTdbr_q-X_Ic",1781237778518]