<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Skills on KnightLi Blog</title>
        <link>https://knightli.com/es/tags/skills/</link>
        <description>Recent content in Skills on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Mon, 18 May 2026 22:29:43 +0800</lastBuildDate><atom:link href="https://knightli.com/es/tags/skills/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Panorama de herramientas AI PPT populares: cómo elegir entre generación automática, presentaciones web, PPTX e imágenes</title>
        <link>https://knightli.com/es/2026/05/18/ai-ppt-skills-selection-guide/</link>
        <pubDate>Mon, 18 May 2026 22:29:43 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/18/ai-ppt-skills-selection-guide/</guid>
        <description>&lt;p&gt;Hacer PPT con IA ya no consiste solo en &amp;ldquo;escribir un título y aplicar una plantilla&amp;rdquo;. En entornos de programación con IA como Claude Code, Codex y Cursor, la generación de PPT se está convirtiendo en un conjunto de Agent Skills instalables y reutilizables: algunas generan presentaciones web, otras crean archivos &lt;code&gt;.pptx&lt;/code&gt; realmente editables, otras usan modelos de imagen para convertir cada diapositiva en un borrador visual, y otras permiten que la IA opere archivos de PowerPoint mediante MCP.&lt;/p&gt;
&lt;p&gt;Aquí organizamos un grupo de Skills populares relacionadas con PPT. Lo valioso no es solo la lista, sino separar estas herramientas por forma de entrega. Antes de elegir una herramienta, conviene hacer una pregunta: quién va a editar el entregable final, dónde se va a presentar y si necesita colaboración posterior.&lt;/p&gt;
&lt;h2 id=&#34;varias-rutas&#34;&gt;Varias rutas
&lt;/h2&gt;&lt;h3 id=&#34;1-presentaciones-web-html&#34;&gt;1. Presentaciones web HTML
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La ventaja de esta ruta es su capacidad visual. Se pueden usar animaciones CSS, Canvas, WebGL y diseño responsive. Basta abrir el resultado en un navegador para presentarlo, así que encaja con charlas técnicas, lanzamientos de producto, Demo Day y presentaciones con un estilo personal fuerte.&lt;/p&gt;
&lt;p&gt;El coste también es claro: después de la entrega no es ideal para clientes que necesitan editar texto punto por punto. Si el cliente recibe HTML en lugar de un archivo de PowerPoint, los cambios posteriores suelen tener que volver al flujo de generación.&lt;/p&gt;
&lt;p&gt;Si solo miramos presentaciones HTML, &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt; se parece más a una entrada general con muchas estrellas, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; destaca por sus restricciones estéticas y estilo temático, y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt; sobresale por cantidad de temas, layouts y modo de presentador.&lt;/p&gt;
&lt;h3 id=&#34;2-pptx-nativo&#34;&gt;2. PPTX nativo
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mckinsey-pptx&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-agent-skills&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/tfriedel/claude-office-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;claude-office-skills&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Esta es la ruta más estable para entregas de negocio. Si el cliente pide &amp;ldquo;poder editar texto, cambiar imágenes y aplicar la plantilla de la empresa en PowerPoint&amp;rdquo;, el resultado final debe llegar a &lt;code&gt;.pptx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt; merece una mención aparte. Su idea es pedir primero al LLM que genere SVG y luego convertirlo en objetos DrawingML nativos de PowerPoint. El objetivo es que cuadros de texto, formas y gráficos sigan siendo editables dentro del PPTX. También puede generar PPTX desde PDF, DOCX, URL y Markdown, además de replicar plantillas, añadir animaciones, narración y vista previa local.&lt;/p&gt;
&lt;p&gt;Esta ruta encaja con entregas de consultoría, reportes corporativos, presentaciones de white papers y conversión de informes largos en PPT. La desventaja es que el techo visual suele estar limitado por PowerPoint, por lo que los efectos complejos no son tan libres como en HTML o en rutas basadas en imágenes.&lt;/p&gt;
&lt;h3 id=&#34;3-flujos-impulsados-por-imágenes-de-ia&#34;&gt;3. Flujos impulsados por imágenes de IA
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanoBanana-PPT-Skills&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gpt_image_2_skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-image-first&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Esta ruta trata cada diapositiva primero como una imagen visual, y luego coloca esas imágenes en PPTX u otro contenedor. Su ventaja es un alto nivel de acabado visual, especialmente para portadas, gráficos de redes sociales, propuestas visuales y contenido orientado a difusión.&lt;/p&gt;
&lt;p&gt;El problema es la baja editabilidad. La página es, en esencia, una imagen. Si luego hay que cambiar un título, reemplazar un párrafo o mover un icono, quizá haya que regenerarla. Sirve para &amp;ldquo;que se vea bien&amp;rdquo;, pero no para &amp;ldquo;el cliente va a revisarlo muchas veces&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;4-mcp--capa-de-protocolo&#34;&gt;4. MCP / capa de protocolo
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/GongRzhe/Office-PowerPoint-MCP-Server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Office-PowerPoint-MCP-Server&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PPTAgent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Estas herramientas no necesariamente generan un PPT completo directamente. Más bien le dan a la IA una interfaz para operar PowerPoint. Tras conectarse con MCP, el modelo puede leer, modificar y escribir archivos &lt;code&gt;.pptx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Esta ruta encaja con flujos donde ya existe un archivo PPT y se necesita ayuda de IA para modificarlo. Por ejemplo, cambiar formato en lote, reordenar páginas según feedback o pedir al modelo que revise si cada diapositiva cumple el objetivo. &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PPTAgent&lt;/a&gt; enfatiza la generación reflexiva: después de generar cada diapositiva vuelve a revisarla. Esa dirección ayuda a reducir el problema de que &amp;ldquo;los PPT de IA se ven toscos&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;5-plataformas-de-diseño-integradas&#34;&gt;5. Plataformas de diseño integradas
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Estos proyectos ya van más allá de la generación de PPT. &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt; se parece más a una plataforma de diseño local-first: puede generar prototipos, slides, images y videos, y admite varios formatos de exportación. &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent&lt;/a&gt; no es una herramienta de PPT, pero puede indexar documentos locales y conversar con ellos, por lo que sirve como capa de organización de materiales antes de generar PPT.&lt;/p&gt;
&lt;p&gt;Si tu necesidad no es hacer un PPT puntual, sino un flujo completo desde materiales, diseño y prototipo hasta entrega, este tipo de plataforma merece más atención.&lt;/p&gt;
&lt;h2 id=&#34;metadatos-de-skills&#34;&gt;Metadatos de Skills
&lt;/h2&gt;&lt;p&gt;Los conteos de Star vienen del resultado capturado el 2026-05-15. Solo sirven como referencia de popularidad. Antes de usarlos en serio, conviene abrir de nuevo los repositorios y confirmar estado de mantenimiento, README y LICENSE.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Skill&lt;/th&gt;
          &lt;th&gt;Autor&lt;/th&gt;
          &lt;th&gt;Enlaces&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Star&lt;/th&gt;
          &lt;th&gt;Lenguaje&lt;/th&gt;
          &lt;th&gt;Ruta&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;frontend-slides&lt;/td&gt;
          &lt;td&gt;@zarazhangrui&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zarazhangrui/frontend-slides&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;17,530&lt;/td&gt;
          &lt;td&gt;Shell&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;guizang-ppt-skill&lt;/td&gt;
          &lt;td&gt;@op7418 (Guizang)&lt;/td&gt;
          &lt;td&gt;Artículo interno: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt;&lt;br&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/guizang-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;op7418/guizang-ppt-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;8,832&lt;/td&gt;
          &lt;td&gt;HTML&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;html-ppt-skill&lt;/td&gt;
          &lt;td&gt;@lewislulu&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lewislulu/html-ppt-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;3,834&lt;/td&gt;
          &lt;td&gt;HTML/CSS/JS&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;mckinsey-pptx&lt;/td&gt;
          &lt;td&gt;@seulee26&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;seulee26/mckinsey-pptx&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;426&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-agent-skills&lt;/td&gt;
          &lt;td&gt;@sunbigfly&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sunbigfly/ppt-agent-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;714&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;claude-office-skills&lt;/td&gt;
          &lt;td&gt;@tfriedel&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/tfriedel/claude-office-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tfriedel/claude-office-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;631&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-master&lt;/td&gt;
          &lt;td&gt;@hugohe3&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hugohe3/ppt-master&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;16,626&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;NanoBanana-PPT-Skills&lt;/td&gt;
          &lt;td&gt;@op7418 (Guizang)&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;op7418/NanoBanana-PPT-Skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2,668&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;gpt_image_2_skill&lt;/td&gt;
          &lt;td&gt;@wuyoscar&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wuyoscar/gpt_image_2_skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2,102&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-image-first&lt;/td&gt;
          &lt;td&gt;@NyxTides&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NyxTides/ppt-image-first&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;799&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Office-PowerPoint-MCP-Server&lt;/td&gt;
          &lt;td&gt;@GongRzhe&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/GongRzhe/Office-PowerPoint-MCP-Server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GongRzhe/Office-PowerPoint-MCP-Server&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1,708&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;MCP / capa de protocolo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;PPTAgent&lt;/td&gt;
          &lt;td&gt;@icip-cas&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;icip-cas/PPTAgent&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;4,354&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;MCP / capa de protocolo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;open-design&lt;/td&gt;
          &lt;td&gt;@nexu-io&lt;/td&gt;
          &lt;td&gt;Artículo interno: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt;&lt;br&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/nexu-io/open-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nexu-io/open-design&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;40,822&lt;/td&gt;
          &lt;td&gt;TypeScript&lt;/td&gt;
          &lt;td&gt;Plataforma de diseño integrada&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;docsagent&lt;/td&gt;
          &lt;td&gt;@docsagent&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent/docsagent&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;687&lt;/td&gt;
          &lt;td&gt;TypeScript&lt;/td&gt;
          &lt;td&gt;Plataforma de diseño integrada&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;cómo-elegir&#34;&gt;Cómo elegir
&lt;/h2&gt;&lt;p&gt;Si el cliente necesita seguir editando, prioriza la ruta de PPTX nativo, especialmente &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mckinsey-pptx&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-agent-skills&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vas a presentar tú mismo y la expresión visual pesa más que la edición posterior, prioriza la ruta HTML, especialmente &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si el objetivo es una pieza con sensación de póster, portada o imagen para difusión, prioriza la ruta de imágenes, como &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-image-first&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gpt_image_2_skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanoBanana-PPT-Skills&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si ya tienes un archivo PPT y solo quieres que la IA te ayude a leerlo, editarlo y reorganizarlo, mira la ruta MCP.&lt;/p&gt;
&lt;p&gt;Para escenarios claros como academia, marketing, traducción o compresión de informes largos, también puedes buscar Skills verticales en lugar de forzar un generador generalista de PPT.&lt;/p&gt;
&lt;h2 id=&#34;notas-finales&#34;&gt;Notas finales
&lt;/h2&gt;&lt;p&gt;No conviene juzgar proyectos open source solo por sus Star. Antes de usarlos de verdad, confirma tres cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si la LICENSE permite tu forma de uso.&lt;/li&gt;
&lt;li&gt;Si el resultado generado cumple los requisitos de entrega, especialmente la editabilidad.&lt;/li&gt;
&lt;li&gt;Si el coste es aceptable, incluyendo llamadas a modelos, generación de imágenes, modelos de contexto largo y posibles servicios cloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas herramientas cambian muy rápido. Los Star cambian y el estado de mantenimiento también. Pero la lógica de selección es relativamente estable: primero define la forma de entrega y luego mira las herramientas concretas. Si un PPT es para presentar, para que otros lo editen o para que otros lo miren, esas tres respuestas suelen reducir mucho el rango de opciones.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>24 consejos de Claude Code: modo plan, rewind, CLAUDE.md, Skills, Agents y plugins</title>
        <link>https://knightli.com/es/2026/05/08/claude-code-24-tips-plan-rewind-skills-agents/</link>
        <pubDate>Fri, 08 May 2026 08:54:14 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/08/claude-code-24-tips-plan-rewind-skills-agents/</guid>
        <description>&lt;p&gt;Claude Code no es solo una caja de chat. Se parece más a un Agent de programación que puede entrar en un directorio de proyecto, leer y escribir archivos, ejecutar comandos y mantener contexto.&lt;/p&gt;
