[{"data":1,"prerenderedAt":1510},["ShallowReactive",2],{"search-navigation":3,"\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents":36,"\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents-surround":519},[4,8,12,16,20,24,28,32],{"title":5,"path":6,"stem":7},"Solving AI Agent Skills Fragmentation with npx skills","\u002Farticle\u002Fcentralised-the-skills-for-agents","en\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":9,"path":10,"stem":11},"Stop Exposing Your Vault: Secure NodeWarden with Cloudflare","\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","en\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":13,"path":14,"stem":15},"How to Self-Host a BitWarden Compatible Password Vault","\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare","en\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare",{"title":17,"path":18,"stem":19},"Google Antigravity 2 Hands-On: Setup & First Impressions","\u002Farticle\u002Fsetup-antigravity-2","en\u002Farticle\u002Fsetup-antigravity-2",{"title":21,"path":22,"stem":23},"NetSuite AI Connector Guide: MCP Setup & Use Cases","\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude","en\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude",{"title":25,"path":26,"stem":27},"Testing Claude Fable 5: A Financial Analysis Review","\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis","en\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis",{"title":29,"path":30,"stem":31},"Guide to Browser and Scheduler in Antigravity 2","\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2","en\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2",{"title":33,"path":34,"stem":35},"Antigravity 2 in Action: AI Agents, Skills, and MCP","\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2","en\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2",{"id":37,"title":38,"author":39,"body":40,"category":39,"date":501,"description":502,"extension":503,"image":504,"imageAlt":505,"isPublished":506,"meta":507,"minRead":384,"navigation":506,"path":515,"seo":516,"stem":517,"__hash__":518},"article\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents.md","Evita fragmentar habilidades de agentes usando npx skills",null,{"type":41,"value":42,"toc":491},"minimark",[43,57,60,85,105,110,120,137,147,154,157,191,198,209,228,237,248,252,259,280,283,291,301,307,310,330,339,343,349,435,441,445,481,487],[44,45,46,47,51,52,56],"p",{},"Si ejecutas varios agentes de IA o herramientas de línea de comandos (CLIs) en tu ordenador —ya sea Hermes, Claude Code, Codex, Antigravity, Kimi u otras herramientas compatibles—, es muy probable que te hayas topado con un problema bastante frustrante: ",[48,49,50],"strong",{},"la fragmentación de habilidades"," (skills). Cada agente o CLI mantiene su propia carpeta ",[53,54,55],"code",{},"skills"," independiente, lo que provoca duplicidad de instalaciones, desfase de versiones y una gran carga de gestión.",[44,58,59],{},"En nuestro trabajo diario con agentes de IA, solíamos enfrentarnos a los siguientes problemas:",[61,62,63,70,76],"ul",{},[64,65,66,69],"li",{},[48,67,68],{},"Múltiples instalaciones",": Instalar una nueva habilidad para un agente y luego tener que instalarla una y otra vez para los demás.",[64,71,72,75],{},[48,73,74],{},"Desfase de versiones"," (version drift): Personalizar o corregir una habilidad para un agente, olvidarse de actualizar los demás y acabar con agentes que se comportan de forma diferente.",[64,77,78,81,82,84],{},[48,79,80],{},"Gestión de habilidades",": Tener que revisar la carpeta ",[53,83,55],{}," de cada agente en todo el sistema para saber qué habilidades estaban realmente instaladas.",[44,86,87,88,91,92,94,95,104],{},"La herramienta de línea de comandos ",[53,89,90],{},"npx skills",", un CLI de código abierto desarrollado por Vercel, soluciona este problema permitiéndote gestionar una única carpeta ",[53,93,55],{}," centralizada y compartirla con todos tus agentes. Puedes echar un vistazo al ",[96,97,101,102],"a",{"href":98,"rel":99},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills",[100],"nofollow","repositorio de GitHub de ",[53,103,90],{},".",[106,107,109],"h2",{"id":108},"carpeta-centralizada","Carpeta centralizada",[44,111,112,113,115,116,119],{},"La idea es sencilla: si apuntamos la carpeta ",[53,114,55],{}," de cada agente a la ",[48,117,118],{},"misma carpeta física",", el problema de la fragmentación desaparece por completo.",[44,121,122,123,125,126,129,130,133,134,136],{},"Al instalar una habilidad mediante el CLI de ",[53,124,90],{},", esta se descarga en la carpeta centralizada de tu equipo (",[53,127,128],{},"~\u002F.agents\u002Fskills","). A continuación, el CLI crea un ",[48,131,132],{},"enlace simbólico"," (symlink, que funciona como un puntero directo) desde la carpeta ",[53,135,55],{}," de cada agente hacia esa carpeta centralizada.",[44,138,139,140,143,144,146],{},"Por ejemplo, cuando Claude Code busca habilidades en ",[53,141,142],{},"~\u002F.claude\u002Fskills\u002F",", se le redirige de forma transparente a ",[53,145,128],{},". Si realizas cualquier ajuste en una habilidad dentro de esa carpeta centralizada, todos los agentes verán la actualización de forma instantánea. Sin copias manuales, sin scripts de sincronización y sin desperdiciar espacio en el disco.",[106,148,150,151,153],{"id":149},"instalación-de-npx-skills-y-adición-de-una-habilidad","Instalación de ",[53,152,90],{}," y adición de una habilidad",[44,155,156],{},"Ejecuta el siguiente comando para empezar y añadir nuestra primera habilidad:",[158,159,164],"pre",{"className":160,"code":161,"language":162,"meta":163,"style":163},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill --skill excalidraw-diagram\n","bash","",[53,165,166],{"__ignoreMap":163},[167,168,171,175,179,182,185,188],"span",{"class":169,"line":170},"line",1,[167,172,174],{"class":173},"sBMFI","npx",[167,176,178],{"class":177},"sfazB"," skills",[167,180,181],{"class":177}," add",[167,183,184],{"class":177}," https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill",[167,186,187],{"class":177}," --skill",[167,189,190],{"class":177}," excalidraw-diagram\n",[44,192,193],{},[194,195],"img",{"alt":196,"src":197},"Uso del comando npx skills add para instalar una habilidad desde GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-add-command.webp",[44,199,200,201,204,205],{},"El CLI te preguntará si deseas configurar esto para un proyecto específico o de forma global. Por lo general, recomendamos elegir ",[48,202,203],{},"global"," para que todos los agentes compatibles puedan acceder a ella:\n",[194,206],{"alt":207,"src":208},"Selección de la opción de instalación global en la CLI de npx skills","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-install-global-prompt.webp",[44,210,211,212,215,216,219,220,224],{},"A continuación, asegúrate de seleccionar ",[53,213,214],{},"Symlink"," para garantizar una ",[48,217,218],{},"única fuente de verdad",":\n",[194,221],{"alt":222,"src":223},"Elección del método de enlace simbólico para sincronizar habilidades","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-symlink-option.webp",[194,225],{"alt":226,"src":227},"Confirmación de instalación exitosa y creación de enlace simbólico en la CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-installation-completed.webp",[44,229,230,231,219,233],{},"Una vez hecho esto, podemos verificar que la habilidad se ha instalado en la carpeta centralizada en ",[53,232,128],{},[194,234],{"alt":235,"src":236},"Verificación de habilidades instaladas en el directorio centralizado","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-directory-verification.webp",[44,238,239,240,243,244],{},"¡Abre el CLI de Kimi (o cualquier otro agente) y la habilidad ",[53,241,242],{},"excalidraw-diagram"," estará disponible y lista para usar!\n",[194,245],{"alt":246,"src":247},"Kimi CLI mostrando las habilidades centralizadas cargadas y listas","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skills-integration.webp",[106,249,251],{"id":250},"creación-de-una-habilidad-desde-cero","Creación de una habilidad desde cero",[44,253,254,255,258],{},"Para crear tus propias habilidades, puedes utilizar la herramienta ",[53,256,257],{},"skill-creator"," de Anthropic. Instálala de la siguiente manera:",[158,260,262],{"className":160,"code":261,"language":162,"meta":163,"style":163},"npx skills add https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills --skill skill-creator\n",[53,263,264],{"__ignoreMap":163},[167,265,266,268,270,272,275,277],{"class":169,"line":170},[167,267,174],{"class":173},[167,269,178],{"class":177},[167,271,181],{"class":177},[167,273,274],{"class":177}," https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills",[167,276,187],{"class":177},[167,278,279],{"class":177}," skill-creator\n",[44,281,282],{},"Ahora, en Kimi o en cualquier otro agente, introduce la siguiente instrucción (prompt):",[158,284,289],{"className":285,"code":287,"language":288},[286],"language-text","Use the skill-creator to help me build a skill for creating a product landing page\n","text",[53,290,287],{"__ignoreMap":163},[44,292,293,294,296,297],{},"¡Kimi o tu agente detectará automáticamente el ",[53,295,257],{}," y te guiará paso a paso por todo el proceso!\n",[194,298],{"alt":299,"src":300},"Ejecución del asistente interactivo skill-creator en Kimi CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skill-creator-setup.webp",[106,302,304,305],{"id":303},"otros-comandos-útiles-de-npx-skills","Otros comandos útiles de ",[53,306,90],{},[44,308,309],{},"Aquí tienes algunos otros comandos prácticos:",[61,311,312,318,324],{},[64,313,314,317],{},[53,315,316],{},"npx skills ls -g",": Muestra todas las habilidades instaladas globalmente",[64,319,320,323],{},[53,321,322],{},"npx skills update",": Mantén todas tus habilidades actualizadas con un solo comando",[64,325,326,329],{},[53,327,328],{},"npx skills remove",": Desinstala o elimina una habilidad de forma interactiva",[44,331,332,333,338],{},"Por favor, consulta el ",[96,334,101,336],{"href":98,"rel":335},[100],[53,337,90],{}," para ver más comandos y referencias.",[106,340,342],{"id":341},"yendo-un-paso-más-allá","Yendo un paso más allá",[44,344,345,346,348],{},"Dado que ahora todas las habilidades se encuentran en un único lugar (",[53,347,128],{},"), podemos inicializarlo como un repositorio Git y subirlo a GitHub o GitLab.",[158,350,352],{"className":160,"code":351,"language":162,"meta":163,"style":163},"cd ~\u002F.agents\u002Fskills\ngit init\ngit add .\ngit commit -m \"Initial skills folder\"\ngit remote add origin https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\ngit push -u origin main\n",[53,353,354,363,372,382,403,419],{"__ignoreMap":163},[167,355,356,360],{"class":169,"line":170},[167,357,359],{"class":358},"s2Zo4","cd",[167,361,362],{"class":177}," ~\u002F.agents\u002Fskills\n",[167,364,366,369],{"class":169,"line":365},2,[167,367,368],{"class":173},"git",[167,370,371],{"class":177}," init\n",[167,373,375,377,379],{"class":169,"line":374},3,[167,376,368],{"class":173},[167,378,181],{"class":177},[167,380,381],{"class":177}," .\n",[167,383,385,387,390,393,397,400],{"class":169,"line":384},4,[167,386,368],{"class":173},[167,388,389],{"class":177}," commit",[167,391,392],{"class":177}," -m",[167,394,396],{"class":395},"sMK4o"," \"",[167,398,399],{"class":177},"Initial skills folder",[167,401,402],{"class":395},"\"\n",[167,404,406,408,411,413,416],{"class":169,"line":405},5,[167,407,368],{"class":173},[167,409,410],{"class":177}," remote",[167,412,181],{"class":177},[167,414,415],{"class":177}," origin",[167,417,418],{"class":177}," https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\n",[167,420,422,424,427,430,432],{"class":169,"line":421},6,[167,423,368],{"class":173},[167,425,426],{"class":177}," push",[167,428,429],{"class":177}," -u",[167,431,415],{"class":177},[167,433,434],{"class":177}," main\n",[44,436,437,438,104],{},"De este modo, dispondremos de un historial completo de todos los cambios en las habilidades, lo que significa que podremos revertirlos fácilmente si una actualización rompe algo. Además, podemos sincronizar las habilidades sin problemas entre varios equipos (como un portátil y un ordenador de sobremesa) ejecutando un rápido ",[53,439,440],{},"git pull",[106,442,444],{"id":443},"aspectos-a-tener-en-cuenta-seguridad-y-riesgos","Aspectos a tener en cuenta (Seguridad y riesgos)",[61,446,447,453,459,469,475],{},[64,448,449,452],{},[48,450,451],{},"La compatibilidad varía",": No todas las plataformas de agentes admiten aún todas las funciones (como hooks personalizados o herramientas permitidas específicas). Una habilidad puede funcionar de maravilla en un agente pero quedarse corta en otro.",[64,454,455,458],{},[48,456,457],{},"Confía en la fuente",": Instala únicamente habilidades procedentes de fuentes de confianza.",[64,460,461,464,465,468],{},[48,462,463],{},"Revisa antes de ejecutar",": Si utilizas una habilidad personalizada o de terceros, revisa los archivos (especialmente en la carpeta ",[53,466,467],{},"scripts\u002F",") antes de permitir que tu agente la ejecute.",[64,470,471,474],{},[48,472,473],{},"Principio de mínimo privilegio",": Intenta no conceder a una habilidad más permisos de herramientas o acceso del que sea estrictamente necesario para realizar su trabajo.",[64,476,477,480],{},[48,478,479],{},"Nunca expongas credenciales",": Mantén tus claves API y secretos fuera de los archivos de tus habilidades.",[44,482,483,484,486],{},"Configurar una \"fuente única de verdad\" centralizada con ",[53,485,90],{}," ha evitado frustraciones y duplicidad de trabajo a nuestro equipo. Te recomendamos encarecidamente que lo pruebes; ¡las capacidades de la IA se multiplican a medida que crecen tus habilidades!",[488,489,490],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":163,"searchDepth":365,"depth":365,"links":492},[493,494,496,497,499,500],{"id":108,"depth":365,"text":109},{"id":149,"depth":365,"text":495},"Instalación de npx skills y adición de una habilidad",{"id":250,"depth":365,"text":251},{"id":303,"depth":365,"text":498},"Otros comandos útiles de npx skills",{"id":341,"depth":365,"text":342},{"id":443,"depth":365,"text":444},"2026-06-04","¿Usas varios agentes de IA como Claude Code o Kimi? Aprende a solucionar la fragmentación de habilidades con una sola carpeta centralizada usando npx skills.","md","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002FEvita-fragmentar-habilidades-de-agentes-usando-npx-skills.webp","Cómo centralizar habilidades de agentes de IA usando npx skills CLI",true,{"schemaOrg":508,"robots":512,"sitemap":513},[509],{"@type":510,"headline":511,"description":502},"TechArticle","Cómo solucionar la fragmentación de habilidades de agentes con npx skills","index, follow",{"lastmod":514},"2026-06-03","\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":511,"description":502,"ogTitle":38,"ogDescription":502,"twitterTitle":38,"twitterDescription":502},"es\u002Farticle\u002Fcentralised-the-skills-for-agents","VrUv-QeONpCS6-Z7scCLHRmX55DthSHm8mgJMWPTPt0",[520,772],{"id":521,"title":522,"author":39,"body":523,"category":39,"date":759,"description":760,"extension":503,"image":761,"imageAlt":762,"isPublished":506,"meta":763,"minRead":767,"navigation":506,"path":768,"seo":769,"stem":770,"__hash__":771},"article\u002Fes\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare.md","Deja de exponer tu bóveda: Protege NodeWarden con Cloudflare",{"type":41,"value":524,"toc":755},[525,528,531,545,550,557,560,564,567,571,602,606,609,676,680,683,748,752],[44,526,527],{},"El momento en que tu instancia de NodeWarden se expone al público en Internet, comienza a atraer a miles de bots automatizados que buscan vulnerabilidades las 24 horas del día, los 7 días de la semana. Para proteger tus datos confidenciales, necesitas aplicar el nivel máximo de bloqueo posible en tu instancia de NodeWarden.",[44,529,530],{},"Para asegurar tu instancia de NodeWarden, puedes usar una de estas dos funciones de Cloudflare:",[61,532,533,539],{},[64,534,535,538],{},[48,536,537],{},"Cloudflare IP Access Rules (Reglas de acceso por IP):"," Te permite bloquear, solicitar un desafío de seguridad (challenge) o permitir el tráfico en función de direcciones IP o países específicos.",[64,540,541,544],{},[48,542,543],{},"Cloudflare Zero Trust (Recomendado):"," Actúa como una pasarela segura que hace que tu instancia de NodeWarden sea completamente invisible al público, permitiendo el acceso únicamente a los usuarios autorizados.",[546,547,549],"h4",{"id":548},"por-qué-recomendamos-cloudflare-zero-trust","Por qué recomendamos Cloudflare Zero Trust",[44,551,552,553,556],{},"Aconsejamos encarecidamente usar Cloudflare Zero Trust porque las reglas de acceso por IP están vinculadas a direcciones IP o países, lo que significa que tendrías que actualizar manualmente tus reglas cada vez que viajes o si tienes una IP dinámica. Cloudflare Zero Trust, por el contrario, se basa en tu ",[48,554,555],{},"identidad",", no en tu ubicación, ofreciéndote un acceso fluido y seguro a NodeWarden.",[558,559],"hr",{},[106,561,563],{"id":562},"guía-de-configuración","Guía de Configuración",[44,565,566],{},"Sigue estos pasos para configurar Cloudflare Zero Trust para NodeWarden.",[546,568,570],{"id":569},"fase-1-primeros-pasos","Fase 1: Primeros pasos",[572,573,574,581,588,595],"ol",{},[64,575,576,577],{},"En tu panel de control de Cloudflare, haz clic en 'Zero Trust' en el menú de la izquierda.\n",[194,578],{"alt":579,"src":580},"Barra lateral del panel de Cloudflare que muestra la opción Zero Trust seleccionada en el menú de navegación.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-dashboard-zero-trust-sidebar.webp",[64,582,583,584],{},"Haz clic en 'Access controls' y luego en 'Applications'.\n",[194,585],{"alt":586,"src":587},"Menú de navegación de Cloudflare Zero Trust con la sección de Controles de acceso expandida.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-access-controls-menu.webp",[64,589,590,591],{},"Es posible que se te pida elegir un plan ('Choose a plan').\n",[194,592],{"alt":593,"src":594},"Pantalla de configuración de la cuenta de Cloudflare Zero Trust que solicita al usuario elegir un plan de suscripción.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-choose-plan-setup.webp",[64,596,597,598],{},"Haz clic en el botón 'Choose a plan' y selecciona 'Zero Trust Free'.\n",[194,599],{"alt":600,"src":601},"La página de detalles del plan Zero Trust Free en Cloudflare, destacando el botón Seleccionar plan.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-free-plan-selection.webp",[546,603,605],{"id":604},"fase-2-protege-tu-interfaz-web","Fase 2: Protege tu interfaz web",[44,607,608],{},"Primero, crearemos una aplicación para proteger el panel de control web de NodeWarden.",[572,610,611,618,625,632,639,646,653,656,663,666],{},[64,612,613,614],{},"Haz clic en 'Create new application' para crear la primera aplicación.\n",[194,615],{"alt":616,"src":617},"Panel de aplicaciones de Cloudflare Access con el botón Crear nueva aplicación.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-create-new-application.webp",[64,619,620,621],{},"Elige 'Self-hosted and private'.\n",[194,622],{"alt":623,"src":624},"El modal Añadir una aplicación en Cloudflare Access con el tipo de aplicación Autohospedada y privada seleccionado.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-add-self-hosted-application.webp",[64,626,627,628],{},"Introduce el nombre de dominio de NodeWarden.\n",[194,629],{"alt":630,"src":631},"Pantalla de configuración de la aplicación de Cloudflare Access que muestra el nombre de host público configurado como warden.techvoyage.dev.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-public-hostname.webp",[64,633,634,635],{},"Haz clic en 'Create new policy' para crear una política.\n",[194,636],{"alt":637,"src":638},"Página de políticas de Cloudflare Access que muestra que no se han añadido políticas y un botón para crear una nueva política.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-no-policies-create-button.webp",[64,640,641,642],{},"Selecciona 'Emails' e introduce un correo electrónico en 'Policy rules'.\n",[194,643],{"alt":644,"src":645},"Pantalla de configuración de la regla de política de Cloudflare Access con una dirección de correo electrónico especificada como criterio de inclusión.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-email.webp",[64,647,648,649],{},"Introduce un nombre y selecciona 'Allow' en 'Policy details'.\n",[194,650],{"alt":651,"src":652},"Pantalla de detalles de la política de Cloudflare Access que muestra el nombre de la política NodeWarden-Web y la acción configurada en Permitir.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-allow.webp",[64,654,655],{},"Haz clic en 'Save Policy' para guardar la política.",[64,657,658,659],{},"Introduce un nombre y selecciona '1 month' en la sección 'Details'.\n",[194,660],{"alt":661,"src":662},"Resumen final de la configuración para una aplicación de Cloudflare Access llamada NodeWarden-Web con una duración de sesión de un mes.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-final-details.webp",[64,664,665],{},"Haz clic en 'Create' para crear la aplicación.",[64,667,668,671,672],{},[48,669,670],{},"Pruébalo:"," Abre el dominio en el navegador web; verás que 'Cloudflare Access' te pide un correo electrónico.\n",[194,673],{"alt":674,"src":675},"Una vista previa de la pantalla de inicio de sesión de Cloudflare Access para NodeWarden-Web, solicitando una dirección de correo electrónico.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-login-screen-preview.webp",[546,677,679],{"id":678},"fase-3-permitir-la-sincronización-de-clientes-bitwarden-omitir-api","Fase 3: Permitir la sincronización de clientes BitWarden (Omitir API)",[44,681,682],{},"Las aplicaciones móviles y de escritorio de BitWarden no pueden procesar la pantalla de inicio de sesión por correo de Cloudflare, por lo que necesitamos crear una segunda aplicación que permita al tráfico omitir (bypass) la pantalla de inicio de sesión específicamente para la sincronización de la API.",[572,684,685,696,712,717,724,731,734,741],{},[64,686,687,688,691,692,695],{},"Vuelve a Applications y haz clic en ",[48,689,690],{},"Create new application",", eligiendo ",[48,693,694],{},"Self-hosted and private"," nuevamente.",[64,697,698,699,703,704,707,708],{},"Introduce 'api\u002F",[700,701,702],"em",{},"', 'identity\u002F","', 'notifications\u002F",[700,705,706],{},"' e 'icons\u002F","' en Destinations.\n",[194,709],{"alt":710,"src":711},"Configuración de múltiples nombres de host públicos para omitir la API en Cloudflare Access, incluyendo las rutas api, identity, notifications e icons.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-bypass-destinations.webp",[64,713,714,715],{},"Haz clic en 'Create new policy' para crear la política.\n",[194,716],{"alt":637,"src":638},[64,718,719,720],{},"Selecciona 'Everyone' en 'Policy rules'.\n",[194,721],{"alt":722,"src":723},"Configuración de la regla de política de Cloudflare Access con Todos seleccionado para permitir un acceso amplio a rutas específicas.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-everyone.webp",[64,725,726,727],{},"Introduce un nombre y selecciona 'Bypass' en 'Policy details'.\n",[194,728],{"alt":729,"src":730},"Detalles de la política de Cloudflare Access para NodeWarden-API con la acción configurada en Omitir.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-bypass.webp",[64,732,733],{},"Haz clic en 'Save Policy' para guardarla.",[64,735,736,737],{},"Introduce un nombre y selecciona '1 month' en 'Session Duration'.\n",[194,738],{"alt":739,"src":740},"Pantalla de configuración final para la aplicación NodeWarden-API en Cloudflare Access.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-application-final-details.webp",[64,742,743,744],{},"Ahora deberías tener 2 aplicaciones creadas.\n",[194,745],{"alt":746,"src":747},"El panel de aplicaciones de Cloudflare Access que muestra las aplicaciones Web y API creadas con éxito.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-applications-list-final.webp",[106,749,751],{"id":750},"consideraciones-finales","Consideraciones finales",[44,753,754],{},"Solo recuerda que Cloudflare es tu escudo exterior. Para mantener una bóveda (vault) verdaderamente segura, asegúrate de seguir utilizando una contraseña maestra fuerte, habilitar la Autenticación de Dos Factores (2FA) y mantener segura tu cuenta de Cloudflare.",{"title":163,"searchDepth":365,"depth":365,"links":756},[757,758],{"id":562,"depth":365,"text":563},{"id":750,"depth":365,"text":751},"2026-05-27","El momento en que tu instancia de NodeWarden se expone al público en Internet, comienza a atraer a miles de bots automatizados que buscan vulnerabilidades las 24 horas del día, los 7 días de la semana.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fasegurar-nodewarden-integracion-cloudflare-guia.webp","Miniatura de una guía paso a paso para asegurar una bóveda de NodeWarden con integración de Cloudflare, que muestra una caja fuerte digital con candado y un rack de servidores protegido.",{"schemaOrg":764,"robots":512,"sitemap":766},[765],{"@type":510,"headline":522,"description":760},{"lastmod":759},8,"\u002Fes\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":522,"description":760,"ogTitle":522,"ogDescription":760,"twitterTitle":522,"twitterDescription":760},"es\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","MC2N3JO7U7YcBakLu6bcAT8cjo_IogYFV2UPXwCv85s",{"id":773,"title":774,"author":39,"body":775,"category":39,"date":1498,"description":1499,"extension":503,"image":1500,"imageAlt":1501,"isPublished":506,"meta":1502,"minRead":384,"navigation":506,"path":1506,"seo":1507,"stem":1508,"__hash__":1509},"article\u002Fes\u002Farticle\u002Fsetup-antigravity-2.md","Google Antigravity 2: Instalación y Primeras Impresiones",{"type":41,"value":776,"toc":1489},[777,788,793,796,807,809,813,822,828,835,841,848,858,860,864,871,877,880,886,890,893,907,921,928,940,950,964,966,970,973,987,990,1332,1342,1348,1358,1364,1370,1376,1378,1382,1392,1403,1410,1416,1422,1441,1444,1450,1452,1456,1459,1465,1468,1474,1476,1480,1483,1486],[44,778,779,780,783,784,787],{},"At Google I\u002FO 2026, Google anunció ",[48,781,782],{},"Antigravity 2",", una aplicación de escritorio independiente que posiciona al ",[48,785,786],{},"agente"," como la interfaz de usuario principal. Solo tienes que describir lo que quieres conseguir y el agente generará un plan, lo dividirá en subtareas manejables y las ejecutará.",[789,790,792],"h3",{"id":791},"requisitos-previos","Requisitos previos",[44,794,795],{},"Antes de empezar, necesitarás:",[61,797,798,801,804],{},[64,799,800],{},"Un ordenador (en esta guía utilizamos macOS)",[64,802,803],{},"Un navegador web moderno",[64,805,806],{},"Una cuenta de Gmail",[558,808],{},[106,810,812],{"id":811},"_1-instalar-antigravity-2","1. Instalar Antigravity 2",[44,814,815,816,821],{},"Descarga Antigravity 2 desde ",[96,817,820],{"href":818,"rel":819},"https:\u002F\u002Fantigravity.google\u002Fdownload",[100],"antigravity.google"," e instálalo en tu ordenador. La primera vez que lo inicies, se te pedirá que inicies sesión con tu cuenta de Gmail.",[44,823,824],{},[194,825],{"alt":826,"src":827},"Pantalla de inicio de sesión con cuenta de Google en el primer lanzamiento de Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-gmail-login.webp",[44,829,830,831,834],{},"Una vez iniciada la sesión, verás un ",[48,832,833],{},"botón de voz"," en el campo de texto, que te permitirá grabar comandos de voz en lugar de tener que escribirlos.",[44,836,837],{},[194,838],{"alt":839,"src":840},"Botón de grabación de voz en el campo de texto de Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-voice-input-field.webp",[44,842,843,844,847],{},"Antigravity 2 también introduce el concepto de ",[48,845,846],{},"Proyecto"," (Project), que puede abarcar varias carpetas locales y funcionar con sus propios ajustes y permisos específicos del agente.",[44,849,850,854],{},[194,851],{"alt":852,"src":853},"Menú de selección y configuración de proyectos en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-menu.webp",[194,855],{"alt":856,"src":857},"Creación de un nuevo proyecto de IA con ruta de carpeta en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-creation.webp",[558,859],{},[106,861,863],{"id":862},"_2-configurar-servidores-mcp-y-plugins","2. Configurar servidores MCP y plugins",[44,865,866,867,870],{},"Todos los servidores del Protocolo de Contexto del Modelo (MCP), plugins y habilidades (skills) se gestionan en la sección ",[48,868,869],{},"Customizations"," (Personalizaciones) del menú de configuración:",[44,872,873],{},[194,874],{"alt":875,"src":876},"Pestaña de personalizaciones en configuración para gestionar servidores MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-settings-customizations.webp",[44,878,879],{},"Actualmente, los únicos plugins disponibles son de Google, pero esperemos que se publiquen más en el futuro.",[44,881,882],{},[194,883],{"alt":884,"src":885},"Lista de plugins oficiales de Google e integraciones en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-google-plugins-list.webp",[546,887,889],{"id":888},"añadir-un-servidor-mcp-disponible","Añadir un servidor MCP disponible",[44,891,892],{},"Para instalar un servidor MCP preconfigurado (por ejemplo, GitHub):",[572,894,895,901],{},[64,896,897,898,104],{},"Haz clic en ",[48,899,900],{},"Add MCP+",[64,902,903,904,104],{},"Selecciona ",[48,905,906],{},"GitHub MCP Server",[44,908,909,913,917],{},[194,910],{"alt":911,"src":912},"Añadir un servidor MCP preconfigurado haciendo clic en el botón Add MCP plus","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-mcp-button.webp",[194,914],{"alt":915,"src":916},"Selección de GitHub MCP Server de la lista de integraciones disponibles","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-select-github-mcp.webp",[194,918],{"alt":919,"src":920},"Asistente de configuración y autorización de GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-setup.webp",[44,922,923,924],{},"La configuración del servidor MCP de GitHub finalizó con un error:\n",[194,925],{"alt":926,"src":927},"Error de configuración durante el proceso de instalación de GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-error.webp",[44,929,930,931,933,934,936,937,939],{},"Dado que ya tenemos ",[53,932,368],{}," instalado en macOS, podemos solucionar esto ejecutando el comando ",[53,935,368],{}," directamente en la conversación. No obstante, primero debemos añadir explícitamente el comando ",[53,938,368],{}," a los permisos de Antigravity.",[44,941,942,946],{},[194,943],{"alt":944,"src":945},"Diálogo de solicitud para añadir el comando git a los permisos","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-1.webp",[194,947],{"alt":948,"src":949},"Concesión de permiso de ejecución del comando git en configuración","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-2.webp",[44,951,952,953,955,956,960],{},"Probemos el comando para ver si ",[53,954,368],{}," ya funciona correctamente:\n",[194,957],{"alt":958,"src":959},"Envío de solicitud de git status dentro del cuadro de chat de la IA","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-1.webp",[194,961],{"alt":962,"src":963},"Ejecución exitosa del comando git status dentro del chat","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-2.webp",[558,965],{},[106,967,969],{"id":968},"_3-añadir-servidores-mcp-personalizados","3. Añadir servidores MCP personalizados",[44,971,972],{},"Si el servidor MCP que buscas no está en la lista predeterminada, puedes añadirlo editando directamente el archivo de configuración de MCP. Dicha configuración se encuentra en:",[158,974,976],{"className":160,"code":975,"language":162,"meta":163,"style":163},"~\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[53,977,978],{"__ignoreMap":163},[167,979,980,983],{"class":169,"line":170},[167,981,982],{"class":395},"~",[167,984,986],{"class":985},"sTEyZ","\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[44,988,989],{},"Como ejemplo, vamos a añadir algunos servidores MCP de Cloudflare. Dado que Cloudflare admite el registro dinámico de clientes, solo necesitamos activar OAuth. Añade lo siguiente a tu configuración JSON:",[158,991,995],{"className":992,"code":993,"language":994,"meta":163,"style":163},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","    \"cloudflare-api\": {\n      \"serverUrl\": \"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-docs\": {\n      \"serverUrl\": \"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp\"\n    },\n    \"cloudflare-bindings\": {\n      \"serverUrl\": \"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-builds\": {\n      \"serverUrl\": \"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-observability\": {\n      \"serverUrl\": \"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    }\n","json",[53,996,997,1014,1038,1052,1067,1072,1079,1093,1110,1117,1131,1151,1164,1177,1182,1189,1203,1223,1236,1249,1254,1261,1275,1295,1308,1321,1326],{"__ignoreMap":163},[167,998,999,1002,1005,1008,1011],{"class":169,"line":170},[167,1000,1001],{"class":395},"    \"",[167,1003,1004],{"class":177},"cloudflare-api",[167,1006,1007],{"class":395},"\"",[167,1009,1010],{"class":985},": ",[167,1012,1013],{"class":395},"{\n",[167,1015,1016,1019,1023,1025,1028,1030,1033,1035],{"class":169,"line":365},[167,1017,1018],{"class":395},"      \"",[167,1020,1022],{"class":1021},"spNyl","serverUrl",[167,1024,1007],{"class":395},[167,1026,1027],{"class":395},":",[167,1029,396],{"class":395},[167,1031,1032],{"class":177},"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp",[167,1034,1007],{"class":395},[167,1036,1037],{"class":395},",\n",[167,1039,1040,1042,1045,1047,1049],{"class":169,"line":374},[167,1041,1018],{"class":395},[167,1043,1044],{"class":1021},"oauth",[167,1046,1007],{"class":395},[167,1048,1027],{"class":395},[167,1050,1051],{"class":395}," {\n",[167,1053,1054,1057,1060,1062,1064],{"class":169,"line":384},[167,1055,1056],{"class":395},"        \"",[167,1058,1059],{"class":173},"enabled",[167,1061,1007],{"class":395},[167,1063,1027],{"class":395},[167,1065,1066],{"class":395}," true\n",[167,1068,1069],{"class":169,"line":405},[167,1070,1071],{"class":395},"      }\n",[167,1073,1074,1077],{"class":169,"line":421},[167,1075,1076],{"class":395},"    }",[167,1078,1037],{"class":985},[167,1080,1082,1084,1087,1089,1091],{"class":169,"line":1081},7,[167,1083,1001],{"class":395},[167,1085,1086],{"class":177},"cloudflare-docs",[167,1088,1007],{"class":395},[167,1090,1010],{"class":985},[167,1092,1013],{"class":395},[167,1094,1095,1097,1099,1101,1103,1105,1108],{"class":169,"line":767},[167,1096,1018],{"class":395},[167,1098,1022],{"class":1021},[167,1100,1007],{"class":395},[167,1102,1027],{"class":395},[167,1104,396],{"class":395},[167,1106,1107],{"class":177},"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp",[167,1109,402],{"class":395},[167,1111,1113,1115],{"class":169,"line":1112},9,[167,1114,1076],{"class":395},[167,1116,1037],{"class":985},[167,1118,1120,1122,1125,1127,1129],{"class":169,"line":1119},10,[167,1121,1001],{"class":395},[167,1123,1124],{"class":177},"cloudflare-bindings",[167,1126,1007],{"class":395},[167,1128,1010],{"class":985},[167,1130,1013],{"class":395},[167,1132,1134,1136,1138,1140,1142,1144,1147,1149],{"class":169,"line":1133},11,[167,1135,1018],{"class":395},[167,1137,1022],{"class":1021},[167,1139,1007],{"class":395},[167,1141,1027],{"class":395},[167,1143,396],{"class":395},[167,1145,1146],{"class":177},"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp",[167,1148,1007],{"class":395},[167,1150,1037],{"class":395},[167,1152,1154,1156,1158,1160,1162],{"class":169,"line":1153},12,[167,1155,1018],{"class":395},[167,1157,1044],{"class":1021},[167,1159,1007],{"class":395},[167,1161,1027],{"class":395},[167,1163,1051],{"class":395},[167,1165,1167,1169,1171,1173,1175],{"class":169,"line":1166},13,[167,1168,1056],{"class":395},[167,1170,1059],{"class":173},[167,1172,1007],{"class":395},[167,1174,1027],{"class":395},[167,1176,1066],{"class":395},[167,1178,1180],{"class":169,"line":1179},14,[167,1181,1071],{"class":395},[167,1183,1185,1187],{"class":169,"line":1184},15,[167,1186,1076],{"class":395},[167,1188,1037],{"class":985},[167,1190,1192,1194,1197,1199,1201],{"class":169,"line":1191},16,[167,1193,1001],{"class":395},[167,1195,1196],{"class":177},"cloudflare-builds",[167,1198,1007],{"class":395},[167,1200,1010],{"class":985},[167,1202,1013],{"class":395},[167,1204,1206,1208,1210,1212,1214,1216,1219,1221],{"class":169,"line":1205},17,[167,1207,1018],{"class":395},[167,1209,1022],{"class":1021},[167,1211,1007],{"class":395},[167,1213,1027],{"class":395},[167,1215,396],{"class":395},[167,1217,1218],{"class":177},"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp",[167,1220,1007],{"class":395},[167,1222,1037],{"class":395},[167,1224,1226,1228,1230,1232,1234],{"class":169,"line":1225},18,[167,1227,1018],{"class":395},[167,1229,1044],{"class":1021},[167,1231,1007],{"class":395},[167,1233,1027],{"class":395},[167,1235,1051],{"class":395},[167,1237,1239,1241,1243,1245,1247],{"class":169,"line":1238},19,[167,1240,1056],{"class":395},[167,1242,1059],{"class":173},[167,1244,1007],{"class":395},[167,1246,1027],{"class":395},[167,1248,1066],{"class":395},[167,1250,1252],{"class":169,"line":1251},20,[167,1253,1071],{"class":395},[167,1255,1257,1259],{"class":169,"line":1256},21,[167,1258,1076],{"class":395},[167,1260,1037],{"class":985},[167,1262,1264,1266,1269,1271,1273],{"class":169,"line":1263},22,[167,1265,1001],{"class":395},[167,1267,1268],{"class":177},"cloudflare-observability",[167,1270,1007],{"class":395},[167,1272,1010],{"class":985},[167,1274,1013],{"class":395},[167,1276,1278,1280,1282,1284,1286,1288,1291,1293],{"class":169,"line":1277},23,[167,1279,1018],{"class":395},[167,1281,1022],{"class":1021},[167,1283,1007],{"class":395},[167,1285,1027],{"class":395},[167,1287,396],{"class":395},[167,1289,1290],{"class":177},"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp",[167,1292,1007],{"class":395},[167,1294,1037],{"class":395},[167,1296,1298,1300,1302,1304,1306],{"class":169,"line":1297},24,[167,1299,1018],{"class":395},[167,1301,1044],{"class":1021},[167,1303,1007],{"class":395},[167,1305,1027],{"class":395},[167,1307,1051],{"class":395},[167,1309,1311,1313,1315,1317,1319],{"class":169,"line":1310},25,[167,1312,1056],{"class":395},[167,1314,1059],{"class":173},[167,1316,1007],{"class":395},[167,1318,1027],{"class":395},[167,1320,1066],{"class":395},[167,1322,1324],{"class":169,"line":1323},26,[167,1325,1071],{"class":395},[167,1327,1329],{"class":169,"line":1328},27,[167,1330,1331],{"class":395},"    }\n",[44,1333,1334,1335,1337,1338,1341],{},"Vuelve a la sección ",[48,1336,869],{}," de la aplicación y haz clic en el botón ",[48,1339,1340],{},"Refresh"," (Actualizar). Ahora verás los servidores MCP de Cloudflare en la lista, pendientes de autorización.",[44,1343,1344],{},[194,1345],{"alt":1346,"src":1347},"Servidores MCP de Cloudflare listados pendientes de autorización","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-mcp-pending.webp",[44,1349,897,1350,1353,1354,1357],{},[48,1351,1352],{},"Authenticate"," al lado del servidor MCP. Esto abrirá una página de autenticación en tu navegador web. Una vez autenticado, se generará un código de autorización (",[48,1355,1356],{},"auth code",").",[44,1359,1360],{},[194,1361],{"alt":1362,"src":1363},"Navegador web mostrando el código de autorización OAuth dinámico","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-code.webp",[44,1365,1366,1367,104],{},"Copia este código de autorización, pégalo en el campo de texto de Antigravity y haz clic en ",[48,1368,1369],{},"Submit",[44,1371,1372],{},[194,1373],{"alt":1374,"src":1375},"Envío del código de verificación OAuth en la interfaz de Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-submit.webp",[558,1377],{},[106,1379,1381],{"id":1380},"_4-añadir-habilidades-personalizadas","4. Añadir habilidades personalizadas",[44,1383,1384,1385,1388,1389,104],{},"Actualmente, añadir habilidades personalizadas (skills) ",[48,1386,1387],{},"no"," se puede hacer directamente desde la interfaz de la aplicación de escritorio. En su lugar, deben añadirse directamente en la carpeta ",[53,1390,1391],{},"~\u002F.gemini\u002Fconfig\u002Fskills",[44,1393,1394,1395,1397,1398],{},"Debido a que utilizamos la CLI de ",[53,1396,90],{}," para centralizar todas las habilidades de nuestros agentes, cualquier nueva habilidad añadida puede estar disponible para todos los agentes, incluido Antigravity. ",[700,1399,1400,1401,1357],{},"(Para profundizar en esto, consulta nuestro artículo: ",[96,1402,38],{"href":6},[44,1404,1405,1406,1409],{},"Al principio, al escribir ",[53,1407,1408],{},"\u002F"," en el cuadro de conversación, la lista de habilidades aparece vacía:",[44,1411,1412],{},[194,1413],{"alt":1414,"src":1415},"Cuadro de comandos mostrando la lista de habilidades vacía al escribir barra","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-empty-skills-list.webp",[44,1417,1418,1419,1421],{},"Parece que Antigravity 2 no lee automáticamente de la carpeta global de habilidades (",[53,1420,128],{},"). Para solucionarlo, debemos crear un enlace simbólico que apunte al directorio de configuración de Antigravity:",[158,1423,1425],{"className":160,"code":1424,"language":162,"meta":163,"style":163},"ln -s ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[53,1426,1427],{"__ignoreMap":163},[167,1428,1429,1432,1435,1438],{"class":169,"line":170},[167,1430,1431],{"class":173},"ln",[167,1433,1434],{"class":177}," -s",[167,1436,1437],{"class":177}," ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram",[167,1439,1440],{"class":177}," ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[44,1442,1443],{},"¡Una vez vinculado, la habilidad estará disponible en la aplicación!",[44,1445,1446],{},[194,1447],{"alt":1448,"src":1449},"Habilidad de diagramas de Excalidraw apareciendo en la lista","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-excalidraw-skill-available.webp",[558,1451],{},[106,1453,1455],{"id":1454},"_5-probar-una-tarea-sencilla","5. Probar una tarea sencilla",[44,1457,1458],{},"Ahora que todo está configurado, hagamos una prueba.",[44,1460,1461],{},[194,1462],{"alt":1463,"src":1464},"Envío de una tarea de prueba para listar bases de datos D1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-simple-task-prompt.webp",[44,1466,1467],{},"Como se muestra a continuación, el modelo detecta y utiliza con éxito el servidor MCP de Cloudflare que acabamos de añadir para procesar la solicitud.",[44,1469,1470],{},[194,1471],{"alt":1472,"src":1473},"Agente de IA ejecutando con éxito el listado de bases de datos D1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-task-success.webp",[558,1475],{},[106,1477,1479],{"id":1478},"reflexiones-finales","Reflexiones finales",[44,1481,1482],{},"Antigravity 2 representa un cambio radical: pasa de ser un IDE tradicional a convertirse en una aplicación de escritorio accesible, lo que permite a los usuarios de a pie actuar como directores de orquesta para cualquier tarea.",[44,1484,1485],{},"Sin embargo, Antigravity 2 necesita pulirse. Cuando algo falla, la depuración puede resultar frustrante debido a que los mensajes de error son muy vagos. Además, la documentación oficial parece poco depurada (probablemente generada por IA), ya que varias referencias y rutas de archivos son incorrectas en este momento.",[488,1487,1488],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":163,"searchDepth":365,"depth":365,"links":1490},[1491,1492,1493,1494,1495,1496,1497],{"id":791,"depth":374,"text":792},{"id":811,"depth":365,"text":812},{"id":862,"depth":365,"text":863},{"id":968,"depth":365,"text":969},{"id":1380,"depth":365,"text":1381},{"id":1454,"depth":365,"text":1455},{"id":1478,"depth":365,"text":1479},"2026-06-05","Descubre las novedades de Google Antigravity 2. Lee nuestra guía práctica para instalar la aplicación, probar tareas de agentes de IA y añadir servidores MCP personalizados de forma manual.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002FES-Setup-Antigravity-2.0.webp","Análisis y Configuración de Google Antigravity 2: Agentes de IA, MCP y Plugins",{"schemaOrg":1503,"robots":512,"sitemap":1505},[1504],{"@type":510,"headline":1501,"description":1499},{"lastmod":1498},"\u002Fes\u002Farticle\u002Fsetup-antigravity-2",{"title":1501,"description":1499,"ogTitle":774,"ogDescription":1499,"twitterTitle":774,"twitterDescription":1499},"es\u002Farticle\u002Fsetup-antigravity-2","AWgmceB60AgSK4d36jj0ihbcsTCGcLt2sCzmxn1Shn4",1781435121395]