&lt;p&gt;Si solo le das un requisito y esperas código, pronto aparecen problemas: el plan no queda claro, los permisos se repiten, el contexto crece, el resultado no convence, no sabes cómo volver atrás y no hay un lugar estable para reglas del proyecto.&lt;/p&gt;
&lt;p&gt;Estos son consejos prácticos para quienes empiezan con Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;empieza-dentro-del-directorio-del-proyecto&#34;&gt;Empieza dentro del directorio del proyecto
&lt;/h2&gt;&lt;p&gt;Claude Code funciona mejor cuando se inicia dentro del directorio del proyecto, no desde una terminal cualquiera.&lt;/p&gt;
&lt;p&gt;Crea una carpeta de proyecto, entra en ella, abre la línea de comandos e inicia Claude Code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si al entrar por primera vez pregunta si confías en la carpeta actual, confirma antes de seguir. Así podrá leer archivos, crear archivos y ejecutar operaciones alrededor del proyecto.&lt;/p&gt;
&lt;p&gt;Una práctica sencilla es pedirle que cree una web personal de fotógrafo. Es una tarea visual, permite inspeccionar el resultado y sirve para practicar generación de archivos, comandos, rewind y refactorización.&lt;/p&gt;
&lt;h2 id=&#34;usa-modo-plan-para-aclarar-la-dirección&#34;&gt;Usa modo plan para aclarar la dirección
&lt;/h2&gt;&lt;p&gt;Ante tareas complejas, Claude Code puede entrar en modo plan. Su función es discutir requisitos, dividir pasos y pedir aprobación antes de ejecutar.&lt;/p&gt;
&lt;p&gt;Tras escribir un plan, suelen aparecer opciones como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprobar el plan y permitir automáticamente herramientas de edición posteriores.&lt;/li&gt;
&lt;li&gt;Aprobar el plan, pero pedir confirmación manual para futuras ediciones.&lt;/li&gt;
&lt;li&gt;Pausar y seguir discutiendo el plan con Claude Code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si la tarea está clara, aprueba y continúa. Si no, pídele que complete el plan: estilo de página, stack técnico, estructura de carpetas, interacciones y criterios de aceptación.&lt;/p&gt;
&lt;p&gt;El modo plan reduce retrabajo. Si el Agent empieza directamente, puede crear muchos archivos rápido; si la dirección era incorrecta, luego todo se vuelve más difícil de corregir.&lt;/p&gt;
&lt;h2 id=&#34;cambia-de-modo-con-shift--tab&#34;&gt;Cambia de modo con Shift + Tab
&lt;/h2&gt;&lt;p&gt;En Claude Code, &lt;code&gt;Shift + Tab&lt;/code&gt; permite cambiar entre modos de trabajo. Se usa a menudo para entrar en modo plan o para cambiar a un modo de aprobación automática de edición.&lt;/p&gt;
&lt;p&gt;Hábitos recomendados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proyecto nuevo, función nueva o cambio grande: primero modo plan.&lt;/li&gt;
&lt;li&gt;Cambio pequeño o arreglo claro: ejecutar directamente.&lt;/li&gt;
&lt;li&gt;Borrado, reemplazos masivos o instalación de dependencias: mantener confirmación humana.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En modo plan, Claude Code puede preguntar detalles del proyecto. Usa flechas para elegir opciones y Enter para confirmar. Después de enviar feedback, actualizará el plan.&lt;/p&gt;
&lt;h2 id=&#34;no-abras-todos-los-permisos&#34;&gt;No abras todos los permisos
&lt;/h2&gt;&lt;p&gt;Cuando Claude Code ejecuta comandos, edita archivos o inicia programas, puede pedir permisos.&lt;/p&gt;
&lt;p&gt;Opciones comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Permitir solo esta vez.&lt;/li&gt;
&lt;li&gt;Permitir el mismo tipo de comando en esta sesión.&lt;/li&gt;
&lt;li&gt;Rechazar o pausar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para abrir una página local, iniciar un servidor de desarrollo o revisar archivos, aprueba según necesidad. Pero no uses durante mucho tiempo un modo de &amp;ldquo;permitir todo&amp;rdquo; solo por comodidad.&lt;/p&gt;
&lt;p&gt;La aprobación total automática solo tiene sentido en tareas de bajo riesgo, muy claras y con respaldo Git. En el uso diario, conserva confirmación humana para borrar, sobrescribir carpetas, instalar dependencias, usar red, hacer commits o ejecutar scripts.&lt;/p&gt;
&lt;h2 id=&#34;ejecuta-comandos-locales-en-modo-terminal&#34;&gt;Ejecuta comandos locales en modo terminal
&lt;/h2&gt;&lt;p&gt;Claude Code puede entrar en modo de comandos de terminal y ejecutar comandos locales.&lt;/p&gt;
&lt;p&gt;Por ejemplo, después de generar una página, puedes abrir un archivo HTML con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;start index.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;start&lt;/code&gt; es un comando de Windows para abrir archivos. Es más rápido que buscar el archivo manualmente.&lt;/p&gt;
&lt;p&gt;El modo terminal sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abrir páginas generadas.&lt;/li&gt;
&lt;li&gt;Ver contenido de directorios.&lt;/li&gt;
&lt;li&gt;Iniciar servidores locales.&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas o builds.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero los comandos de alto riesgo siguen requiriendo cuidado: borrado recursivo, mover directorios, sobrescrituras masivas y cambios de entorno.&lt;/p&gt;
&lt;h2 id=&#34;usa-rewind-cuando-el-resultado-se-desvía&#34;&gt;Usa rewind cuando el resultado se desvía
&lt;/h2&gt;&lt;p&gt;Si la página o el código que hizo Claude Code no es lo que quieres y cada corrección lo empeora, usa rewind temprano.&lt;/p&gt;
&lt;p&gt;Rewind puede devolver conversación o código a un punto anterior. Opciones comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Revertir código y conversación.&lt;/li&gt;
&lt;li&gt;Revertir solo conversación.&lt;/li&gt;
&lt;li&gt;Revertir solo código.&lt;/li&gt;
&lt;li&gt;Comprimir contenido anterior como resumen.&lt;/li&gt;
&lt;li&gt;Cancelar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando la dirección se desvió claramente, conviene volver código y conversación juntos. Así contexto y archivos regresan a un estado más limpio.&lt;/p&gt;
&lt;p&gt;Ten en cuenta que el rewind de Claude Code normalmente cubre archivos creados o modificados con herramientas internas. Archivos creados por comandos externos quizá no se reviertan por completo. Para proyectos importantes, usa Git.&lt;/p&gt;
&lt;h2 id=&#34;escribe-prompts-largos-en-un-editor&#34;&gt;Escribe prompts largos en un editor
&lt;/h2&gt;&lt;p&gt;No metas requisitos complejos en una sola línea.&lt;/p&gt;
&lt;p&gt;Si el sistema permite editar un prompt largo en un editor, úsalo, guarda y luego envíalo a Claude Code.&lt;/p&gt;
&lt;p&gt;Un prompt largo debería aclarar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objetivo.&lt;/li&gt;
&lt;li&gt;Stack técnico.&lt;/li&gt;
&lt;li&gt;Qué no debe hacerse.&lt;/li&gt;
&lt;li&gt;Qué archivos deben conservarse.&lt;/li&gt;
&lt;li&gt;Cómo verificar el resultado.&lt;/li&gt;
&lt;li&gt;Criterios de aceptación.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo, si quieres refactorizar una página HTML a un stack más moderno, no escribas solo &amp;ldquo;refactoriza&amp;rdquo;. Explica estructura por componentes, preservación visual, diseño responsive y pide ejecutar una comprobación de build.&lt;/p&gt;
&lt;h2 id=&#34;recupera-sesiones-después-de-salir&#34;&gt;Recupera sesiones después de salir
&lt;/h2&gt;&lt;p&gt;Si necesitas salir de Claude Code, hazlo normalmente. Luego vuelve al mismo directorio y arranca otra vez:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el historial anterior no aparece, usa comandos de historial para ver sesiones recientes y cargar la sesión anterior.&lt;/p&gt;
&lt;p&gt;Esto sirve para continuar trabajo interrumpido. Pero no uses el historial como única memoria. Reglas del proyecto, stack, comandos comunes y notas deben estar en archivos del proyecto.&lt;/p&gt;
&lt;h2 id=&#34;guarda-reglas-del-proyecto-en-claudemd&#34;&gt;Guarda reglas del proyecto en CLAUDE.md
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; es un archivo de memoria importante para Claude Code. Normalmente está en la raíz del proyecto y registra reglas, stack, estructura de carpetas y restricciones de colaboración.&lt;/p&gt;
&lt;p&gt;Puedes inicializarlo con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; sirve para registrar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objetivos del proyecto.&lt;/li&gt;
&lt;li&gt;Stack técnico.&lt;/li&gt;
&lt;li&gt;Comandos de inicio, prueba y build.&lt;/li&gt;
&lt;li&gt;Estructura de directorios.&lt;/li&gt;
&lt;li&gt;Estilo de código.&lt;/li&gt;
&lt;li&gt;Acciones prohibidas.&lt;/li&gt;
&lt;li&gt;Reglas de commit y despliegue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En cada conversación, Claude Code puede usar estas reglas como parte del contexto. Piensa en él como un manual del proyecto.&lt;/p&gt;
&lt;p&gt;Una prueba sencilla es añadir una regla evidente en &lt;code&gt;CLAUDE.md&lt;/code&gt; y luego preguntar algo. Si la respuesta sigue la regla, leyó la memoria del proyecto.&lt;/p&gt;
&lt;h2 id=&#34;usa--para-referenciar-archivos&#34;&gt;Usa @ para referenciar archivos
&lt;/h2&gt;&lt;p&gt;En el cuadro de entrada, &lt;code&gt;@&lt;/code&gt; permite seleccionar archivos o Agents y añadirlos al contexto actual.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hacer que Claude Code lea un archivo de configuración.&lt;/li&gt;
&lt;li&gt;Pedir cambios en una página concreta.&lt;/li&gt;
&lt;li&gt;Continuar según &lt;code&gt;CLAUDE.md&lt;/code&gt; u otro documento.&lt;/li&gt;
&lt;li&gt;Decir explícitamente &amp;ldquo;mira solo este archivo, no adivines la estructura&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comparado con pegar el contenido del archivo, &lt;code&gt;@&lt;/code&gt; es más claro y menos propenso a omisiones.&lt;/p&gt;
&lt;h2 id=&#34;revisa-y-comprime-contexto&#34;&gt;Revisa y comprime contexto
&lt;/h2&gt;&lt;p&gt;Tras una conversación larga, el contexto crece. Si se vuelve demasiado largo, el modelo puede ralentizarse o ignorar detalles antiguos.&lt;/p&gt;
&lt;p&gt;Usa:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/context
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el contexto ya es largo, comprime el historial:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/compact
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si aun así el efecto es malo, limpia el contexto actual:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después de limpiar, Claude Code todavía puede entender parte del proyecto mediante archivos, &lt;code&gt;CLAUDE.md&lt;/code&gt; y el directorio actual, pero no conserva todo el historial de conversación.&lt;/p&gt;
&lt;p&gt;Una regla útil: abre una conversación nueva al terminar una tarea, escribe reglas del proyecto en &lt;code&gt;CLAUDE.md&lt;/code&gt;, y no acumules discusión temporal para siempre en un solo chat.&lt;/p&gt;
&lt;h2 id=&#34;skills-convierte-flujos-fijos-en-instrucciones&#34;&gt;Skills: convierte flujos fijos en instrucciones
&lt;/h2&gt;&lt;p&gt;Skills son instrucciones reutilizables para Claude Code. No son prompts de una sola vez, sino flujos de tarea empaquetados.&lt;/p&gt;
&lt;p&gt;Por ejemplo, si generas informes semanales a menudo, crea una Skill de informe semanal con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Información de entrada necesaria.&lt;/li&gt;
&lt;li&gt;Formato de salida.&lt;/li&gt;
&lt;li&gt;Tono y estructura.&lt;/li&gt;
&lt;li&gt;Qué debe conservarse.&lt;/li&gt;
&lt;li&gt;Qué no debe inventarse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las Skills suelen contener &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt; e instrucciones detalladas. Al instalarlas en el directorio global de Skills, Claude Code puede reconocerlas y cargarlas cuando la tarea encaja.&lt;/p&gt;
&lt;p&gt;Candidatos adecuados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Informes semanales.&lt;/li&gt;
&lt;li&gt;Plantillas de revisión de código.&lt;/li&gt;
&lt;li&gt;Organización de documentos.&lt;/li&gt;
&lt;li&gt;Procesamiento de imágenes por lotes.&lt;/li&gt;
&lt;li&gt;Artículos con formato fijo.&lt;/li&gt;
&lt;li&gt;Flujos de inicialización de proyectos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si copias el mismo prompt muchas veces, conviértelo en Skill.&lt;/p&gt;
&lt;h2 id=&#34;agents-delega-subtareas-a-asistentes-independientes&#34;&gt;Agents: delega subtareas a asistentes independientes
&lt;/h2&gt;&lt;p&gt;Agents no son lo mismo que Skills.&lt;/p&gt;
&lt;p&gt;Una Skill es un manual de instrucciones. Un Agent se parece más a un asistente independiente que trabaja fuera de la conversación principal y devuelve resultados.&lt;/p&gt;
&lt;p&gt;Su valor está en aislar contexto. Para una revisión de código, puedes crear un Agent de solo lectura que lea el proyecto y entregue un informe sin modificar archivos. Así no contamina la conversación principal y reduce riesgos.&lt;/p&gt;
&lt;p&gt;Al crear un Agent, considera:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si será de proyecto o de usuario.&lt;/li&gt;
&lt;li&gt;Si Claude Code debe generar la configuración.&lt;/li&gt;
&lt;li&gt;Qué herramientas puede usar.&lt;/li&gt;
&lt;li&gt;Qué modelo usará.&lt;/li&gt;
&lt;li&gt;Si guardará memoria.&lt;/li&gt;
&lt;li&gt;Si el prompt del Agent es claro.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para Agents de auditoría de código, da solo permisos de lectura. Primero que entregue un informe; luego la conversación principal decide si cambia código.&lt;/p&gt;
&lt;h2 id=&#34;plugins-empaqueta-skills-agents-mcp-y-hooks&#34;&gt;Plugins: empaqueta Skills, Agents, MCP y Hooks
&lt;/h2&gt;&lt;p&gt;Los plugins son paquetes de capacidad más completos. Pueden incluir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skills&lt;/li&gt;
&lt;li&gt;Agents&lt;/li&gt;
&lt;li&gt;MCP&lt;/li&gt;
&lt;li&gt;Hooks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Frente a una Skill aislada, un plugin sirve mejor para capacidades de conjunto. Un plugin de diseño frontend puede empaquetar estética de página, reglas de layout, hábitos de componentes y Agents relacionados.&lt;/p&gt;
&lt;p&gt;Al instalar plugins, suele haber opciones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Directorio de usuario, efectivo para todos los proyectos.&lt;/li&gt;
&lt;li&gt;Directorio de proyecto, compartido con el proyecto.&lt;/li&gt;
&lt;li&gt;Directorio local del proyecto, solo efectivo en tu ordenador.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para capacidades personales frecuentes, usa el directorio de usuario. Para acuerdos de equipo, usa el proyecto. Para pruebas temporales, usa instalación local.&lt;/p&gt;
&lt;h2 id=&#34;los-plugins-mejoran-tareas-concretas&#34;&gt;Los plugins mejoran tareas concretas
&lt;/h2&gt;&lt;p&gt;En generación de páginas frontend, un plugin suele ser más estable que un prompt desnudo.&lt;/p&gt;
&lt;p&gt;Por ejemplo, para &amp;ldquo;crear una web personal de fotógrafo&amp;rdquo;, un prompt normal puede crear una página aceptable. Si usas explícitamente un plugin de diseño frontend, la estructura, jerarquía visual, espaciado, color y acabado suelen mejorar.&lt;/p&gt;
&lt;p&gt;Esto no reemplaza el criterio humano. Lo razonable es dejar que el plugin genere un primer borrador mejor y luego ajustar detalles manualmente.&lt;/p&gt;
&lt;h2 id=&#34;un-flujo-de-trabajo-más-estable&#34;&gt;Un flujo de trabajo más estable
&lt;/h2&gt;&lt;p&gt;Combinando todo lo anterior, queda un flujo más estable:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inicia &lt;code&gt;claude&lt;/code&gt; dentro del directorio del proyecto.&lt;/li&gt;
&lt;li&gt;Discute requisitos primero en modo plan.&lt;/li&gt;
&lt;li&gt;Confirma stack y criterios de aceptación antes de aprobar.&lt;/li&gt;
&lt;li&gt;Mantén confirmación manual para acciones de alto riesgo.&lt;/li&gt;
&lt;li&gt;Usa modo terminal para previsualización y pruebas.&lt;/li&gt;
&lt;li&gt;Usa rewind cuando el resultado se desvíe.&lt;/li&gt;
&lt;li&gt;Escribe reglas en &lt;code&gt;CLAUDE.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Revisa y comprime contexto en conversaciones largas.&lt;/li&gt;
&lt;li&gt;Convierte flujos repetidos en Skills.&lt;/li&gt;
&lt;li&gt;Delega inspección, investigación y análisis a Agents de solo lectura.&lt;/li&gt;
&lt;li&gt;Usa plugins para tareas de dominio específico.&lt;/li&gt;
&lt;li&gt;Mantén puntos de commit Git en proyectos importantes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Así Claude Code será mucho más estable que enviar una frase y esperar generación.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;La eficiencia de Claude Code no viene solo del modelo, sino también del control del flujo.&lt;/p&gt;
&lt;p&gt;El modo plan define la dirección, los permisos controlan el riesgo, rewind reduce retrabajo, &lt;code&gt;CLAUDE.md&lt;/code&gt; guarda reglas del proyecto, &lt;code&gt;/context&lt;/code&gt;, &lt;code&gt;/compact&lt;/code&gt; y &lt;code&gt;/clear&lt;/code&gt; gestionan contexto, Skills reutilizan flujos, Agents aíslan subtareas y plugins empaquetan capacidades completas.&lt;/p&gt;
&lt;p&gt;La mejor forma de usar Claude Code es dejar que avance dentro de límites claros, no entregarle todo el proyecto de una vez.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Awesome Codex Skills: un catalogo comunitario para ampliar Codex CLI</title>
        <link>https://knightli.com/es/2026/05/07/awesome-codex-skills-composio/</link>
        <pubDate>Thu, 07 May 2026 20:19:15 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/07/awesome-codex-skills-composio/</guid>
        <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ComposioHQ/awesome-codex-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;awesome-codex-skills&lt;/a&gt;, de ComposioHQ, es un catalogo comunitario de skills para Codex CLI. Su valor no esta en ser otra pila de plantillas de prompts, sino en ofrecer una forma de empaquetar flujos repetibles como Skills instalables, reutilizables y mantenibles.&lt;/p&gt;
&lt;p&gt;Si ya usas Codex como parte del desarrollo diario, este tipo de repositorio resulta util de inmediato: reglas, comandos, materiales de referencia y pasos operativos que antes tenias que explicar una y otra vez pueden escribirse una vez y reutilizarse cada vez que se invoque la Skill correspondiente.&lt;/p&gt;
&lt;h2 id=&#34;que-resuelve-este-repositorio&#34;&gt;Que resuelve este repositorio
&lt;/h2&gt;&lt;p&gt;Las Codex Skills pueden entenderse como modos de trabajo especializados para Codex CLI. Un prompt normal sirve bien para una instruccion temporal; una Skill encaja mejor con algo que quieres reutilizar durante mucho tiempo.&lt;/p&gt;
&lt;p&gt;Por ejemplo, puede que a menudo necesites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;generar mensajes de commit con un formato fijo;&lt;/li&gt;
&lt;li&gt;consultar una familia especifica de documentacion de API;&lt;/li&gt;
&lt;li&gt;ejecutar comandos de pruebas y despliegue propios de un proyecto;&lt;/li&gt;
&lt;li&gt;reescribir articulos, traducir documentos u organizar notas segun reglas del equipo;&lt;/li&gt;
&lt;li&gt;llamar herramientas externas para tareas de desarrollo repetitivas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Escribir estas instrucciones cada vez se convierte rapidamente en sobrecarga. Una Skill coloca las reglas en un directorio independiente. El nucleo suele ser un archivo &lt;code&gt;SKILL.md&lt;/code&gt;, a veces acompanado de scripts, plantillas, documentos de referencia o assets. Cuando Codex se activa, lee las instrucciones y sigue el flujo descrito alli.&lt;/p&gt;
&lt;h2 id=&#34;en-que-se-diferencia-de-un-prompt&#34;&gt;En que se diferencia de un prompt
&lt;/h2&gt;&lt;p&gt;Un prompt se parece mas a una instruccion puntual: &amp;ldquo;haz esta tarea de esta forma&amp;rdquo;. Una Skill se parece mas a un pequeno manual operativo: &amp;ldquo;cuando aparezca esta clase de tarea, trabaja de esta manera&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Sus principales ventajas son:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Reutilizable&lt;/strong&gt;: los flujos comunes ya no necesitan preparacion por copy-and-paste.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revisable&lt;/strong&gt;: los archivos de skill suelen ser Markdown locales que pueden abrirse, editarse y versionarse.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extensible&lt;/strong&gt;: las skills complejas pueden incluir scripts, plantillas y referencias, no solo instrucciones en lenguaje natural.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Por eso catalogos como &lt;code&gt;awesome-codex-skills&lt;/code&gt; son utiles: ayudan a descubrir skills existentes y luego adaptarlas a tu propio flujo de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;instalacion-y-uso&#34;&gt;Instalacion y uso
&lt;/h2&gt;&lt;p&gt;El repositorio ofrece un script de instalacion y tambien soporta instalacion manual. Un flujo tipico es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/ComposioHQ/awesome-codex-skills.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; awesome-codex-skills
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python install.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si solo quieres probar algunas skills, lee primero el &lt;code&gt;SKILL.md&lt;/code&gt; de cada directorio. Revisa que lee, que scripts puede ejecutar, que archivos puede editar y si los valores por defecto encajan con tu entorno local.&lt;/p&gt;
&lt;p&gt;Despues de instalar, Codex puede detectar skills cuando la tarea las necesita, o puedes nombrar una skill de forma explicita. Para uso a largo plazo, el enfoque mas practico suele ser instalar primero una skill comunitaria y despues reescribir sus instrucciones alrededor de las convenciones de tu proyecto.&lt;/p&gt;
&lt;h2 id=&#34;que-skills-merece-la-pena-observar&#34;&gt;Que skills merece la pena observar
&lt;/h2&gt;&lt;p&gt;Las skills mas valiosas no son necesariamente las que tienen los nombres mas llamativos. Son las que eliminan trabajo repetido de forma fiable.&lt;/p&gt;
&lt;p&gt;Yo miraria primero:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Skills de flujo de desarrollo&lt;/strong&gt;: review, pruebas, commits, releases, comprobacion de dependencias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills de documentacion&lt;/strong&gt;: reescritura, traduccion, resumen, organizacion estructurada.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills de integracion de herramientas&lt;/strong&gt;: conectar Codex con servicios externos, APIs y herramientas CLI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills de convenciones de proyecto&lt;/strong&gt;: codificar reglas del equipo, estructura de directorios, convenciones de nombres y pasos de despliegue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si una skill solo envuelve un prompt de una frase, su valor es limitado. Si puede conectar investigacion, juicio, ejecucion, verificacion y salida en un flujo estable, merece conservarse.&lt;/p&gt;
&lt;h2 id=&#34;puntos-de-cuidado&#34;&gt;Puntos de cuidado
&lt;/h2&gt;&lt;p&gt;Las skills comunitarias son comodas, pero no deberian tratarse como cajas negras. Esto es especialmente cierto para Skills que incluyen scripts. Antes de instalar una, revisa:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;que le pide &lt;code&gt;SKILL.md&lt;/code&gt; a Codex;&lt;/li&gt;
&lt;li&gt;si incluye scripts que acceden a la red, leen o escriben archivos, o llaman servicios externos;&lt;/li&gt;
&lt;li&gt;si las rutas, comandos y permisos por defecto encajan con tu maquina.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Una Skill amplia lo que Codex puede hacer. Bien escrita, hace que Codex se sienta mas como un companero que conoce tu proyecto. Escrita con descuido, puede traer reglas inadecuadas a tu flujo de trabajo. El mejor patron no es instalar muchas skills, sino mantener un conjunto pequeno, ajustarlas con cuidado y conservarlas con el tiempo.&lt;/p&gt;
&lt;h2 id=&#34;mi-lectura&#34;&gt;Mi lectura
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;awesome-codex-skills&lt;/code&gt; merece guardarse en favoritos, especialmente si ya usas Codex CLI para desarrollo real, documentacion o automatizacion. No es una capacidad oficial por si misma; es un punto de entrada comunitario para encontrar y adaptar flujos reutilizables.&lt;/p&gt;
&lt;p&gt;Para usuarios intensivos, el punto de Codex Skills no es simplemente ayudar a la IA a recordar mas. Es ayudar a la IA a dar menos rodeos en tareas repetidas. Escribir reglas como Skills convierte instrucciones temporales en infraestructura de trabajo reutilizable.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>CC Switch: una herramienta de escritorio para gestionar Claude Code, Codex, Gemini CLI y OpenClaw en un solo lugar</title>
        <link>https://knightli.com/es/2026/05/06/cc-switch-ai-cli-manager/</link>
        <pubDate>Wed, 06 May 2026 09:03:08 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/06/cc-switch-ai-cli-manager/</guid>
        <description>&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; es una herramienta de gestión de escritorio para usuarios intensivos de programación con IA. El problema que intenta resolver es directo: muchas personas ahora usan &lt;code&gt;Claude Code&lt;/code&gt;, &lt;code&gt;Codex&lt;/code&gt;, &lt;code&gt;Gemini CLI&lt;/code&gt;, &lt;code&gt;OpenCode&lt;/code&gt; y &lt;code&gt;OpenClaw&lt;/code&gt; al mismo tiempo, pero cada herramienta tiene su propio formato de configuración, sintaxis de Provider, configuración MCP y forma de gestionar Skills.&lt;/p&gt;
&lt;p&gt;Cuando solo usas una herramienta, editar archivos de configuración manualmente todavía es tolerable. Una vez que se mezclan varias herramientas, además de cuentas oficiales, APIs de terceros, servicios relay, modelos locales y configuración compartida de equipo, editar JSON, TOML y archivos &lt;code&gt;.env&lt;/code&gt; a mano se vuelve tedioso rápidamente.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; se posiciona como una forma de reunir estas configuraciones dispersas en una sola app de escritorio multiplataforma.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Las herramientas modernas de programación con IA se sienten cada vez más como &amp;ldquo;colegas de desarrollo dentro de la línea de comandos&amp;rdquo;, pero sus ecosistemas aún no están completamente unificados.&lt;/p&gt;
&lt;p&gt;Los puntos de dolor comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code, Codex, Gemini CLI, OpenCode y OpenClaw usan formatos de configuración distintos.&lt;/li&gt;
&lt;li&gt;Cambiar API Providers requiere editar repetidamente archivos de configuración.&lt;/li&gt;
&lt;li&gt;Los servidores MCP se configuran una y otra vez en distintas herramientas.&lt;/li&gt;
&lt;li&gt;Archivos de prompt como &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt; y &lt;code&gt;GEMINI.md&lt;/code&gt; son difíciles de mantener de forma consistente.&lt;/li&gt;
&lt;li&gt;Instalación, sincronización, respaldo y eliminación de Skills carecen de una entrada central.&lt;/li&gt;
&lt;li&gt;Cambiar entre múltiples cuentas, relays y servicios de modelos puede volverse confuso fácilmente.&lt;/li&gt;
&lt;li&gt;Cuando un archivo de configuración editado a mano se rompe, depurarlo cuesta tiempo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La idea detrás de &lt;code&gt;CC Switch&lt;/code&gt; es dejar de obligar a los usuarios a recordar los detalles de configuración de cada herramienta, y usar una interfaz unificada para gestionar Providers, MCP, Prompts, Skills, Sessions y proxies.&lt;/p&gt;
&lt;h2 id=&#34;herramientas-soportadas&#34;&gt;Herramientas soportadas
&lt;/h2&gt;&lt;p&gt;El README enumera cinco objetivos principales soportados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Claude Code&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Codex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemini CLI&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OpenCode&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OpenClaw&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas herramientas son similares en posicionamiento: todas se centran en programación con IA, flujos Agent y colaboración por línea de comandos. Pero sus sistemas de configuración difieren, y el valor de &lt;code&gt;CC Switch&lt;/code&gt; está en envolver esas diferencias.&lt;/p&gt;
&lt;p&gt;Para quienes comparan con frecuencia distintas herramientas de programación con IA, esto es mucho más fácil que abrir manualmente archivos de configuración cada vez.&lt;/p&gt;
&lt;h2 id=&#34;gestión-de-providers&#34;&gt;Gestión de Providers
&lt;/h2&gt;&lt;p&gt;La primera capa de &lt;code&gt;CC Switch&lt;/code&gt; es la gestión de Providers.&lt;/p&gt;
&lt;p&gt;Incluye más de 50 presets de Provider. El README menciona direcciones como AWS Bedrock, NVIDIA NIM y varios relays comunitarios. Los usuarios pueden copiar una API key, importarla con un clic y luego cambiar desde la interfaz.&lt;/p&gt;
&lt;p&gt;Los puntos prácticos incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Añadir Providers con un clic.&lt;/li&gt;
&lt;li&gt;Reordenar Providers arrastrando.&lt;/li&gt;
&lt;li&gt;Cambiar rápidamente desde la bandeja del sistema.&lt;/li&gt;
&lt;li&gt;Importar y exportar Providers.&lt;/li&gt;
&lt;li&gt;Sincronizar algunos Providers comunes entre varias apps.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para muchas personas, esta función por sí sola ya es atractiva. En el trabajo diario de programación con IA, el problema muchas veces no es &amp;ldquo;no sé usar el modelo&amp;rdquo;, sino &amp;ldquo;qué herramienta, endpoint y cuenta debería usar hoy esta key&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;proxy-local-y-failover&#34;&gt;Proxy local y failover
&lt;/h2&gt;&lt;p&gt;Además de escribir archivos de configuración, &lt;code&gt;CC Switch&lt;/code&gt; también proporciona un modo de proxy local.&lt;/p&gt;
&lt;p&gt;El foco de esta capacidad es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cambio en caliente de Providers.&lt;/li&gt;
&lt;li&gt;Conversión de formatos.&lt;/li&gt;
&lt;li&gt;Failover automático.&lt;/li&gt;
&lt;li&gt;Circuit breakers.&lt;/li&gt;
&lt;li&gt;Health checks de Providers.&lt;/li&gt;
&lt;li&gt;Corrección de solicitudes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En términos simples, no solo escribe configuración en herramientas objetivo. También puede añadir una capa de proxy local en el medio, para que distintas herramientas accedan a servicios de modelos mediante el proxy.&lt;/p&gt;
&lt;p&gt;Esto es útil para usuarios con múltiples Providers: si un servicio cae, cambiar a otro; si un modelo es caro, pasar a uno más barato; si el formato de solicitud es incompatible, adaptarlo mediante la capa de proxy.&lt;/p&gt;
&lt;h2 id=&#34;mcp-prompts-y-skills&#34;&gt;MCP, Prompts y Skills
&lt;/h2&gt;&lt;p&gt;La segunda capa importante de &lt;code&gt;CC Switch&lt;/code&gt; es la gestión unificada de MCP, Prompts y Skills.&lt;/p&gt;
&lt;h3 id=&#34;mcp&#34;&gt;MCP
&lt;/h3&gt;&lt;p&gt;Proporciona un panel MCP unificado para gestionar servidores MCP entre varias apps, con soporte para sincronización bidireccional e importación mediante Deep Link.&lt;/p&gt;
&lt;p&gt;Esto es práctico para usuarios que ya trabajan con MCP. Cuando hay muchos servidores MCP, la configuración se dispersa fácilmente entre distintos clientes. Un panel unificado reduce la configuración duplicada y facilita la migración.&lt;/p&gt;
&lt;h3 id=&#34;prompts&#34;&gt;Prompts
&lt;/h3&gt;&lt;p&gt;La sección Prompts soporta edición Markdown y puede sincronizar archivos correspondientes entre distintas herramientas, como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GEMINI.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos archivos son esencialmente manuales de proyecto para Agents. La gestión unificada facilita mantener reglas de equipo, convenciones de proyecto y prompts globales.&lt;/p&gt;
&lt;h3 id=&#34;skills&#34;&gt;Skills
&lt;/h3&gt;&lt;p&gt;Las Skills pueden instalarse con un clic desde repositorios GitHub o archivos ZIP. También se soportan gestión de repositorios personalizados, enlaces simbólicos y copia de archivos.&lt;/p&gt;
&lt;p&gt;Si usas herramientas como Claude Code, Codex y OpenClaw al mismo tiempo, las Skills pueden convertirse fácilmente en archivos dispersos por distintos directorios. &lt;code&gt;CC Switch&lt;/code&gt; las centraliza y reduce el costo de mantenimiento.&lt;/p&gt;
&lt;h2 id=&#34;sesiones-y-workspace&#34;&gt;Sesiones y workspace
&lt;/h2&gt;&lt;p&gt;El README también menciona funciones de Session Manager y Workspace.&lt;/p&gt;
&lt;p&gt;Puede explorar, buscar y restaurar historial de sesiones de varias apps. Para personas que usan herramientas de programación con IA durante mucho tiempo, la gestión de sesiones es realmente importante: muchos contextos valiosos, rastros de depuración y comparaciones de soluciones quedan enterrados en conversaciones antiguas.&lt;/p&gt;
&lt;p&gt;También proporciona un editor de Workspace para OpenClaw, permitiendo editar archivos de agente como &lt;code&gt;AGENTS.md&lt;/code&gt; y &lt;code&gt;SOUL.md&lt;/code&gt; con vista previa Markdown.&lt;/p&gt;
&lt;p&gt;Esto muestra que &lt;code&gt;CC Switch&lt;/code&gt; no es solo una pequeña utilidad para &amp;ldquo;cambiar keys&amp;rdquo;. Se está expandiendo hacia una estación de trabajo para AI Agent.&lt;/p&gt;
&lt;h2 id=&#34;sincronización-en-la-nube-y-almacenamiento-de-datos&#34;&gt;Sincronización en la nube y almacenamiento de datos
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; soporta sincronizar datos de Providers mediante Dropbox, OneDrive, iCloud, NAS o WebDAV.&lt;/p&gt;
&lt;p&gt;El almacenamiento local de datos también está claramente definido:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Base de datos: &lt;code&gt;~/.cc-switch/cc-switch.db&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Configuración local: &lt;code&gt;~/.cc-switch/settings.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copias automáticas: &lt;code&gt;~/.cc-switch/backups/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Skills: &lt;code&gt;~/.cc-switch/skills/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copias de Skills: &lt;code&gt;~/.cc-switch/skill-backups/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Usa SQLite como fuente principal de datos y enfatiza escrituras atómicas y copias automáticas, con el objetivo de evitar corrupción de archivos de configuración durante cambios o escrituras.&lt;/p&gt;
&lt;p&gt;Este diseño importa para usuarios intensivos. Si la herramienta de gestión de configuración escribe una mala configuración, todas las herramientas de programación con IA pueden verse afectadas.&lt;/p&gt;
&lt;h2 id=&#34;instalación&#34;&gt;Instalación
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; es una app de escritorio multiplataforma construida sobre Tauri 2.&lt;/p&gt;
&lt;p&gt;Los requisitos aproximados del sistema son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Windows 10 o posterior&lt;/li&gt;
&lt;li&gt;macOS: macOS 12 Monterey o posterior&lt;/li&gt;
&lt;li&gt;Linux: Ubuntu 22.04+, Debian 11+, Fedora 34+ y otras distribuciones principales&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los usuarios de Windows pueden descargar el instalador &lt;code&gt;.msi&lt;/code&gt; o un paquete comprimido portable.&lt;/p&gt;
&lt;p&gt;Los usuarios de macOS pueden instalarlo con Homebrew:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew tap farion1231/ccswitch
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install --cask cc-switch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para actualizar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew upgrade --cask cc-switch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Los usuarios de Linux pueden elegir &lt;code&gt;.deb&lt;/code&gt;, &lt;code&gt;.rpm&lt;/code&gt; o AppImage. Los usuarios de Arch Linux también pueden instalarlo con &lt;code&gt;paru -S cc-switch-bin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Al 6 de mayo de 2026, la página del repositorio muestra la última release como &lt;code&gt;CC Switch v3.14.1&lt;/code&gt;, publicada el 23 de abril de 2026.&lt;/p&gt;
&lt;h2 id=&#34;stack-técnico&#34;&gt;Stack técnico
&lt;/h2&gt;&lt;p&gt;Por la estructura del repositorio, &lt;code&gt;CC Switch&lt;/code&gt; es una app de escritorio Tauri típica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frontend: React 18, TypeScript, Vite, TailwindCSS, TanStack Query, shadcn/ui&lt;/li&gt;
&lt;li&gt;Backend: Tauri 2, Rust, SQLite, Tokio&lt;/li&gt;
&lt;li&gt;Testing: Vitest, MSW, Testing Library&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los patrones de diseño principales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQLite como Single Source of Truth.&lt;/li&gt;
&lt;li&gt;JSON para configuración local a nivel de dispositivo.&lt;/li&gt;
&lt;li&gt;Escritura en la configuración viva de herramientas objetivo durante el cambio.&lt;/li&gt;
&lt;li&gt;Rellenar ediciones del Provider actual desde la configuración viva.&lt;/li&gt;
&lt;li&gt;Escrituras atómicas usando archivos temporales más rename.&lt;/li&gt;
&lt;li&gt;Conexiones de base de datos bloqueadas para evitar problemas de escritura concurrente.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta arquitectura sugiere que el proyecto no es un script simple, sino una herramienta de escritorio diseñada para uso de largo plazo.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; encaja con estos usuarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Personas que usan Claude Code, Codex, Gemini CLI, OpenCode y OpenClaw juntas.&lt;/li&gt;
&lt;li&gt;Personas que cambian con frecuencia entre cuentas oficiales, relays de terceros, modelos locales o Providers de equipo.&lt;/li&gt;
&lt;li&gt;Usuarios que ya usan MCP intensivamente.&lt;/li&gt;
&lt;li&gt;Equipos que quieren mantener &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt; y &lt;code&gt;GEMINI.md&lt;/code&gt; en un solo lugar.&lt;/li&gt;
&lt;li&gt;Usuarios que instalan, prueban y migran Skills con frecuencia.&lt;/li&gt;
&lt;li&gt;Personas que quieren ver historial de sesiones y uso entre distintas herramientas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo usas una herramienta de programación con IA, dependes del login oficial y rara vez tocas Providers, MCP o Skills, su valor puede no ser evidente.&lt;/p&gt;
&lt;p&gt;Pero si ya entraste en un estado de &amp;ldquo;muchas herramientas, muchas cuentas, muchos Providers, muchos proyectos&amp;rdquo;, puede eliminar mucho trabajo repetitivo de configuración.&lt;/p&gt;
&lt;h2 id=&#34;qué-vigilar&#34;&gt;Qué vigilar
&lt;/h2&gt;&lt;p&gt;Herramientas como esta son cómodas, pero también necesitan límites claros.&lt;/p&gt;
&lt;p&gt;Primero, gestiona configuración para múltiples AI CLIs, así que los usuarios deben asegurarse de confiar en la herramienta y su lógica de escritura.&lt;/p&gt;
&lt;p&gt;Segundo, API keys, endpoints relay y servidores MCP son configuración sensible. Antes de activar sincronización en la nube, asegúrate de que la carpeta de sincronización y el servicio WebDAV sean seguros y confiables.&lt;/p&gt;
&lt;p&gt;Tercero, después de cambiar Providers, la mayoría de herramientas todavía necesitan reiniciar la terminal o CLI para que los cambios surtan efecto. El README menciona que Claude Code soporta cambio en caliente de datos de Provider, pero otras herramientas normalmente aún requieren reinicio.&lt;/p&gt;
&lt;p&gt;Cuarto, al volver al login oficial, es mejor añadir el provider oficial según las instrucciones del proyecto y luego volver a ejecutar el flujo de login de la herramienta correspondiente.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;CC Switch&lt;/code&gt; no está en crear otra herramienta de programación con IA. Su valor está en reconocer una realidad: el ecosistema de AI coding entró en una etapa donde coexisten múltiples herramientas.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, Gemini CLI, OpenCode y OpenClaw tienen cada una sus propios sistemas de configuración, mientras MCP, Skills, Prompts y Providers se expanden rápidamente. Seguir editando archivos de configuración a mano terminará convirtiéndose en una carga.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;CC Switch&lt;/code&gt; reúne estas piezas en una app de escritorio, facilitando cambiar Providers, sincronizar MCP, gestionar Skills, mantener archivos de prompt y ver sesiones. Para usuarios intensivos de programación con IA, herramientas como esta pueden pasar de &amp;ldquo;utilidad opcional&amp;rdquo; a &amp;ldquo;infraestructura diaria&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/farion1231/cc-switch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;farion1231/cc-switch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Guía inicial de Codex App: instalación, sandbox, tareas paralelas, Skills y MCP</title>
        <link>https://knightli.com/es/2026/05/06/codex-app-complete-guide-skills-mcp/</link>
        <pubDate>Wed, 06 May 2026 08:41:17 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/06/codex-app-complete-guide-skills-mcp/</guid>
        <description>&lt;p&gt;Codex App puede entenderse como un espacio de trabajo de tareas para programación con IA. No es un IDE tradicional ni solo una ventana de chat. Reúne multitarea, gestión de proyectos, permisos de sandbox, Git, ejecución en la nube, plugins, Skills, MCP y automatización en una sola interfaz.&lt;/p&gt;
&lt;p&gt;Si ya usas Codex CLI, Claude Code, Cursor u otros coding agents, la parte más interesante de Codex App es que convierte &amp;ldquo;ejecutar varios agentes en paralelo&amp;rdquo; en un flujo de escritorio más claro.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-sirve-codex-app&#34;&gt;Para qué sirve Codex App
&lt;/h2&gt;&lt;p&gt;El valor central de Codex App no es responder preguntas, sino permitir que la IA ejecute tareas de forma continua dentro de un directorio de proyecto:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editar código, ejecutar comandos e iniciar servidores de desarrollo.&lt;/li&gt;
&lt;li&gt;Gestionar múltiples proyectos y múltiples tareas.&lt;/li&gt;
&lt;li&gt;Ejecutar tareas largas localmente o en la nube.&lt;/li&gt;
&lt;li&gt;Llamar plugins, Skills y MCP para ampliar capacidades.&lt;/li&gt;
&lt;li&gt;Gestionar cambios mediante Git, worktree y flujos PR.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OpenAI también posiciona Codex App como una interfaz para gestionar múltiples coding agents. Es adecuada para personas que necesitan avanzar varias tareas de programación a la vez, especialmente páginas frontend, scripts, apps pequeñas, documentación y flujos de automatización.&lt;/p&gt;
&lt;h2 id=&#34;preparación-antes-de-instalar&#34;&gt;Preparación antes de instalar
&lt;/h2&gt;&lt;p&gt;Antes de usar Codex App, conviene preparar tres herramientas básicas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Git&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Node.js&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VS Code&lt;/code&gt; o tu IDE preferido&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Codex App soporta macOS y Windows. Después de instalar, inicia sesión con tu cuenta de ChatGPT. En el primer lanzamiento, puedes elegir tu escenario principal de uso, como programación o trabajo diario. Codex precargará algunos plugins y Skills según tus elecciones, y luego puedes ajustarlos en configuración y en el marketplace de plugins.&lt;/p&gt;
&lt;p&gt;Las funciones principales en Windows y macOS son bastante parecidas, pero algunas capacidades de automatización del ordenador pueden depender de la plataforma y del soporte de plugins. Usa lo que tu versión actual muestre realmente.&lt;/p&gt;
&lt;h2 id=&#34;estructura-de-interfaz-proyectos-tareas-y-chats&#34;&gt;Estructura de interfaz: proyectos, tareas y chats
&lt;/h2&gt;&lt;p&gt;Codex App usa un diseño clásico de tres columnas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Izquierda: proyectos, tareas, historial de chats, plugins y entradas de automatización.&lt;/li&gt;
&lt;li&gt;Centro: ventana de chat actual.&lt;/li&gt;
&lt;li&gt;Derecha: archivos, navegador, terminal, resultados de ejecución y otros paneles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un proyecto normalmente corresponde a una carpeta local. Puedes abrir varios chats dentro del mismo proyecto, o abrir varios proyectos a la vez para que distintos agentes trabajen en paralelo.&lt;/p&gt;
&lt;p&gt;La lista de tareas muestra distintos estados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Running: el agente sigue ejecutando.&lt;/li&gt;
&lt;li&gt;Waiting for approval: debes confirmar permisos, red, instalación de dependencias o una acción de alto riesgo.&lt;/li&gt;
&lt;li&gt;Completed: la tarea terminó, y puedes inspeccionar el resultado o seguir preguntando.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es más intuitivo que cambiar entre varias ventanas de terminal, y se adapta mejor a gestionar varias tareas de IA a la vez.&lt;/p&gt;
&lt;h2 id=&#34;sandbox-y-control-de-permisos&#34;&gt;Sandbox y control de permisos
&lt;/h2&gt;&lt;p&gt;El sistema de permisos de Codex App se construye alrededor del sandbox. Por defecto, la carpeta actual del proyecto se convierte en el workspace principal del agente.&lt;/p&gt;
&lt;p&gt;Los límites de permisos comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puede leer y modificar archivos dentro del directorio del proyecto.&lt;/li&gt;
&lt;li&gt;Por defecto no puede modificar libremente archivos fuera del proyecto.&lt;/li&gt;
&lt;li&gt;La red o comandos de alto riesgo están restringidos por defecto.&lt;/li&gt;
&lt;li&gt;Cuando necesita acceso elevado, pide aprobación al usuario.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un modo práctico es &amp;ldquo;auto review&amp;rdquo;: las acciones de bajo riesgo se permiten automáticamente, mientras que las acciones de alto riesgo siguen siendo confirmadas por el usuario. Esto reduce ventanas emergentes frecuentes y evita que operaciones peligrosas ocurran en silencio.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Full access&amp;rdquo; debe habilitarse con cautela. Es adecuado cuando sabes exactamente qué necesita hacer el agente, el proyecto ya tiene respaldos Git y los archivos importantes tienen copias separadas. No se recomienda como valor diario permanente.&lt;/p&gt;
&lt;h2 id=&#34;contexto-modelos-y-cuotas&#34;&gt;Contexto, modelos y cuotas
&lt;/h2&gt;&lt;p&gt;Codex App muestra el uso de contexto del chat actual. Cuanto más larga es la conversación y más historial contiene, más contexto necesita procesar el modelo.&lt;/p&gt;
&lt;p&gt;Hábitos útiles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Empezar un chat nuevo después de terminar una tarea.&lt;/li&gt;
&lt;li&gt;Los chats largos pueden comprimirse manualmente, pero no trates la compresión como memoria perfecta.&lt;/li&gt;
&lt;li&gt;Para tareas complejas, declara claramente objetivos, límites y criterios de aceptación.&lt;/li&gt;
&lt;li&gt;No pegues de golpe logs, errores o archivos grandes e irrelevantes en un chat.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para selección de modelos, ajusta la fuerza de razonamiento según la complejidad de la tarea. Ediciones simples, escritura y tareas repetitivas no siempre necesitan el modelo más fuerte. Migraciones de arquitectura, bugs difíciles y refactors entre archivos encajan mejor con modelos más potentes.&lt;/p&gt;
&lt;p&gt;Si la interfaz tiene un modo rápido, recuerda que normalmente consume más cuota. Úsalo cuando la velocidad importe, pero no como valor diario predeterminado.&lt;/p&gt;
&lt;h2 id=&#34;generación-de-imágenes-y-entradas-multimodales&#34;&gt;Generación de imágenes y entradas multimodales
&lt;/h2&gt;&lt;p&gt;Codex App puede aceptar imágenes y archivos como contexto, y puede llamar generación de imágenes en escenarios adecuados.&lt;/p&gt;
&lt;p&gt;Esto es útil para proyectos frontend y de contenido. Por ejemplo, puedes pedir a Codex:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Corregir estilos de página según capturas.&lt;/li&gt;
&lt;li&gt;Reemplazar imágenes inadecuadas en una web.&lt;/li&gt;
&lt;li&gt;Generar imágenes de producto, imágenes de carrusel o assets de página.&lt;/li&gt;
&lt;li&gt;Señalar qué debe cambiarse a partir de una captura de UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un enfoque más eficiente no es decir solo &amp;ldquo;hazlo más bonito&amp;rdquo;, sino usar capturas y señalar problemas concretos, como &amp;ldquo;el espacio en esta tarjeta es demasiado grande&amp;rdquo;, &amp;ldquo;esta imagen no coincide con la escena del servicio&amp;rdquo; o &amp;ldquo;haz más clara el área del mapa&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;steer-corregir-dirección-durante-la-ejecución&#34;&gt;Steer: corregir dirección durante la ejecución
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Steer&lt;/code&gt; puede entenderse como tomar control de la dirección durante la ejecución. Si el agente ya empezó pero notas que entendió mal, no siempre conviene esperar a que termine para corregirlo.&lt;/p&gt;
&lt;p&gt;Puedes usar steering para insertar una nueva instrucción en el flujo de ejecución actual y hacer que Codex corrija el rumbo.&lt;/p&gt;
&lt;p&gt;Buenos casos de uso para Steer incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El agente entendió mal el requisito.&lt;/li&gt;
&lt;li&gt;El estilo de página generado es claramente incorrecto.&lt;/li&gt;
&lt;li&gt;El plan actual es demasiado costoso o pesado.&lt;/li&gt;
&lt;li&gt;Necesitas añadir una restricción clave temporalmente.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En general, mantén el comportamiento predeterminado en cola y usa Steer manualmente solo cuando se necesite intervención. Esto evita interrumpir tareas normales y aun así permite recuperar la dirección en momentos clave.&lt;/p&gt;
&lt;h2 id=&#34;modo-plan-y-navegador-integrado&#34;&gt;Modo plan y navegador integrado
&lt;/h2&gt;&lt;p&gt;Para tareas complejas, empieza con modo plan. En modo plan, Codex no modifica código de inmediato. Primero produce un plan y puede hacer preguntas clave con tarjetas.&lt;/p&gt;
&lt;p&gt;Tareas adecuadas para modo plan incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Migración de frameworks, como pasar un proyecto React a Next.js.&lt;/li&gt;
&lt;li&gt;Refactors grandes.&lt;/li&gt;
&lt;li&gt;Funciones que involucran bases de datos, autenticación o despliegue.&lt;/li&gt;
&lt;li&gt;Requisitos donde aún no has decidido la ruta técnica.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El panel derecho de Codex App puede abrir un navegador integrado para previsualizar el servidor local de desarrollo. Puedes anotar la página y dejar que Codex modifique una ubicación específica de UI. Este flujo de &amp;ldquo;mirar la página, hacer clic en la posición y pedir a la IA que la cambie&amp;rdquo; suele ser mejor para depuración frontend que descripciones puramente textuales.&lt;/p&gt;
&lt;h2 id=&#34;git-ide-y-rollback-de-código&#34;&gt;Git, IDE y rollback de código
&lt;/h2&gt;&lt;p&gt;Codex App no es un IDE completo. Puede ver código y añadir anotaciones, pero la edición manual sigue siendo mejor en VS Code, Cursor, Windsurf u otro IDE.&lt;/p&gt;
&lt;p&gt;Todo proyecto de Codex debería inicializar Git temprano:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pedir a Codex que cree o revise &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Hacer un commit al llegar a un estado usable.&lt;/li&gt;
&lt;li&gt;Asegurar un punto de commit limpio antes de cada cambio grande.&lt;/li&gt;
&lt;li&gt;Volver atrás con Git si no estás satisfecho.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si haces rollback solo del historial de chat, el código no vuelve automáticamente. Un enfoque más seguro es devolver el chat al punto correcto y luego usar un hash de commit Git para devolver el código al estado correspondiente.&lt;/p&gt;
&lt;h2 id=&#34;worktree-desarrollo-paralelo-en-varias-direcciones&#34;&gt;Worktree: desarrollo paralelo en varias direcciones
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;git worktree&lt;/code&gt; es especialmente adecuado para agentes paralelos en Codex App.&lt;/p&gt;
&lt;p&gt;Crea varios directorios de trabajo independientes desde el mismo repositorio, cada uno correspondiente a una rama distinta. Esto permite que diferentes agentes trabajen en distintas carpetas al mismo tiempo sin sobrescribirse.&lt;/p&gt;
&lt;p&gt;Uso típico:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un worktree optimiza el componente de reseñas de clientes.&lt;/li&gt;
&lt;li&gt;Un worktree ajusta información de tienda y diseño del mapa.&lt;/li&gt;
&lt;li&gt;Fusionar ambas tareas de vuelta a main tras completarlas.&lt;/li&gt;
&lt;li&gt;Eliminar worktrees temporales después de fusionar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es mucho más seguro que dejar que varios agentes modifiquen código en el mismo directorio. Si hay conflictos, revísalos y fusiónalos con flujos Git normales.&lt;/p&gt;
&lt;h2 id=&#34;entorno-de-ejecución-en-la-nube&#34;&gt;Entorno de ejecución en la nube
&lt;/h2&gt;&lt;p&gt;Codex puede trabajar no solo en tu máquina local, sino también en un entorno de nube.&lt;/p&gt;
&lt;p&gt;La ejecución en la nube es adecuada cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Estás fuera y solo tienes un teléfono.&lt;/li&gt;
&lt;li&gt;Quieres que los agentes ejecuten tareas largas en segundo plano.&lt;/li&gt;
&lt;li&gt;El código ya se sincronizó con GitHub y Codex necesita modificar el repositorio remoto.&lt;/li&gt;
&lt;li&gt;Quieres revisar y fusionar cambios mediante PRs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un flujo típico es: subir el código local a GitHub, dejar que Codex descargue el repositorio en un entorno de nube, ejecutar la tarea, generar cambios y presentarlos como PR o diff para revisión.&lt;/p&gt;
&lt;p&gt;Al continuar el desarrollo local, recuerda traer los últimos cambios remotos.&lt;/p&gt;
&lt;h2 id=&#34;sistema-de-memoria-escribe-un-buen-agentsmd&#34;&gt;Sistema de memoria: escribe un buen AGENTS.md
&lt;/h2&gt;&lt;p&gt;Los chats nuevos no tienen memoria histórica completa por defecto. Una vez que un proyecto se vuelve complejo, explicar el contexto repetidamente es ineficiente.&lt;/p&gt;
&lt;p&gt;La solución más general es mantener &lt;code&gt;AGENTS.md&lt;/code&gt; en la raíz del proyecto. Este archivo puede registrar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objetivos del proyecto y stack principal.&lt;/li&gt;
&lt;li&gt;Comandos comunes.&lt;/li&gt;
&lt;li&gt;Estructura de directorios.&lt;/li&gt;
&lt;li&gt;Estilo de código y convenciones de nombres.&lt;/li&gt;
&lt;li&gt;Acciones prohibidas, como borrar archivos en masa.&lt;/li&gt;
&lt;li&gt;Reglas de pruebas, build y despliegue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;También puedes pedir a Codex que lea el proyecto y genere una primera versión de &lt;code&gt;AGENTS.md&lt;/code&gt;, luego revisarla manualmente. Para proyectos complejos, vale la pena mantener este archivo.&lt;/p&gt;
&lt;p&gt;Las reglas globales deben usarse con cuidado. Son adecuadas para restricciones universales de seguridad, como &amp;ldquo;no borrar directorios recursivamente&amp;rdquo; o &amp;ldquo;confirmar antes de operaciones destructivas&amp;rdquo;. No pongas detalles específicos del proyecto en reglas globales, o contaminarán otros proyectos.&lt;/p&gt;
&lt;h2 id=&#34;plugins-y-automatizaciones&#34;&gt;Plugins y automatizaciones
&lt;/h2&gt;&lt;p&gt;Los plugins conectan Codex con servicios externos como GitHub, Gmail, Google Drive, bases de datos y plataformas de despliegue.&lt;/p&gt;
&lt;p&gt;Su valor está en reducir copiar y pegar. Por ejemplo, Codex puede:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Revisar tendencias de estrellas de un repositorio GitHub.&lt;/li&gt;
&lt;li&gt;Resumir contenido de email y enviártelo.&lt;/li&gt;
&lt;li&gt;Ejecutar una revisión recurrente.&lt;/li&gt;
&lt;li&gt;Escribir el resultado como resumen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las automatizaciones son adecuadas para tareas repetidas. Por ejemplo, revisar datos de un repositorio todos los viernes por la tarde y enviar un informe por email. Las tareas simples de automatización normalmente no requieren el modelo más fuerte; basta un modelo más ligero.&lt;/p&gt;
&lt;h2 id=&#34;skills-convertir-flujos-de-trabajo-en-capacidades-reutilizables&#34;&gt;Skills: convertir flujos de trabajo en capacidades reutilizables
&lt;/h2&gt;&lt;p&gt;Las Skills son &amp;ldquo;manuales profesionales&amp;rdquo; para Codex. No son prompts de una sola vez. Empaquetan un flujo de tarea, reglas, scripts y notas para que Codex pueda reutilizarlos de forma fiable después.&lt;/p&gt;
&lt;p&gt;Fuentes comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skills oficiales.&lt;/li&gt;
&lt;li&gt;Skills de terceros.&lt;/li&gt;
&lt;li&gt;Skills escritas por ti.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Buenos candidatos para Skills incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Convertir subtítulos en notas ilustradas.&lt;/li&gt;
&lt;li&gt;Escribir informes semanales con formato de empresa.&lt;/li&gt;
&lt;li&gt;Procesar imágenes o documentos por lotes.&lt;/li&gt;
&lt;li&gt;Revisiones de código con formato fijo.&lt;/li&gt;
&lt;li&gt;Inicialización de proyectos para un framework concreto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si has copiado y pegado el mismo prompt muchas veces, vale la pena convertirlo en una Skill.&lt;/p&gt;
&lt;h2 id=&#34;mcp-conectar-herramientas-externas-y-bases-de-datos&#34;&gt;MCP: conectar herramientas externas y bases de datos
&lt;/h2&gt;&lt;p&gt;MCP puede entenderse como un protocolo estandarizado de herramientas para modelos grandes. Mediante MCP, Codex puede llamar servicios externos para completar tareas más concretas.&lt;/p&gt;
&lt;p&gt;Por ejemplo, después de conectar Supabase, Codex puede:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Crear tablas de base de datos.&lt;/li&gt;
&lt;li&gt;Leer esquemas de base de datos.&lt;/li&gt;
&lt;li&gt;Modificar endpoints backend.&lt;/li&gt;
&lt;li&gt;Enviar formularios frontend a la base de datos.&lt;/li&gt;
&lt;li&gt;Depurar problemas según el estado de la base de datos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es poderoso, pero los permisos importan. Bases de datos, entornos de producción, plataformas de despliegue y cuentas de email son recursos de alto riesgo. Al conectarlos por primera vez, usa un proyecto de prueba y una cuenta con pocos privilegios.&lt;/p&gt;
&lt;h2 id=&#34;plugins-de-despliegue&#34;&gt;Plugins de despliegue
&lt;/h2&gt;&lt;p&gt;Los plugins de plataformas de despliegue pueden permitir que Codex complete builds y releases directamente, como desplegar un proyecto frontend en Netlify.&lt;/p&gt;
&lt;p&gt;Estos plugins son adecuados para sitios pequeños, prototipos, herramientas internas y demos. En uso real, presta atención a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ejecutar un build local antes del despliegue.&lt;/li&gt;
&lt;li&gt;No escribir variables de entorno directamente en el código.&lt;/li&gt;
&lt;li&gt;Comprobar que la página abre normalmente después de publicar.&lt;/li&gt;
&lt;li&gt;Mantener revisión humana para proyectos de producción.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La IA puede ayudar a conectar el flujo de despliegue, pero los permisos de despliegue deben gestionarse con cuidado.&lt;/p&gt;
&lt;h2 id=&#34;automatización-del-ordenador&#34;&gt;Automatización del ordenador
&lt;/h2&gt;&lt;p&gt;Con plataformas y entornos de plugins soportados, Codex también puede operar navegadores o apps de escritorio, completando tareas más cercanas a RPA.&lt;/p&gt;
&lt;p&gt;Ejemplos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abrir una app de chat y preparar un mensaje.&lt;/li&gt;
&lt;li&gt;Navegar un tablero de proyecto y resumir estado de tareas.&lt;/li&gt;
&lt;li&gt;Generar un brief en inglés.&lt;/li&gt;
&lt;li&gt;Enviarlo a un destinatario especificado después de tu confirmación.&lt;/li&gt;
&lt;li&gt;Convertir el flujo en una automatización programada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas capacidades son imaginativas, pero requieren los límites de seguridad más fuertes. Cualquier operación que implique enviar mensajes, enviar email, enviar formularios, pagos o eliminar datos debe conservar confirmación humana.&lt;/p&gt;
&lt;h2 id=&#34;sugerencias-de-uso&#34;&gt;Sugerencias de uso
&lt;/h2&gt;&lt;p&gt;La forma correcta de usar Codex App no es dejarle tomar todo de golpe, sino dividir tareas y permitir que ejecute eficientemente en un entorno controlado.&lt;/p&gt;
&lt;p&gt;Hábitos recomendados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inicializar Git en cada proyecto.&lt;/li&gt;
&lt;li&gt;Usar modo plan para tareas complejas.&lt;/li&gt;
&lt;li&gt;Usar worktree para tareas paralelas.&lt;/li&gt;
&lt;li&gt;Poner reglas de proyecto en &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Mantener confirmación humana para acciones de alto riesgo.&lt;/li&gt;
&lt;li&gt;Convertir flujos repetidos en Skills o automatizaciones.&lt;/li&gt;
&lt;li&gt;Validar plugins y MCP primero en un entorno de prueba.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://openai.com/index/introducing-the-codex-app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Introducing the Codex app - OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/11369540-codex-in-chatgpt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Using Codex with your ChatGPT plan - OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://openai.com/academy/codex-plugins-and-skills/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Plugins and skills - OpenAI Academy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Codex App no es &amp;ldquo;otra ventana de chat con IA&amp;rdquo;. Su foco es convertir la programación con IA en un espacio de trabajo gestionable, donde proyectos locales, tareas en la nube, Git, worktree, plugins, Skills, MCP y automatización puedan conectarse.&lt;/p&gt;
&lt;p&gt;La clave para usarla bien es equilibrar libertad y control. Las tareas pequeñas pueden entregarse a Codex con confianza. Las tareas complejas deben empezar con un plan. Las acciones de alto riesgo deben confirmarse. Usada así, Codex puede convertirse no solo en un asistente que escribe código, sino en una herramienta de ingeniería de largo plazo.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>mattpocock/skills: una colecci贸n pr谩ctica de habilidades para agentes de codificaci贸n con IA</title>
        <link>https://knightli.com/es/2026/05/01/mattpocock-skills-ai-agent-coding-workflows/</link>
        <pubDate>Fri, 01 May 2026 03:43:20 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/mattpocock-skills-ai-agent-coding-workflows/</guid>
        <description>&lt;p&gt;&lt;code&gt;mattpocock/skills&lt;/code&gt; es una colección pública de habilidades de agentes de codificación IA de Matt Pocock.&lt;/p&gt;
&lt;p&gt;No es una aplicación completa ni un nuevo cliente de chat. Es un conjunto de habilidades funcionales que pueden ser utilizadas por asistentes de codificación IA. La idea es práctica: desglosar problemas comunes de codificación de IA en pequeñas habilidades que un Agent puede llamar en la tarea adecuada, en lugar de depender de un solo prompt enorme cada vez.&lt;/p&gt;
&lt;p&gt;Si a menudo utilizas Claude Code, Codex, Cursor o herramientas de codificación IA similares, vale la pena observar este tipo de colección de habilidades. Lo que realmente afecta la experiencia de codificación con IA a menudo no es si el modelo puede escribir código, sino si puede avanzar en la tarea según tu estilo de trabajo preferido.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué Problema Resuelve
&lt;/h2&gt;&lt;p&gt;Los asistentes de codificación de IA son potentes, pero pueden cometer errores fácilmente.&lt;/p&gt;
&lt;p&gt;Las situaciones comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comenzar cambios de código sin entender el requisito&lt;/li&gt;
&lt;li&gt;Modificar demasiados archivos a la vez&lt;/li&gt;
&lt;li&gt;Producir mucha explicación pero poca acción útil&lt;/li&gt;
&lt;li&gt;Intentar cosas a ciegas después de errores&lt;/li&gt;
&lt;li&gt;No ejecutar pruebas o verificaciones a tiempo&lt;/li&gt;
&lt;li&gt;Ignorar patrones de proyecto existentes&lt;/li&gt;
&lt;li&gt;Introducir abstracciones innecesarias para terminar una tarea&lt;/li&gt;
&lt;li&gt;Escribir código sin revisar realmente los riesgos después&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos problemas no siempre son causados por una débil capacidad del modelo. A menudo, el flujo de trabajo no está lo suficientemente restringido.&lt;/p&gt;
&lt;p&gt;El valor de &lt;code&gt;mattpocock/skills&lt;/code&gt; es que transforma estos modos de fallo comunes en métodos operativos reutilizables, haciendo que el Agent se comporte más como un colaborador de ingeniería experimentado en diferentes escenarios.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;qué-son-los-skills&#34;&gt;¿Qué son los Skills
&lt;/h2&gt;&lt;p&gt;En el contexto de AI Agent, un skill se puede entender como una instrucción de tarea reutilizable, un método de trabajo o un flujo de trabajo profesional.&lt;/p&gt;
&lt;p&gt;No tiene por qué ser un código plugin, y no siempre necesita llamar a un servicio externo. En muchos casos, un skill es simplemente un conjunto claro de reglas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuándo usarlo&lt;/li&gt;
&lt;li&gt;Qué hacer primero&lt;/li&gt;
&lt;li&gt;Qué no hacer&lt;/li&gt;
&lt;li&gt;Qué salida se requiere&lt;/li&gt;
&lt;li&gt;Cómo juzgar la finalización de la tarea&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es algo parecido a una normal prompt template, pero la granularidad está más cerca de una capacidad de tarea.&lt;/p&gt;
&lt;p&gt;Las normal prompt templates suelen copiarse y pegarse manualmente por el usuario. Los skills son mejores como parte de una toolbox de agente, lo que permite al Agent elegir el flujo de trabajo correcto para la tarea.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;por-qué-es-importante-la-pequeñez-y-la-componibilidad&#34;&gt;Por qué es importante la pequeñez y la componibilidad
&lt;/h2&gt;&lt;p&gt;El README enfatiza que estas habilidades son pequeñas y componibles.&lt;/p&gt;
&lt;p&gt;Esta dirección es importante.&lt;/p&gt;
&lt;p&gt;Si una habilidad intenta manejarlo todo, rápidamente se convierte en un nuevo prompt gigante: largo, vago y difícil de mantener. La ventaja de las habilidades pequeñas son los límites claros.&lt;/p&gt;
&lt;p&gt;Por ejemplo, una habilidad puede centrarse en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planificar primero&lt;/li&gt;
&lt;li&gt;Arreglar errores de TypeScript&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas y corregir basándose en los resultados&lt;/li&gt;
&lt;li&gt;Realizar revisión de código (code review)&lt;/li&gt;
&lt;li&gt;Resumir convenciones del proyecto&lt;/li&gt;
&lt;li&gt;Mejorar prompts&lt;/li&gt;
&lt;li&gt;Eliminar abstracciones innecesarias&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas habilidades se pueden combinar según la tarea. Una tarea simple puede necesitar solo una habilidad, mientras que una tarea compleja puede encadenar varias.&lt;/p&gt;
&lt;p&gt;Esto se acerca más al trabajo de ingeniería real. No utilizas el mismo flujo de trabajo (workflow) para cada problema; eliges las herramientas según la situación.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;manteniendo-al-ingeniero-en-control&#34;&gt;Manteniendo al Ingeniero en Control
&lt;/h2&gt;&lt;p&gt;Una dirección importante de este repositorio es mantener al ingeniero en control.&lt;/p&gt;
&lt;p&gt;La codificación con IA puede derivarse fácilmente en dos extremos.&lt;/p&gt;
&lt;p&gt;El primero es completamente manual. La IA solo ayuda a escribir unas pocas líneas de código, mientras que todo el contexto, la planificación y la verificación todavía dependen de ti.&lt;/p&gt;
&lt;p&gt;El segundo es completamente automatizado (hands-off). Tú envías una tarea a un Agent, lo dejas cambiar muchas cosas, y luego te enfrentas a un &lt;code&gt;diff&lt;/code&gt; que es difícil de revisar.&lt;/p&gt;
&lt;p&gt;Las habilidades ayudan a encontrar una posición intermedia más estable.&lt;/p&gt;
&lt;p&gt;Permiten que la IA asuma más flujo de trabajo repetitivo, mientras la sigue limitando con reglas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entender la tarea antes de actuar&lt;/li&gt;
&lt;li&gt;Leer los archivos relevantes antes de editar&lt;/li&gt;
&lt;li&gt;Mantener el alcance de la modificación controlado&lt;/li&gt;
&lt;li&gt;Informar sobre la incertidumbre&lt;/li&gt;
&lt;li&gt;Verificar después de los cambios&lt;/li&gt;
&lt;li&gt;No refactorizar código no relacionado solo para demostrar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no debilita a la IA. Hace que las acciones de la IA sean más fáciles de revisar y asumir para los humanos.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-de-alineación&#34;&gt;Problemas de Alineación
&lt;/h2&gt;&lt;p&gt;El primer tipo de fallo de codificación de IA suele ser un fallo de alineación.&lt;/p&gt;
&lt;p&gt;El usuario quiere un cambio muy específico, pero el Agent puede entenderlo como una refactorización más amplia. El usuario solo quiere que se arregle un bug, pero cambia estilos en el proceso. El usuario quiere que se siga la arquitectura existente, pero introduce un patrón nuevo.&lt;/p&gt;
&lt;p&gt;Las habilidades pueden ayudar al Agent a hacer varias cosas al comienzo de una tarea:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Restatear el objetivo&lt;/li&gt;
&lt;li&gt;Identificar el alcance del impacto&lt;/li&gt;
&lt;li&gt;Reconocer los patrones de implementación existentes&lt;/li&gt;
&lt;li&gt;Proporcionar un plan&lt;/li&gt;
&lt;li&gt;Aclarar lo que no se hará&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este paso es como una autocomprobación del ingeniero antes de comenzar el trabajo.&lt;/p&gt;
&lt;p&gt;Si el Agent no puede declarar claramente los límites de la tarea y comienza a escribir código directamente, es fácil que la tarea se desvíe.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-del-bucle-de-retroalimentación&#34;&gt;Problemas del Bucle de Retroalimentación
&lt;/h2&gt;&lt;p&gt;La IA no debe escribir código únicamente mediante la generación one-shot.&lt;/p&gt;
&lt;p&gt;En el desarrollo real, los bucles de retroalimentación son importantes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cambiar una pequeña parte&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas o type checks&lt;/li&gt;
&lt;li&gt;Leer los errores&lt;/li&gt;
&lt;li&gt;Corregirlos&lt;/li&gt;
&lt;li&gt;Verificar de nuevo&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Muchos Agents fallan porque omiten la retroalimentación intermedia. Cambian muchas cosas a la vez y luego resumen por intuición que &amp;ldquo;it should work&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Las Skills pueden hacer explícito el bucle de retroalimentación. Por ejemplo, pueden exigir al Agent que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ejecute comprobaciones relevantes después de la modificación&lt;/li&gt;
&lt;li&gt;Lea los mensajes de error primero si las comprobaciones fallan&lt;/li&gt;
&lt;li&gt;Evite cambiar ciegamente archivos no relacionados&lt;/li&gt;
&lt;li&gt;Verifique de nuevo después de cada ronda de correcciones&lt;/li&gt;
&lt;li&gt;Informe los resultados finales de la verificación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hace que la codificación con IA se parezca más al depurado (debugging) real y menos a la escritura one-shot.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-de-control-de-arquitectura&#34;&gt;Problemas de Control de Arquitectura
&lt;/h2&gt;&lt;p&gt;AI es bueno generando abstracciones, y también bueno sobregenerando abstracciones.&lt;/p&gt;
&lt;p&gt;Para completar un requisito pequeño, puede crear una capa de servicio (service layer), funciones auxiliares (helper functions), objetos de configuración, &lt;em&gt;type wrappers&lt;/em&gt; y adaptadores, haciendo que el código sea mucho más complejo que el requisito en sí.&lt;/p&gt;
&lt;p&gt;Esto es especialmente peligroso en proyectos grandes. Las abstracciones generadas por AI a menudo parecen profesionales, pero pueden no coincidir con el estilo del proyecto existente y pueden aumentar el costo de mantenimiento.&lt;/p&gt;
&lt;p&gt;Las buenas habilidades recuerdan al Agent que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preferir patrones existentes&lt;/li&gt;
&lt;li&gt;Evitar nuevas abstracciones innecesarias&lt;/li&gt;
&lt;li&gt;Evitar la refactorización de áreas no relacionadas&lt;/li&gt;
&lt;li&gt;Ajustar el cambio al tamaño de la tarea&lt;/li&gt;
&lt;li&gt;Comprender el código antes de diseñar la estructura&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto reduce la producción que parece ingenierizada pero que en realidad es más difícil de mantener.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;por-qué-son-importantes-las-habilidades-de-revisión&#34;&gt;Por qué son importantes las habilidades de revisión
&lt;/h2&gt;&lt;p&gt;Escribir código y revisar código son estados diferentes.&lt;/p&gt;
&lt;p&gt;Cuando un Agent escribe código, generalmente tiende a demostrar que su implementación funciona. Puede explicar por qué el cambio debería funcionar, pero no siempre busca activamente riesgos.&lt;/p&gt;
&lt;p&gt;El propósito de una habilidad de revisión es cambiar el rol del Agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Encontrar posibles errores (bugs)&lt;/li&gt;
&lt;li&gt;Encontrar regresiones de comportamiento&lt;/li&gt;
&lt;li&gt;Encontrar pruebas faltantes&lt;/li&gt;
&lt;li&gt;Encontrar casos límite (edge cases)&lt;/li&gt;
&lt;li&gt;Encontrar mayor complejidad&lt;/li&gt;
&lt;li&gt;Encontrar inconsistencias con las convenciones existentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es importante para la programación con IA porque la IA genera código rápidamente. Sin revisión, los usuarios pueden sentirse fácilmente abrumados por grandes &lt;em&gt;diffs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Una buena salida de revisión debe listar los problemas primero, no alabar la implementación primero. Debe ayudar al ingeniero a decidir si el cambio se puede fusionar (&lt;em&gt;merged&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;diferencia-con-los-archivos-de-reglas-normales&#34;&gt;Diferencia con los archivos de reglas normales
&lt;/h2&gt;&lt;p&gt;Muchas herramientas de codificación de IA admiten reglas, instrucciones o memoria.&lt;/p&gt;
&lt;p&gt;Estos archivos generalmente registran reglas a largo plazo, como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stack tecnológico del proyecto&lt;/li&gt;
&lt;li&gt;Convenciones de nomenclatura&lt;/li&gt;
&lt;li&gt;Comandos de prueba&lt;/li&gt;
&lt;li&gt;Directorios que no deben modificarse&lt;/li&gt;
&lt;li&gt;Preferencias de estilo de respuesta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las habilidades (Skills) se centran más en el flujo de trabajo de la tarea.&lt;/p&gt;
&lt;p&gt;Las reglas le dicen al Agent &amp;ldquo;cómo comportarse a largo plazo&amp;rdquo;, mientras que las habilidades le dicen al Agent &amp;ldquo;cómo ejecutar este tipo de tarea&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Ambos funcionan mejor juntos.&lt;/p&gt;
&lt;p&gt;Por ejemplo, las reglas pueden indicar que el proyecto usa &lt;code&gt;pnpm test&lt;/code&gt;, mientras que una habilidad de revisión requiere verificar la cobertura de pruebas después de los cambios. Entonces el Agent sabe no solo el comando, sino también cuándo usarlo.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios Adecuados
&lt;/h2&gt;&lt;p&gt;Los repositorios como &lt;code&gt;mattpocock/skills&lt;/code&gt; son adecuados para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uso frecuente de AI coding tools&lt;/li&gt;
&lt;li&gt;Agents que trabajan en codebases reales&lt;/li&gt;
&lt;li&gt;Reducir ediciones de AI fuera de alcance&lt;/li&gt;
&lt;li&gt;Hacer que el Agent verifique los resultados de forma más activa&lt;/li&gt;
&lt;li&gt;Convertir tus hábitos de ingeniería en skills&lt;/li&gt;
&lt;li&gt;Aprender cómo otros diseñan workflows de agentes&lt;/li&gt;
&lt;li&gt;Convertir prompts temporales en una colección de skills mantenible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo pides ocasionalmente a AI que escriba una función pequeña, quizás no necesites mantener skills.&lt;/p&gt;
&lt;p&gt;Pero si ya tratas a AI como un socio de desarrollo a largo plazo, las skills se vuelven cada vez más importantes. Son como un método de trabajo reutilizable para el Agent.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;cómo-aprender-de-este-repositorio&#34;&gt;Cómo aprender de este repositorio
&lt;/h2&gt;&lt;p&gt;Incluso si no utilizas cada habilidad directamente, puedes aprender varias cosas de este repositorio.&lt;/p&gt;
&lt;p&gt;Primero, anota los modos de fallo.&lt;/p&gt;
&lt;p&gt;No solo te quejes cuando la AI comete un error. Convierte los patrones que a menudo se equivoca en reglas, para que una habilidad pueda evitarlos la próxima vez.&lt;/p&gt;
&lt;p&gt;Segundo, mantén las habilidades cortas.&lt;/p&gt;
&lt;p&gt;Una habilidad debe resolver un problema claro. Cuanto más corta sea, más fácil será llamarla correctamente y mantenerla.&lt;/p&gt;
&lt;p&gt;Tercero, haz que el formato de salida sea claro.&lt;/p&gt;
&lt;p&gt;Si quieres que el Agent enumere un plan primero, ejecute después y resuma los resultados de verificación al final, escribe esa estructura claramente. Los requisitos vagos suelen producir resultados vagos.&lt;/p&gt;
&lt;p&gt;Cuarto, conserva puntos de traspaso humano.&lt;/p&gt;
&lt;p&gt;Una buena habilidad no debe permitir que la AI funcione sola durante demasiado tiempo. Cuando haya incertidumbre, un alcance de impacto expandido, pruebas fallidas o una decisión de producto, debe detenerse y explicar la situación.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;notas-de-uso&#34;&gt;Notas de uso
&lt;/h2&gt;&lt;p&gt;Primero, no conviertas todo en habilidades (skills).&lt;/p&gt;
&lt;p&gt;Demasiadas habilidades hacen que el sistema sea complejo, y el Agent podría no saber cuál elegir. Empieza con los escenarios más frecuentes y más problemáticos.&lt;/p&gt;
&lt;p&gt;Segundo, las habilidades necesitan iteración.&lt;/p&gt;
&lt;p&gt;La primera versión de una habilidad puede no ser buena. Observa cómo la IA la ejecuta realmente, luego elimina, añade y reescribe gradualmente.&lt;/p&gt;
&lt;p&gt;Tercero, no permitas que las habilidades reemplacen el juicio de la ingeniería.&lt;/p&gt;
&lt;p&gt;Las habilidades pueden mejorar el flujo de trabajo, pero no pueden garantizar una implementación correcta. Las pruebas (tests), la revisión, las comprobaciones de compilación (build checks) y el juicio humano siguen siendo importantes.&lt;/p&gt;
&lt;p&gt;Cuarto, presta atención a las diferencias entre los Agents.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, Cursor y Copilot soportan las instrucciones, las habilidades y las reglas de manera diferente. La misma idea se puede reutilizar, pero el formato específico debe ajustarse para cada herramienta.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/mattpocock/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mattpocock/skills&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento Final
&lt;/h2&gt;&lt;p&gt;Lo que hace que &lt;code&gt;mattpocock/skills&lt;/code&gt; merezca la pena es no un único prompt mágico dentro de él, sino la idea práctica de codificación con IA que demuestra: dividir la experiencia de ingeniería en pequeñas habilidades y luego permitir que el Agent las combine según el escenario.&lt;/p&gt;
&lt;p&gt;A medida que la codificación con IA pasa de ser una asistencia ocasional a formar parte del flujo de trabajo diario, las habilidades se convierten en herramientas importantes para limitar a los Agents, mantener a los ingenieros en control y mejorar la calidad de la retroalimentación.
false&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Por qué existe una habilidad del Codex en el directorio pero aún no aparece?</title>
        <link>https://knightli.com/es/2026/04/29/codex-skill-not-loaded-because-of-utf-8-bom/</link>
        <pubDate>Wed, 29 Apr 2026 11:18:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/codex-skill-not-loaded-because-of-utf-8-bom/</guid>
        <description>&lt;p&gt;Este problema era fácil de pasar por alto: varias habilidades ya estaban ubicadas en &lt;code&gt;~/.codex/skills&lt;/code&gt;, pero después de abrir un nuevo hilo del Codex, la barra lateral todavía mostraba solo un pequeño subconjunto de ellas.&lt;/p&gt;
&lt;p&gt;Al principio, parecía un problema de caché o de indexación. La causa real fue más específica: varios archivos &lt;code&gt;SKILL.md&lt;/code&gt; comenzaron con una lista de materiales UTF-8. El cargador de habilidades de Codex 0.111.0 no omitió esa secuencia de bytes, por lo que calculó erróneamente que los archivos no tenían contenido YAML válido.&lt;/p&gt;
&lt;h2 id=&#34;síntoma&#34;&gt;Síntoma
&lt;/h2&gt;&lt;p&gt;El directorio local contenía estas habilidades:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/git-commit-push/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/hugo-rsync-deploy/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/bilibili-speech-transcriber/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/product-cutout-normalize/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Pero después de abrir un hilo nuevo, las habilidades realmente expuestas fueron solo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bilibili-speech-transcriber
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;product-cutout-normalize
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En otras palabras, un archivo existente en el disco no significa que la sesión actual pueda cargarlo correctamente. Codex analiza primero la portada de cada &lt;code&gt;SKILL.md&lt;/code&gt;. Si el análisis falla, esa habilidad se excluye directamente.&lt;/p&gt;
&lt;h2 id=&#34;investigación&#34;&gt;Investigación
&lt;/h2&gt;&lt;p&gt;Iniciar una nueva sesión con &lt;code&gt;codex exec&lt;/code&gt; mostró un error más directo. En VS Code u otros IDE, es posible que estos registros no sean visibles:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;failed to load skill C:\Users\knightli\.codex\skills\git-commit-push\SKILL.md: missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;failed to load skill C:\Users\knightli\.codex\skills\hugo-rsync-deploy\SKILL.md: missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Visualmente, estos archivos parecían tener un encabezado normal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;name: post-rewrite
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;description: ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El verdadero problema estaba en el nivel de bytes.&lt;/p&gt;
&lt;p&gt;El comienzo de un archivo fallido fue:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EF-BB-BF-2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El comienzo de un archivo que se cargó correctamente fue:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;2D-2D-2D&lt;/code&gt; es &lt;code&gt;---&lt;/code&gt;. El &lt;code&gt;EF-BB-BF&lt;/code&gt; anterior es la lista de materiales UTF-8.&lt;/p&gt;
&lt;h2 id=&#34;causa&#34;&gt;Causa
&lt;/h2&gt;&lt;p&gt;En Codex 0.111.0, el cargador de habilidades espera que el primer byte de &lt;code&gt;SKILL.md&lt;/code&gt; sea el primer &lt;code&gt;-&lt;/code&gt; en &lt;code&gt;---&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si el archivo comienza con una lista de materiales UTF-8, el comienzo real será:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BOM + ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Entonces, el cargador piensa que el archivo no comienza con el delimitador inicial e informa:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El contenido de la habilidad no era incorrecto y el directorio tampoco era incorrecto. Un pequeño detalle de codificación impidió que el analizador reconociera el archivo.&lt;/p&gt;
&lt;h2 id=&#34;arreglar&#34;&gt;Arreglar
&lt;/h2&gt;&lt;p&gt;Convierta los archivos &lt;code&gt;SKILL.md&lt;/code&gt; afectados a UTF-8 sin BOM.&lt;/p&gt;
&lt;p&gt;En PowerShell, esto se puede hacer así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$paths&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;vm&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;C:\Users\knightli\.codex\skills\git-commit-push\SKILL.md&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;C:\Users\knightli\.codex\skills\hugo-rsync-deploy\SKILL.md&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$utf8NoBom&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;New-Object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;Text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;UTF8Encoding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;vm&#34;&gt;$false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$paths&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$text&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;IO.File&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReadAllText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;Text.Encoding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;UTF8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;IO.File&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteAllText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$utf8NoBom&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después del procesamiento, el encabezado del archivo debería cambiar de:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EF-BB-BF-2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;a:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;verificación&#34;&gt;Verificación
&lt;/h2&gt;&lt;p&gt;Después de reiniciar una sesión del Codex, las habilidades visibles se restauraron en:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git-commit-push-zh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo-rsync-deploy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bilibili-speech-transcriber
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;product-cutout-normalize
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si la barra lateral todavía muestra la lista anterior, cierre la barra lateral o ventana actual del Codex y vuelva a abrir el proyecto. La lista de habilidades generalmente se carga cuando comienza la sesión, por lo que es posible que los cambios realizados en mitad de una sesión no se actualicen inmediatamente.&lt;/p&gt;
&lt;h2 id=&#34;una-última-línea&#34;&gt;Una última línea
&lt;/h2&gt;&lt;p&gt;Este tipo de problema es fácil de confundir con &amp;ldquo;El Codex no se volvió a indexar&amp;rdquo; o &amp;ldquo;la habilidad no se instaló correctamente&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Al solucionar problemas, verifique primero estas tres cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si &lt;code&gt;SKILL.md&lt;/code&gt; está realmente en el directorio correcto&lt;/li&gt;
&lt;li&gt;si el archivo tiene un texto inicial &lt;code&gt;---&lt;/code&gt; válido en la parte superior&lt;/li&gt;
&lt;li&gt;si el archivo es UTF-8 sin BOM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La clave en este caso fue el tercer punto: el archivo se veía bien, pero su primer byte no era &amp;ldquo;-&amp;rdquo;, por lo que Codex no lo trató como una habilidad válida.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Cuál es la diferencia entre ~/.codex/skills y Project .codex/skills en Codex?</title>
        <link>https://knightli.com/es/2026/04/29/difference-between-global-and-project-codex-skills/</link>
        <pubDate>Wed, 29 Apr 2026 11:08:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/difference-between-global-and-project-codex-skills/</guid>
        <description>&lt;p&gt;Al organizar las habilidades del Codex, la gente suele quedarse estancada en dos preguntas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;¿Cuál es la diferencia entre &lt;code&gt;~/.codex/skills&lt;/code&gt; y &lt;code&gt;project/.codex/skills&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;¿Por qué existe una habilidad en el directorio pero no aparece en la sesión actual?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquí está la versión corta.&lt;/p&gt;
&lt;h2 id=&#34;la-diferencia&#34;&gt;La diferencia
&lt;/h2&gt;&lt;p&gt;La forma más sencilla de recordarlo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt; es tu biblioteca de habilidades global&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project/.codex/skills&lt;/code&gt; es la biblioteca de habilidades local para ese repositorio&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;codexskills&#34;&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Úselo para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Habilidades que reutilizas personalmente en todos los proyectos.&lt;/li&gt;
&lt;li&gt;flujos de trabajo generales que no están vinculados a un repositorio específico&lt;/li&gt;
&lt;li&gt;flujos de trabajo que claramente pertenecen a sus propios hábitos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;post-reescritura&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;post-traducir&lt;/code&gt;
-&lt;code&gt;git-commit-push&lt;/code&gt;
-&lt;code&gt;hugo-rsync-deploy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bilibili-transcriptor-de-voz&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El rasgo clave de este tipo de habilidad es: &lt;strong&gt;todavía tiene sentido fuera del proyecto actual.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;proyectocodexskills&#34;&gt;&lt;code&gt;proyecto/.codex/skills&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Úselo para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;flujos de trabajo que solo se aplican a este repositorio&lt;/li&gt;
&lt;li&gt;reglas estrechamente acopladas a la estructura, scripts o plantillas del proyecto actual&lt;/li&gt;
&lt;li&gt;Habilidades que deben ser compartidas por el equipo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un flujo de trabajo de publicación específico para este repositorio&lt;/li&gt;
&lt;li&gt;una plantilla de generación que solo funciona en este proyecto&lt;/li&gt;
&lt;li&gt;pasos de automatización estrechamente vinculados a scripts de proyectos privados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El rasgo clave de este tipo de habilidad es: &lt;strong&gt;deja de ser significativo una vez que sale de este repositorio.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;cuándo-utilizar-habilidades-globales-y-cuándo-utilizar-habilidades-de-proyecto&#34;&gt;Cuándo utilizar habilidades globales y cuándo utilizar habilidades de proyecto
&lt;/h2&gt;&lt;p&gt;Esta regla general es suficiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si se trata de tus hábitos personales, ponlo en &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Si se trata de reglas del repositorio, colóquelo en &lt;code&gt;project/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Si se puede reutilizar en todos los proyectos, prefiera global&lt;/li&gt;
&lt;li&gt;Si debe ser compartido por varias personas y evolucionar con el repositorio, prefiera el nivel de proyecto&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;el-repositorio-actual&#34;&gt;El repositorio actual
&lt;/h2&gt;&lt;p&gt;Basado en el estado actual:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;su máquina tiene &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;este repositorio no tiene &lt;code&gt;.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que ahora mismo dependes principalmente de las habilidades globales.&lt;/p&gt;
&lt;p&gt;Eso significa que flujos de trabajo como &amp;ldquo;post-reescritura&amp;rdquo;, &amp;ldquo;post-traducción&amp;rdquo; y &amp;ldquo;git-commit-push&amp;rdquo; son actualmente más bien parte de su flujo de trabajo personal, no algo incluido explícitamente con este repositorio.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-existe-una-habilidad-en-el-disco-pero-puede-no-aparecer-en-la-sesión-actual&#34;&gt;Por qué existe una habilidad en el disco pero puede no aparecer en la sesión actual
&lt;/h2&gt;&lt;p&gt;Hay dos cosas diferentes aquí:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Existente en el disco&lt;/strong&gt;: el archivo de habilidad existe en un directorio local&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expuesto a la sesión&lt;/strong&gt;: la sesión actual lo registró en la lista de habilidades disponibles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos no son lo mismo.&lt;/p&gt;
&lt;p&gt;Entonces esto puede suceder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ya existe una habilidad en &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;pero no aparece en la lista después de &lt;code&gt;/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por lo general, esto no significa que la habilidad esté rota. Más a menudo significa: &lt;strong&gt;la sesión actual no la ha vuelto a indexar.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;cómo-hacer-que-una-habilidad-esté-disponible-en-la-sesión-actual&#34;&gt;Cómo hacer que una habilidad esté disponible en la sesión actual
&lt;/h2&gt;&lt;p&gt;La lista de verificación práctica es breve.&lt;/p&gt;
&lt;h3 id=&#34;1-colóquelo-en-el-directorio-correcto&#34;&gt;1. Colóquelo en el directorio correcto
&lt;/h3&gt;&lt;p&gt;Mundiales:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/&amp;lt;skill-name&amp;gt;/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Nivel de proyecto:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;project/.codex/skills/&amp;lt;skill-name&amp;gt;/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;2-haga-que-el-encabezado-skillmd-sea-reconocible&#34;&gt;2. Haga que el encabezado &lt;code&gt;SKILL.md&lt;/code&gt; sea reconocible
&lt;/h3&gt;&lt;p&gt;Como mínimo, necesita:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;name: your-skill-name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;description: What this skill does
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;3-abra-una-nueva-sesión-después-de-crearla-o-editarla&#34;&gt;3. Abra una nueva sesión después de crearla o editarla
&lt;/h3&gt;&lt;p&gt;En muchos casos, una habilidad no aparece porque la sesión actual ya fijó su lista de habilidades disponibles cuando comenzó.&lt;/p&gt;
&lt;p&gt;Entonces, si crea una habilidad en medio de una sesión, es posible que ya exista en el disco, pero es posible que esta sesión no la reconozca.&lt;/p&gt;
&lt;p&gt;El flujo de trabajo más confiable es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ponga en práctica la habilidad&lt;/li&gt;
&lt;li&gt;Finalizar la sesión actual&lt;/li&gt;
&lt;li&gt;Vuelva a ingresar al proyecto.&lt;/li&gt;
&lt;li&gt;Abre una nueva sesión&lt;/li&gt;
&lt;li&gt;Compruebe si aparece debajo de &lt;code&gt;/&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;4-implemente-las-habilidades-para-el-proyecto-antes-de-comenzar&#34;&gt;4. Implemente las habilidades para el proyecto antes de comenzar
&lt;/h3&gt;&lt;p&gt;Si desea que &lt;code&gt;project/.codex/skills&lt;/code&gt; se reconozca de manera más confiable, coloque esas habilidades en el proyecto antes de ingresar al repositorio e iniciar la sesión.&lt;/p&gt;
&lt;h2 id=&#34;una-última-línea&#34;&gt;Una última línea
&lt;/h2&gt;&lt;p&gt;La conclusión más corta es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt; es tu biblioteca de habilidades personales&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project/.codex/skills&lt;/code&gt; es la biblioteca de reglas local del repositorio&lt;/li&gt;
&lt;li&gt;una habilidad existente en el directorio no significa que la sesión actual siempre la mostrará&lt;/li&gt;
&lt;li&gt;la solución más común es colocarlo en el directorio correcto, escribir un &lt;code&gt;SKILL.md&lt;/code&gt; válido y luego iniciar una nueva sesión&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
