Taller de Skills para Agentes de IA desde cero: Claude Code, OpenCode, Codex, Cursor, VS Code...
Publicado no IA Dots ·
Agentes de IAAI Signaldot-ai_agentsdot-artificial_intelligencedot-claudeEspanholidioma-esyt-UGh6q6rKVM4
Vídeo em Espanhol, publicado pelo canal MoureDev by Brais Moure.
Sobre este contenido: El resumen, los puntos principales y los temas que aparecen a continuación se generan automáticamente a partir de la transcripción del vídeo. Reflejan el contenido, las opiniones, afirmaciones y predicciones presentadas en el vídeo y no representan una posición, validación o verificación de hechos por parte de IA Dots.
Resumen del vídeo
El video presenta un curso detallado sobre el desarrollo de software utilizando inteligencia artificial con un enfoque en "skills" (habilidades) para agentes y modelos de IA. El instructor explica los conceptos fundamentales, la anatomía y la creación de skills personalizadas, la utilización de skills avanzadas con referencias y scripts, además de la integración y gestión de skills de terceros creadas por la comunidad.
Puntos principales
- Las skills funcionan como instrucciones empaquetadas para automatizar tareas repetitivas y crear barreras de protección (guardrails) para que las respuestas de la IA sean más precisas y profesionales.
- La anatomía básica de una skill implica la creación de una carpeta específica que contiene un archivo obligatorio llamado `skill.md` con un encabezado en formato YAML y una descripción.
- Es posible desarrollar skills avanzadas estructurando carpetas adicionales para referencias, recursos (assets) y scripts ejecutables.
- Las skills pueden ser invocadas de forma explícita mediante comandos en la barra de herramientas o utilizadas de manera implícita cuando el agente infiere la necesidad durante un prompt.
- La creación de skills se puede realizar a nivel de proyecto o a nivel global, recomendándose precaución para evitar la sobrecarga de contexto en el agente.
- Existen repositorios y agregadores populares, como el sitio de Vercel y creadores de la comunidad, que ponen a disposición skills de terceros para su instalación y uso práctico.
Temas
Desarrollo de softwareInteligencia artificialSkills de agentesAutomatizaciónPrompts y reglasEstructura de archivosHerramientas y editoresComunidad Open Source
Transcripción del vídeo
Texto de los subtítulos disponibles; puede contener errores.
Bienvenidos, bienvenidas. Curso de desarrollo de software con inteligencia artificial centrado en skills. ¿Por qué las skills? porque realmente es uno de los mecanismos que tienen más valor y que se han extendido más de la mano del desarrollo con inteligencia artificial y con agentes. Seguro, estoy seguro, y si no, decirme en comentarios que alguna vez le habéis pedido a la inteligencia artificial cosas sobre las que queréis una explicación o que os lo revise o que os haga un test o que se comporte de una forma concreta. ¿Y qué pasa en muchos casos? que es algo que empezamos a repetirle muchas veces. Así que ahora el primer ejercicio que os pediría para que me dejéis en comentarios es qué instrucciones creéis que repetís mucho a la IA. Es decir, que muchas veces ya os habéis encontrado con la situación de, mira, le estoy volviendo a pedir esto que ya se lo pedí ayer o que ya se lo pedí antes de ayer o que ya se lo pedí para otros tres proyectos en los que estuve trabajando, otros 10 ejercicios en los que estuve trabajando. Y justamente eso es algo que cubre las skills. Una skill traducida del inglés a español básicamente es una habilidad. Lo que pasa es que los agentes de inteligencia artificial, los modelos, las IAS son indeterministas y cada vez nos contestan una cosa y nosotros cada vez le preguntamos de una manera y lo que tenemos que intentar hacer poquito a poco es intentar crear esos guardarraíles, esos jarnés que se llama ahora, esos arneses para que poquito a poco la respuesta de la IA sea lo más parecida a cómo programaríamos nosotros de manera profesional. Y justamente aquí hemos visto un patrón y justamente a lo que se refiere las skills es a cubrir esa parte de continuamente le estoy repitiendo algo, así que por qué no busco un mecanismo para poder automatizar esa habilidad y darle esa habilidad concreta que yo quiero a la inteligencia artificial para que sea más inteligente y para que al fin y al cabo acabe respondiendo mejor y nos acabe dando mejores resultados y podamos acabar desarrollando mejor. Fíjate algunas cosas que estáis diciendo, como la auditoría de código, cómo explicar algo paso a paso, cómo, por ejemplo, no modifiques todo el proyecto o primero reproduce el error antes de buscar cuál es ese BG. Es decir, son cosas que habitualmente nosotros le vamos a preguntar a la IA. Por eso aquí lo que os quiero decir es que vais a salir con un aprendizaje totalmente profundo. Vamos a empezar desde cero. Vamos a empezar a crear nuestra primera skill. Os he creado también este esquemita para que lo tengáis muy claro y vamos a ir avanzando sobre él. Pero os quiero hacer un repaso muy muy rápido para que tengáis en cuenta que vamos a partir de conceptos de cero. Vamos a ir preparando una práctica real, por supuesto. Vamos a crear nuestra primera skill. Vamos a hablar de skills avanzadas, de cómo utilizar skills en todos los agentes. Esto es algo muy importante que tengáis en cuenta porque aquí puede surgir la duda, Bris, es que yo utilizo Visual Studio Code o utilizo Cloud Code o utilizo Open Code. También, por favor, dejarme en comentarios cuál es el agente o la herramienta que utilizáis de inteligencia artificial, porque aquí lo que voy a hacer es hablaros de cómo cubrirlo en prácticamente todas. De hecho, tengo abierto aquí todos los editores. Lo podemos ver. Fijaos. Tengo abierto, vamos a ver por aquí, Cursor. Tengo abierto por aquí Visual Studio Code, tengo abierto por aquí Codex, tengo abierta por aquí la terminal, perdón que he abierto lo que no era la terminal porque vamos a estar trabajando también con Cloud Code y con Open Code. Es decir, os aseguro que la idea no es voy a explicaros las cosas para que funcionen solo en un tipo de agente, no, no, no. Es decir, vamos a explicar como a mí me gustan los fundamentos. No tiene ningún sentido aprender las cosas si no si no lo entendemos desde la base y cómo funcionan, porque si no al final nos acabamos casando con una herramienta, con un agente, con un modelo, con un lenguaje de programación, con un framework y cuando nos sacan de ahí ya no sabemos hacer nada. Así que yo os lo voy a explicar cómo hacer en absolutamente todos para que así vosotros acabéis creando skills, empleando skills en el harness, en el agente que os dé la gana. También vamos a hablar de skills de terceros, es decir, cómo crear nuestras propias habilidades, pero también utilizar habilidades que ya ha creado la comunidad, que ya han creado las empresas y que dan muchísimo valor y que hacen muchísimo más inteligente a nuestro propio agente. Y, por supuesto, también una parte de próximos pasos. Ya veis que hay bastantes cositas que vamos a ver en el curso, pero que realmente yo voy a intentar darlas de la manera más organizada, ¿okay? Así que bueno, ¿qué vais a aprender? Todo lo que os comenté desde la parte de creación skills, utilización de skills de terceros, herramientas para todos los agentes, las skills más populares. Os voy a dar ahí al final para quien se quede hasta el final os voy a decir cuáles son mis skills favoritas, skills que os recomendaría ya al principio, que ya ha creado otra gente para que no tengáis que crearlas vuestras propias. Y por supuesto, a lo largo del curso vamos a crear también nuestras skills, no se trata de que solo utilicemos otras skills y ya está, ¿vale? Así que se trata de que lo vais a poder utilizar en donde os dé la gana. Lo primero que supongo que os estáis preguntando es que deberíamos comenzar por definir qué es una skill. Así que bueno, vamos a irnos por aquí. Vamos a ir siguiendo la parte de conceptos desde cero, si os parece bien. Y aquí de lo primero de lo que os quería hablar era de que es una skill. Para mí una skill o un agent skill, como podemos acabar encontrando, o incluso habilidades, también lo han traducido a español en algunos agentes, en algunas herramientas. Incluso las skills se han metido también dentro de algunas herramientas en algo que acaban llamando plugins, aunque un plugin no es únicamente una skill ni una extensión, sino que tiene más cosas, pero bueno, más o menos para que entendáis que el nombre estándar realmente es skill, ¿vale? Al final la skill lo que hace es empaquetar unas instrucciones para una tarea que realmente va a acabar siendo repetida. No tiene sentido crear una habilidad si nosotros solo vamos a utilizar esa habilidad una vez. Al final la habilidad, lo que intenta empaquetar la skill es justamente una tarea repetitiva que nosotros queremos tener esa información muy muy bien estructurada para en el momento que haga falta decirle, "Ey, agente, ey, inteligencia artificial, quiero que hagas esto, pero así es como lo vas a hacer." Es como si para una tarea concreta tú le estuvieras dando el libro de recetas siempre exacto, para trabajar de una forma concreta. Os pongo un ejemplo por encima más o menos para que entendáis el concepto. Imagínate que tú quieres desarrollar una página web y la quieres desarrollar con unas buenas prácticas concretas. Pues imagínate evitando la repetición de código, haciendo que los componentes sean reutilizables, lo que a ti te dé la gana. Claro, si tú cada vez que quieres ponerte a hacer algo de ese proyecto tuyo que es para hacer esa página web, le tienes que andar repitiendo todo lo que tiene que hacer la gente para que cumpla tus expectativas, para que lo haga conforme tú esperas, eso es un rollo. En cambio, si tú creas una habilidad, tú le puedes decir, "Ey, crea esto y utilízame esta habilidad." Y en esa habilidad tú le metes la información que te da la gana y no la vas a tener que repetir nunca. ¿Okay? Entonces, eso es algo también muy muy útil a la hora de empezar a desarrollar a día de hoy. Al final es eso, es una receta de trabajo. No basta con que tú si quieres que revise el código la le digas, "Ey, haz una revisión." le tendrás que describir cómo quieres que sea esa revisión, en qué orden, cómo acabar comprobando si está bien o lo que sea. Al final lo tenemos que ver como una tarea que realmente se repite. Algo que os quiero mostrar también por aquí es, oye, realmente una skill que no hace por sí sola, porque tampoco tenemos que pensar que es como la solución a todos nuestros males. Pues obviamente una skill no va a inferir contexto, no va a tomar decisiones por sí solas y si las toma pueden no encajar, es decir, no se vuelve determinista. Nosotros tenemos que intentar buscar esa solución determinista, pero la skill como tal, como utiliza ella por detrás, pues no es no es e determinista y, por supuesto, no sustituya nuestra revisión. Yo lo que os digo siempre es que aquí hay que aprender a programar con fundamentos, que hay que entender lo que hacemos, si no nosotros perdemos muchísimo valor profesional, con lo cual una cosa es que tú crees una muy buena skill o que utilices una muy buena skill y otra cosa es que tú decidas después no revisar el código para nada. ¿Vale? Es muy importante tener en cuenta que aunque tú mejores el método para desarrollar, tú eres el responsable de ese código. Os pongo por aquí también el prompt, las reglas, las herramientas, el MCP y la skill. ¿Por qué? Porque son términos, son palabros que muchas veces nos empiezan a sonar y no sabemos lo que es. El prompt es el texto que escribimos en la IA. Las reglas ya sabéis que acaban siendo como documentación del propio proyecto. La herramienta, pues no deja de ser pues un Cloud Code, un Visual Studio Code, lo que sea. El MCP que tenéis un curso de MCP lo podéis acabar buscando tanto en D Pro en YouTube. ¿Okay? Lo tenéis ahí. es el Model Contest Protocol, que también es otro mecanismo que nosotros le sumamos al arnés de la gente para poder programar de una manera pues mucho mejor al final conectándonos a sistemas de terceros. Después tenemos la parte del plugin que en cierto modo acaba reuniendo esa parte de skills y de MCPs y ya por último la skill, que justamente es en lo que vamos a centrar aquí el curso. Vale, os quiero hablar también realmente de cómo se carga una skill. Aquí tenemos que tener algo que debemos tener muy presente. Siento también ser muy pesado porque siempre hago estas introducciones donde hablo de más teoría, pero es que si no entendemos bien el concepto, utilizar las cosas comoos que repetimos las cosas, nadie quiere alguien trabajando que no sabe lo que está haciendo. Entonces, por eso siempre hago estas introducciones. Ya os digo que va a ser cortita, quedan 5 minutos y ya empezamos con la práctica, pero considero importante. ¿Cómo funciona una skill? La skill funciona de una manera muy concreta y que tiene una peculiaridad sobre en muchos casos los comandos de inteligencia artificial. Fijaos, voy a abrir, por ejemplo, pues no lo sé, abrimos Open Code, ¿os parece bien? Lo voy a estar haciendo con diferentes ejemplos. Seguramente yo voy a estar utilizando bastante Visual Studio Code porque es como un entorno bastante estándar y también voy a estar utilizando bastante Open Code. A mí OpenCode es uno de los arneses, uno de los agentes que más me gustan porque es de código abierto, porque puedes utilizar el modelo que tú quieras, la suscripción que tú quieras, eh tiene modelos gratuitos. Tenéis un curso de OpenCode desde cero. Realmente tenéis un curso de todo lo que vamos a utilizar. tenéis un curso de codex, tenéis un curso de antigravity, tenéis un curso de cursor, tenéis un curso de cloud code y tenéis un curso de Open Code. Es decir, no hay excusa para si en algún momento os despistáis de cuál es la herramienta que estoy utilizando para desarrollar, tenéis curso de todos. Por otro lado, importantísimo, que utilicéis otra herramienta que no es la que yo estoy nombrando. Las skills se pueden utilizar en todas las herramientas de desarrollo. Obviamente yo no puedo venir aquí con 15 editores de código que hay a día de hoy o 20 o 30. Ya os voy a enseñar cuatro o cinco y ya me parece más que suficiente, pero que entendáis que este concepto al final se extiende a todo el tipo de desarrollo con agentes desde cualquier herramienta. Por eso yo os voy a traer como las más utilizadas para enseñaros ejemplos en todas y que tampoco nadie se despiste, ¿vale? En Open Code, vosotros cuando escribís la barra lateral y os salen aquí los comandos, algunos de estos comandos son comandos personalizados, pero otros son habilidades. ¿Qué piensas que es cuando yo hago un init en mi agente en este caso? Pues básicamente lo que le estoy diciendo es tienes que crear un agents.m con una estructura concreta. Esto ya es una skill, ya es una habilidad que tiene el propio agente, el propio arnés, en este caso Open Code. Si yo me fuera, por ejemplo, por aquí abro Cloud Code, vais a encontrar más de lo mismo. Yo me he creado una carpeta, si más para que lo tengáis en cuenta, que se llama Hell Hello Skills, es decir, una carpetita donde vamos a ir trabajando en ella. ¿Vale? Aquí si yo pongo por aquí y escribo init también veis que en Cloud Code con la barra lateral también accedemos a los comandos, vamos a llamarlo así, o a las skills de Cloud Code para que veáis que dos agentes diferentes, mismo funcionamiento. Me vengo ahora por aquí a Cursor, también uno de los más utilizados. Fíjate, ya me está diciendo barra para skills y por supuesto, ellos también tienen diferentes skills, ¿okay? Cada gente es cierto que, bueno, por defecto tiene skills que no tienen por qué coincidir todas, cada uno las habilidades que ha decidido. Más cosas. A ver, Codex, el de Open AI, que también tenemos barra lateral. Aquí nos aparecen muchos comandos, pero si bajamos llegamos una parte que nos dice habilidades, pues justamente estas son las skills. Si queremos entrar directamente también las a las habilidades en codex, también lo que podemos hacer es escribir el dólar y ya nos vamos directamente a la parte de habilidades. Y ya por último, el editor más utilizado, Visual Studio Code. Si yo me vengo por aquí, vamos a borrar esta parte para tenerla limpia. Estoy también en una carpeta. Si escribo la barra lateral, pues también accedo a las skills. Fíjate que he mostrado los cinco editores de código o los cinco agentes más conocidos y todos funcionan exactamente igual. Nosotros podemos llamar a la skill, escribimos la barra o el dólar, como os dije ahí en codex y ya está. podemos llamar a la skill, pero la skill funciona de una manera también muy especial y es que el propio agente sabe las skills, las habilidades que tiene. Tú imagínate que tienes una habilidad que se encarga de explicarte código, que la podríamos crear y de hecho la vamos a crear. Tú te creas una habilidad que te explica muy bien el código, que tú sería una habilidad que le dices, "Ey, barra explain code, por ejemplo, y le dices el código quieres que te explique y él te lo explica para niños de 5 años porque así has creado la habilidad. Es el libro de recetas que le has dado. Claro, si escribes la barra y la llamas, estás llamando de manera explícita a la skill, pero las skills se han creado con una peculiaridad. Y es que en el momento que tú estás escribiendo un prompt y el agente, el modelo entiende que debe utilizar esa habilidad, la va a acabar llamando automáticamente. Y esto es algo muy especial y muy concreto de las habilidades que no tienen, por ejemplo, la parte de comandos. Si yo ahora me voy a un prompt y le digo, "Buf, no estoy entendiendo esto, ojalá me lo pudiera explicar." Yo no le estoy diciendo barra utilízame esta habilidad concreta, pero el agente si es lo suficientemente inteligente, que a día de hoy todos ya funcionan, lo que va a hacer es, ah, me está pidiendo el usuario que le explique el código. Ey, yo tengo una habilidad que se especializa en explicar en explicar código, con lo cual ras ya me pongo a utilizarlo, ¿vale? Entonces, con lo cual ahí ya vais a encontrar la peculiaridad principal de las skills y es que la gente es capaz de llamarlas, es capaz de utilizar esas habilidades en el momento que le dé la gana, sin que necesidad de que tú estés pendiente de obligarla a utilizarlas. Con lo cual, eso es algo bastante diferente, algo que no solemos entender y que precisamente funciona muy bien y que precisamente es una de las habilidades principales que tiene las skills. Okay, vale, vamos a otra pregunta, allá la última antes de empezar con la práctica y el proyecto y es, ¿cuándo crearla? Esto es la primera pregunta que nos debería surgir porque no todos son skills y por otro lado tampoco tiene sentido hacer skills absolutamente para todo porque tú piensas que el agente, la inteligencia artificial tiene una memoria finita, con lo cual si tú de repente le creas 2000 skills, imagínate el drama que puede ser para la gente cargar todo ese contexto, explota y se vuelve tontísimo. Entonces, también tenemos que tener en mente decir, "Ey, tiene sentido hacer una skill o no tiene sentido hacer una skill para justamente esta tarea. Hay que crear una skill, y esto grabároslo a fuego. Hay que crear una skill cuando se repite una tarea, cuando hay un método que merece conservarse y que podemos reconocer que hay un patrón a la hora de producir esa salida. Es decir, que sabemos que algo se va a repetir y que queremos que esa tarea se haga de una manera concreta. Un ejemplo, yo que sé, tienes que depurar siguiendo ciertas evidencias o tienes que preparar la documentación de tal función o tienes que revisar una interfaz siguiendo esta lista de pasos concretas. Claro, para una pregunta puntual utiliza un prompt, pero si de repente empiezas a encontrar un patrón donde hay algo que se repite y donde a ti te vendría bien crear ese libro de recetas perfecto, ahí ya dices, "Ey, aquí tengo que crear una skill y me puede acabar ayudando." Os hago ahí una pequeña pregunta para que también me respondáis en comentarios. Pensar que tenemos que utilizar siempre un formateador. Aquí debería tener sentido crear una skill. Pues yo creo que sí. o investigar porque falla un test siguiendo un procedimiento. Yo creo que ahí también podría ser una buena skill y eso es la primera pregunta que os tenéis que acabar haciendo. ¿Vale? Vamos a lo siguiente y ya vamos a empezar con una práctica, ¿vale? Vamos a tener un pequeñísimo ejemplo para que tengáis en cuenta cómo vamos a ir creando skills sobre el código. Os voy a enseñar el código. El código es un chiste, pero quiero que se entienda muy bien lo que vamos a acabar utilizando. Fijaos. Vamos a meter por aquí y veis que yo tengo dos ficheros. Os voy a enseñar mi código. Dos ficheros que he creado en Python. Por favor, utilizar lo que os dé la gana realmente, pero aquí os os quería poner un ejemplo muy muy simple para empezar a trabajar con skills. Fíjate que he creado un fichero principal que le he llamado demo. Es un fichero en Python que tiene lo siguiente. Tiene un listado de, bueno, al final vamos a decirle retos que ha acabado de cumplir un usuario. Imagínate que nuestro programa lo que tiene que hacer es almacenar si un usuario ha pasado diferentes retos de programación. Y aquí un reto pues era aprender variables, otro reto era aprender funciones, otro reto era aprender listas, conceptos de programación muy básicos. Y entonces lo que tiene es un título para saber qué es lo que está aprendiendo y un complete para acabar representando si lo ha completado o no lo ha completado. Aquí lo vemos muy fácil. La o el reto, vamos a decirle, de variables completado a verdadero funciones falso listas vemos que verdadero, con lo cual de dos lecciones o de tres lecciones, perdón, ha completado correctamente dos. Y fíjate que después aquí llama a otra función que se llama calcular el progreso, que calcular el progreso está dentro de otro fichero que se llama Progress, que está dentro de una carpeta que es SRC, que este también es un código ser simple, es una función que recibe todos esos retos que realmente si no hay retos lo que devuelve es un cero, porque aquí tiene que calcular el porcentaje del progreso y que lo que hace es recorrer cada uno de esos esos retos y si está completado, si es true, pues le suma uno y al final lo que hace es, oye, en función de cuántos retos hayas completado, pues hay el porcentaje dividiéndolo el número total de completados entre el número de retos totales y multiplicado por 100 para hacer el porcentaje. Es decir, es un programa hipersencillo. ¿Qué resultado tendría que dar si ejecuto yo esto? Y realmente lo que ha cumplido aquí mi usuario son dos retos de tres. Vemos que aquí yo lo estoy abriendo en cursor. Si lo queréis abrir en Visual Studio Code o donde sea, fíjate que aquí tengo exactamente lo mismo. Mismo código por aquí, mismo código por aquí. Ejecutamos nuestro programa principal, el demo.p. ¿Cuánto creéis que tiene que acabar dando? Bueno, si te eh si al completar todo es un 100% y ha completado dos de tres, lo que tenemos que acabar encontrando aquí ese redondeo, que sería el 66,6 periodo. Bueno, lo ha redondeado aquí a un 67% con por cómo he hecho yo el programa. Fíjate que si yo ahora yo vengo por aquí y digo que ha superado todos, pues realmente este valor tiene que acabar cambiando al 100%. Y si yo ahora en realidad lo que le digo es que hay dos que no ha cumplido, dos que yo puedo acabar situando a false, me va a acabar diciendo que lo que ha cumplido es un 36%. Es decir, un programa super tonto, pero realmente este curso no importa tanto el código, sino la parte de skills, que es la que nos va a acabar aportando valor. Y yo lo que os quería traer era también un código muy simple, crear el código que os dé la gana, le decís a la IA que os cree el código, no importa absolutamente nada, pero os quería explicar realmente cuál es el código que vamos a utilizar de base, porque eso nos va a servir para explicaros yo las skills al nivel más pro de todos para que veáis que aunque tengamos un código simple, después la skill la podemos explicar de la manera que os de la que nos dé la gana. Aquí también lo que tengo y es una web que os quería acabar mostrando es que todo lo que tiene que ver con skills ya realmente ha calado tanto en el mercado. Este ya es un concepto que ha salido hace bastante tiempo y que ya todos los agentes que tenemos, todas las IAs que tenemos lo utilizan y lo entienden. Con esto lo que quiero decir es que por eso no nos debemos preocupar de si tú utilizas Visual Studio Code o utilizas Antigravity o utilizas Open Code o lo que sea. Ya todos los agentes del mercado trabajan con skills. ¿Por qué? Porque realmente aquí lo que acabamos viendo es que se ha acabado estandarizando el protocolo de las skills. Esto originalmente lo hizo la gente de Antropic, la gente que crea cloud y que crea Cloud Code. Pero ya vemos que tenemos agents skills.io y que esta web nos habla de cuál es el estándar. Yo siempre recomiendo que, independientemente de lo que yo os explique, de lo que yo os cuente, que os voy a explicar todo, pero por supuesto no puedo explicar el 100% de las cosas que podemos hacer con skills. Y ahí es donde entra siempre la documentación. Una cosa es que yo os muestre esto y que os explique un montón de cosas a lo largo de este curso. Y otra cosa es que, ey, vente a la documentación y entiende todo en profundidad cómo funciona. Sabemos que las skills tienen una estructura que estamos viendo por aquí, que ya os acabaré explicando, que aquí vemos cómo funcionan y que aquí lo más importante es que las skills, open claw, fas agent, tray, ya tenemos absolutamente todas las IA, todos los modelos y todos los agentes que ya trabajan perfectamente con este tipo de herramienta. ¿Okay? Si queréis empezar, tenéis un Kickstart, tenéis la especificación, hay documentación para todo lo que yo os voy a contar y para más cosas, por supuesto, pero bueno, tener en cuenta esta web porque es la web de documentación principal, agents skills agentkills perdón. Vale, perfecto. Dicho esto, ahora sí empezamos. Vamos a crear nuestra primera skill. Ya os dije y ya os adelanté que el tema de las skills es válido para cualquiera gente. No os rayéis en No Bráis, es que yo utilizo este. Por favor, que que nadie se bloquee con esto porque no hay absolutamente ningún problema en utilizarla con la que os dé la gana. Fíjate que si yo no tuviera skills, por ejemplo, podríamos hacer lo siguiente, recordar el proyecto que yo tengo. Me voy a ir a Visual Studio Code. Es que realmente me da igual. Voy a estar cambiando entre diferentes herramientas porque no nos importa realmente cuál es la herramienta que vamos a utilizar. Imagínate que yo ahora lo que quiero hacer es crear una skill. para algo que se está repitiendo mucho, algo que se está repitiendo mucho, que en mi caso pues podría ser que a mí me gusta pedirle a la IA que me explique el código. Entonces, yo podría venir por aquí y le digo, eh, explícame. Mm, pues no lo sé, el Progress, que es un fichero que yo tengo por aquí. Yo tengo el progress.p, Pay, que este fichero y le digo, estoy aprendiendo a programar. No modifiques, modifiques los archivos. Esto puede ser un prompt que yo haga habitualmente. Yo vengo por aquí, lanzo esto y la IA, pues me va a acabar explicando este fichero de la manera que le dé la gana. Bueno, me cuenta ahí su vida, ¿okay? lo que sea, realmente nos parece bien. Pero claro, ahora aquí podríamos decir, si yo esto lo estoy empezando a repetir mucho, esto tiene todo el sentido que yo lo empiece a utilizar como una skill. Y aquí es donde nos va a entrar ya la primera necesidad de, ey, quiero crear una primera skill. ¿Cómo creamos una primera skill? Aquí primero os voy a dar un pequeño consejo. Yo os voy a explicar en diferentes agentes cómo trabajar con skills, pero igual que tenemos la especificación general de skills, el agentes skills. tenemos como para cada uno de los agentes del mercado, que yo aquí os pongo, Visual Studio Code, Cursor, Char GPT, Chat GPT e tenemos también una parte de Open Code, tenemos una de Cloud Code. Imagínate que yo digo, bueno, yo estoy trabajando con Open Code. Si quiero trabajar con Open Code, ¿cómo creo una skill? Si os entra esta duda, lo primero que tenéis que hacer es, vale, tú trabajas con OpenCode o con el agente que sea al margen de la documentación de las skills en general, búscate la documentación de la gente, del harness que tú utilices. Ves que estamos aquí en la documentación de OPC code y nos dice aquí habilidades de la gente, define comportamiento reutilizable. Ya os adelanto que el 90% de la documentación va a ser igual entre todos los agentes y herramientas, porque como esto ya es un estándar, se va a repetir. Pero es cierto que algunos agentes, bueno, nos van dando como diferentes personalizaciones extra que nosotros le podemos acabar metiendo a la skill. Con lo cual, yo lo que os recomiendo es sí existe un estándar, pero si tú trabajas en concreto con un agente, leete también por encima la documentación de cómo son las skills o cómo ellos quieren que se hagan las skills para esa gente, porque aquí vas a ver, pues mira, la skill lleva el nombre, la descripción, la licencia, la compatibilidad, esto es un estándar realmente, pero igual te dicen, "Ah, mira, le puedo acabar metiendo alguna cosa extra." Imagínate, pues tú dices, "Ah, pues como yo trabajo con Open Code, pues hago esto de esta manera." Y así tú vas a entender cómo sacarle el máximo partido a las skills dentro de la propia herramienta que tú utilices. Ya veis que es tan fácil como irnos a Google y poner skills para cursor si es lo que quieres acabar aprendiendo. Ya veis que todas las webs de cada una de las herramientas tienen su apartado de la documentación para las skills. Así que para mí es una recomendación muy muy importante a tener en cuenta. ¿Cuál es la anatomía entonces de la skill? ¿Cómo creamos nuestra primera skill? Pues al margen de acabar siguiendo la documentación, en realidad la skill al ser un estándar funciona igual o prácticamente igual en cualquier sistema. Me voy a ir a Visual Studio Code, ya que aquí, como podemos ver realmente cuál es la estructura de ficheros, no me voy a ir a la consola de momento porque así podemos ir viendo cómo creo aquí todo y cómo creamos una skill, ¿vale? ¿Cómo crearíamos nuestra primera skill? Muy fácil. Lo primero que tenemos que hacer es crear una carpeta, perdón, es crear una carpeta que se llame punto agents, ¿vale? Una carpeta con un punto porque es el estándar. Está creando una carpeta oculta, pero que aquí va a ir información para los agentes. Dentro de la carpeta agents, nosotros tenemos que crear otra carpeta que es skills en plural. Y ya dentro de skills el nombre de nuestra skill. Vamos a pensar que no sé qué podríamos crear esa skill, por ejemplo, para que nos explique el código a modo de skill, pues me voy a crear una skill que se llama spla code, con lo cual me creo una carpeta dentro de Agents Skill que se llame como yo quiero que se acabe llamando justamente esa skill. ¿Cómo dijimos que se iba a llamar explain code? Pues vengo por aquí y digo pues explain nueva carpeta explain guion code. Ya tenemos el directorio de nuestra skill. ¿Qué tiene que llevar dentro la skill de manera obligatoria para así acabar cumpliendo, como os digo aquí, la anatomía más simple de una skill? Pues esta carpeta con el nombre de la skill tiene que llevar dentro un fichero que se llame skill.md, formato marddown. Y aquí tenemos que seguir habitualmente lo que se llama el formato yamel, es decir, un encabezado que son tres guiones realmente y otros tres guiones para definir el encabezado. Y aquí va a llevar un parámetro que es y otro parámetro que es description. Y ya está. Y dos puntos. Fin de la historia. ¿Qué tenemos que poner en name? El nombre de la skill. Lo que yo recomiendo y lo que busca el estándar es que el nombre de la skill sea el mismo nombre. Voy a borrar esto porque ya me intenta hasta intentar autocompletar. Realmente yo os recomiendo que el nombre de la skill sea el nombre que le habéis puesto la carpeta, ¿vale? Es la forma de que lo entienda. Y ahora aquí dentro nosotros le podríamos acabar dando una descripción. ¿Para qué sirve esta descripción importantísima? Es la descripción que tiene en cuenta la gente para saber qué hace la skill. Yo aquí ya me he traído alguna cosita para ya copiar y pegar y que os resulte más fácil. Y fíjate, yo voy a crear esta skill y le voy a decir la descripción. explica código asistente a estudiantes de programación con ejemplos y una pregunta de comprensión para que así también me ayude a aprender. Úsala al pedir eh entender una función o un archivo. No la uses para implementar funcionalidades, revisar errores o cambiar código. Es decir, esta es una skill únicamente para explicarme cosas. Y después, ya fuera de este bloque de cabecera, tú le metes la información que quieras en formato Marddown. Ya sabéis que el formato MARD es un estándar que lo que permite es definir títulos, bullet points o cualquier tipo de texto rico, pero de una forma muy simple. Yo ya me he traído algo preparado para tirarlo por aquí para que veáis cositas que puede tener una skill. Después os voy a acabar también mostrando cuál es la estructura principal de una skill, pero yo aquí para no perder tiempo me he traído nada, un montón de texto de cuál sería esta skill perfecta que yo me que yo me quiero preparar. Tú imagínate el trabajo que sería cada vez que quieres pedirle que la IA te explique código, decirle todo esto. Claro que podrías tener un bloc de notas e ir copiándolo y pegándolo. Fíjate, aquí le digo nombre de la skill, descripción de la skill para que la gente lo entienda. Y aquí le digo qué hace la skill. Le digo que su función principal, incluso si lo queréis leer ya aquí en el formato Mardown para que lo veáis más bonito, su objetivo es ayudar al estudiante a comprender el código que ya existe. Le digo por aquí que hay una sección de entradas. ¿Veis que todo esto es texto plano, esto no es estar programando nada, esto es hablarle directamente a la IA desde un fichero de texto. Y yo le digo, "Mira, al final cosas que puedes necesitar como entrada. Ey, dime el archivo, el fragmento que quieres que te explique. También le digo por aquí, fíjate lo potente que puede ser una skill. Decirle que hay un nivel que es principiante o junior por defecto principiante. Imagínate que le pongo un nivel extra senior, lo que sea, y también le digo el foco, concepto eh que le cuesta por defecto el funcionamiento general y le digo que esto es opcional, pero con texto. ¿Qué significa esto? que la skill cuando se invoque me va a pedir que le diga qué es lo que quiere que yo les que me explique la propia IA y me va a decir como algo opcional que si me da la gana yo digo, "Ey, es que yo soy principiante, es que soy junior o ponme en foco esto." Por defecto, él lo que va a hacer es explicarme las cosas de manera general. Y si no, yo también le puedo pedir lo que quiero que me haga. Fíjate que después yo le he dicho, si no hay un código ni una ruta identificable, pídemelo todo en texto plano y después le mando el procedimiento. Porque yo en realidad no quiero que lo explique, que la IA haga las cosas como le dé la gana, sino que a mí me gustaría que me lo explique de esta forma, que lea el archivo del fragmento, que lo resuma en una frase, que explique el flujo, que defina los términos, que muestre la entrada concreta, que señale una limitación, que termine con una pregunta para que yo así también tenga que responderla y aprenda. Pongo límites que no modifica archivos, que no convierta la expresión en una refactorización, lo que sea. ¿Cuál es el formato de la salida? Quiero que me diga para qué sirve paso a paso, un ejemplo, un detalle a vigilar y la comprobación final. Bueno, lo que sea. Esto, sin más me lo he inventado. Yo en mi cabeza he decidido que a mí me gustaría tener una skill que haga esto en concreto. ¿Cómo llamamos a la skill? Ahora que ya hemos definido la anatomía de una skill, ahora aquí hablamos de la invocación y voy a empezar por la invocación explícita. Nosotros tenemos una skill que se llama spla code. Perfecto. Pues voy a venir por aquí a cada uno de mis editores y vamos a ver qué es lo que ocurre cuando yo me voy a la gente, abro, por ejemplo, una conversación, escribo barra y escribo explain. Oh, ¿qué tengo aquí? Al margen de todos los comandos o plugins o skills que ya tenga la gente, en este caso Githacopilot, que es el que tengo dentro de Visual Studio Code, ahora tengo una skill que me dice explain code, explica el código existente a estudiante de programación, bla bla bla. Es decir, ya me he creado mi propia skill, una skill que yo puedo acabar seleccionando y una skill que yo puedo acabar lanzando. Vámonos a otros agentes. Vámonos ahora, por ejemplo, a cursor. Me voy a abrir abrir la de cursor. Por aquí voy a venir y voy a escribir barra explain code. Ah, también la tengo en cursor. Perfecto, lo voy a lanzar. Vamos a otra más. Me voy a codex. Voy a escribir barra explain code. Ah, y estoy todo en editores diferentes. Explain Code. Lo lanzo por aquí. Vamos ahora a esos agentes que tengo por la terminal. Por ejemplo, Open Code. Voy a escribir barra. Oh, no sale. Voy a poner también skills. Oh, no sale. ¿Qué pasa? que los agentes de terminal, lo normal es que si nosotros creamos una skill tengamos que salir primero y tengamos que volver a entrar otra vez para que realmente recargue todo ese contexto. Así que open conde, open code. Entro por aquí, me lanza open code y ahora al escribir barra puede suceder dos cosas, que yo escribo splain code y que no os lo encuentra porque aún tiene que indexarlo o si no yo me voy a skills. Y ahora dentro de de skills ya tenemos splain Code y yo por supuesto ya puedo seleccionarlo. Perfecto. Si me voy a Cloud Code va a pasar más de lo mismo. Si yo me voy por aquí a Cloud Code de primeras no lo va a acabar leyendo. Pero yo ahora aquí puedo decir, "Ey, me voy, hago un exit, vuelvo a entrar, vuelvo por aquí y ahora hago spla code, no sale. Voy a buscar skills. Tampoco me dice que no hay skills." Y ahora aquí es de lo que os quería hablar, es que sí, las skills son un estándar, pero os podéis encontrar con que dependiendo de la gente con el que estáéis trabajando, el estándar puede no estar completo. ¿Vale? ¿Qué quiero decir con esto? Que parece una locura, pero las skills las inventó la gente de Antropic, si no me equivoco. Vámonos a la web. Agent skills. Yo creo que aquí en algún sitio pone o ponía Antropic. Mira, el formato de Skills fue originalmente desarrollado por Antropic. Ahora sí que es cierto que ya pertenece, bueno, a una fundación, ya es open source y todo ese rollo. Llamarme loco, pero la gente que lo inventó no cumple el mismo estándar que el resto o la gran mayoría de agentes. Vuelvo por aquí a la parte de Cloud Code. Veis que yo entro en skills y me dice, "No encuentro skills." crea skills en punto clou/skills realidad pues que bueno han ido un poquito por separado y donde aquí tenemos el agent lo que nosotros tendríamos que hacer si queremos que la skill funcione en Cloud Code porque realmente utilizamos Cloud Code pues sería algo así. Te vas a la carpeta de agents que tú tengas, que es la general, que ya vemos que es capaz de leer por los cuatro agentes que mostramos antes y en vez de llamarle agents, le llamo cloud. La estructura dentro es exactamente la misma. Fijaos lo que va a pasar ahora cuando vuelva a Cloud Code. Vuelvo por aquí, hago skills, vemos que no nos muestra nada, pero que si yo hago exit y ahora yo vuelvo a entrar y escribo, ¿cómo se llamaba? Splain Code, ya la tenemos por aquí. Bueno, por eso os digo que es importante a veces leer la documentación de el propio agente que estáis utilizando porque puede tener estas pequeñitas cosas, pero ya vemos que la skill la lee perfectamente, que yo puedo seleccionarla y que puedo lanzarla. Vamos a ir a cada uno de los editores para ver qué ha ocurrido en el momento que yo he lanzado esta skill. Vamos a ir haciendo un repaso. Fíjate, explain code nos dice por aquí, ¿para qué sirve? Calcula y muestra el porcentaje de retos. Ta ta ta. El demo nos muestra tal. Vemos el ejemplo, un detalle vigilar, nos hace una pregunta, no está mal. Vemos que en el momento que no ha encontrado, pues ha pillado el contexto demo, que es el principal. Aquí va a depender un poquito también de la gente, cómo lo interprete. Perfecto. Vamos ahora a lo que ha hecho pues Codex. Codex en realidad ha tenido más en cuenta cuál es nuestra skill y nos ha dicho, "Ey, ¿qué archivo, función o fragmento de código?" Entonces tú aquí le puedes decir, pues mira, el archivo en realidad que yo quiero que tengas en cuenta, pues es eh demo que vimos antes. Y yo le digo, pues explícame demo. Ya vemos que volvemos a lo mismo, los agentes son indeterministas, lo que quiere decir es que no se van a comportar siempre exactamente igual, pero que ahora ya le estamos indicando un patrón de cómo tiene que funcionar. Vamos a Visual Studio Code. En este caso, ey, ¿qué archivo? Demo o progress. Pues le voy a decir en este caso que demo. Ya vemos que en muchos casos la referencia archivos lo hacemos con la bueno ahí al final es como funciona el agente. Vamos ahora a por un lado Open Code. ¿Dónde está? Aquí teníamos open code, no lo lancé en Open Code. Eh, error mío. Vale, vemos que ahora se va a poner a trabajar y vemos que en Cloud Code nos está diciendo, "Ey, ¿qué archivo quieres acabar entendiendo?" Pues le voy a decir, explícame demo. Y aquí es cierto que Cloud Code esto es algo es una percepción personal para mí. Los agentes que más me suelen gustar en muchos casos son Open Code y Clown Code. Son justo los de terminal porque creo que al final los resultados se acaban pareciendo más a lo que a mí me gustaría acabar obteniendo. Fíjate que aquí ya me dice, "Ey, indícame el archivo o fragmento de código que quieres entender." También puedes decirme el nivel principiante o junior y el concepto que quieres que eh que quieres centrarte. Fíjate que aquí el agente de Open Code, en este caso el Harness de OpenCode, que aquí yo estaba utilizando GPT 5.6 Luna, utilizar el modelo que os dé la gana, el que al que tengáis acceso realmente, pero bueno, yo en este caso tenía aquí eh GPT 5.6. Fíjate que aquí el propio Harness, el propio Arnés de Open Code ha sido más inteligente que los otros, que ya me está diciendo, "Mira, dime el fichero, que aquí es pues eh el demo, por ejemplo, pero también dime si igual quieres para principiante o para junior." Y yo le digo, "Pues para junior o no le digo nada." Y también dime en qué quieres que te centre. Yo le voy a decir solo el demo. Y ahora cuando me voy también a eh Cloud Code, vemos que aquí hasta me marca un selector y me dice, "Ey, dice, ¿qué nivel tienes? ¿Qué no sé qué?" Fíjate que ya le estoy diciendo, "Bueno, pues para principiante quiero que me des el funcionamiento general y en realidad el demo, que es el fichero que quiero que tal." Y ahora le digo, pues venga, lánzalo y respóndeme. Vemos que, claro, aquí hay peculiaridades, que es como lo acabe tratando el propio agente y el propio modelo. Pero ya veis que ahora todos, ahora todos sí o sí se han basado en nuestra receta de cocina para explicarnos código. Que tú la receta la quieres cambiar porque dices, "Ostra, de la manera en la que se comporta, pues igual yo preferiría que me hiciera tres preguntas al acabar." pues se lo acabas metiendo. Vemos que poquito a poco tú ya eres capaz de acabar generando esos diferentes libros de cocina y utilizarlos desde cualquiera de los agentes. Ya vemos que, bueno, cada uno de los agentes, no quiero tampoco ir a gente a gente durante todo el curso porque si no esto nos lleva una eternidad, pero para que os deis cuenta que ahora todos, fíjate que siguen una estructura muy parecida a la hora de respondernos. un detal de vigilar, el ejemplo, pues lo mismo que cada uno de ellos. Un detalle de vigilar, el turno nos hace la pregunta. Vemos que ahora todos los agentes, todas las herramientas se han comportado exactamente igual y que nosotros ya no tenemos que estar pendientes de meter un buen prompt o algo así porque ya hemos definido esa habilidad concreta y correcta que se adapta a nuestras necesidades. ¿Vale? para activarla. Ya veis que habitualmente se hace con la barra y yo la llamo y después pues que haga lo que tenga que hacer, me pregunta, le paso el código, lo que sea, pero esa es la invocación que llamamos explícita, es decir, que nosotros estamos decidiendo hacer esta invocación. Pero, ¿qué os expliqué ahí al principio? Es que realmente lo bueno de las skills es que tú no tienes que estar preocupándote porque acabes decidiendo tú si quieres que se utilice la skill o no. Como el propio agente sabe que tiene una skill que se llama en este caso spla code y que spla code lo que hace justamente es explicar el código siguiendo pues esto que le hemos puesto por aquí. Vamos a hacer un una prueba. Voy a venir a Cloud Code o a Open Code, el agente donde querráis. Aquí también lo que yo os pediría es que, por favor, todo esto ir haciéndolo poquito a poco. Después cuando esté el con el curso completo, vais pausando, vais probando hacer vuestras cosas y lo vais probando de manera empírica, no únicamente os quedéis con lo que yo os cuento, porque justamente lo importante es probarlo. Vale, vengo por aquí, estoy en Open Code en este caso y le voy a decir, explícame, ahora le voy a pasar el otro fichero que se llamaba progress. Explícame. No lo entiendo. Voy a lanzar esto. Thinking, fíjate a ver qué es lo que nos responde. ¿Os dais cuenta cómo está respondiendo? Det teal vigilar tu turno. Vemos por aquí el paso a paso. ¿Para qué sirve? Os suena esta estructura o suena de qué manera nos está respondiendo. En realidad nos está respondiendo utilizando la skill. Pero le he dicho yo que utilice la skill. he puesto yo aquí utiliza barra splain code o lo que sea, no lo ha inferido él directamente. Y si yo ahora me pusiera a probar aquí lo mismo, explícame progress o lo que fuera, él realmente por dentro lo que va a acabar haciendo es, mira, tengo habilidades que sean capaces de explicarme el código. Ah, ostras, mira, tengo una que encaja perfectamente con esto. Ras, la voy a utilizar automáticamente y te voy a acabar dando los resultados. ¿Okay? Entonces, ahí ya tenemos la manera explícita llamándola nosotros sí o sí, porque igual tú dices, "Mira, es que me quiero asegurar que utilice la skill y ya está." Perfect. Vemos que aquí Cloud Code más de lo mismo, también el mismo formato. Entonces, notación explícita, la llamo y le digo exactamente cómo quiero que me explique, porque ya sé que le puedo decir si soy principiante, si soy junior, si quiero que me explique este bloque de código o lo que sea, o sin más, yo estoy chateando, estoy hablando con mi agente, le estoy pidiendo cosas y el agente decide cuándo utiliza esa habilidad porque claro, ahora mismo estamos utilizando una habilidad que nos explica cosas, pero ahora pensemos en que montamos una habilidad que lo que le está dando es buenas prácticas. Ahí ya no esperamos que nos explique nada. Ahí lo que esperamos es que utilice esas buenas prácticas en el momento que tenga que hacer algo concreto. Si yo tengo una habilidad que lo que hace es crear páginas frontend web muy concretas siguiendo unas buenas prácticas, yo lo que quiero es que cada vez que la IA tenga que programar una página web con esta tecnología o lo que sea, que utilice mis buenas prácticas y que él ya lo haga por detrás que a mí me lo notifique ni que yo tenga que estar atento a decirle que utilice esa habilidad, porque también es más complicado y es más lento si yo tengo que ir poquito a poco acabar dando dándole esa información. ¿Vale? Después también lo que hemos visto es que, por supuesto, estas skills también podemos acabar definiendo parámetros. Fíjate que la manera en la que nosotros definimos los parámetros aquí no es nada raro, es simplemente decirle, "Ey, ten en cuenta que hay unas entradas que puede ser el nivel o el foco que va a ser opcional. esta estructura y después nos pararemos un poquito más en la estructura para que tengáis como una plantilla para crear las skills. Realmente puede ser la que a vosotros os dé la gana. No significa en ningún momento que tú tengas que ponerle un título, un objetivo, unas entradas. Lo que pasa es que a mí en este caso me funciona muy bien estructurarlo de esta forma. Pero piensa que esto es texto. Esto es como si le estuvieras hablando al chat GPT de turno, con lo cual aquí la información la puedes estructurar como te dé la gana. Lo que pasa es que lo entiende muy bien si tú le dices, "Ey, cuidado que hay entradas, que puede ser el archivo, pero después hay otras opcionales que sea el nivel o el foco." Con lo cual, yo lo que puedo hacer es ahora que sé que tiene esos parámetros o lo que sea, por supuesto, si yo me viniera a la de turno que estoy utilizando, vuelvo aquí a Cloud Code y le digo, "Explícame el código de vuelvo a demo." que el fichero de antes. Soy Junior y quiero que te centres en la lógica. Ya está. Estos son justo dos parámetros que mi skill puede recibir y que realmente la skill sabe que esos parámetros puede acabar trabajando con ellos. Ya vemos que esto no es trabajar con la consola poniéndola ahí parámetros de una manera complicada o siguiendo un formato. Tan fácil como esto. Yo he venido aquí, le he dicho que soy junior y que quiero que me explique la lógica y después él como agente inteligente que es, ya va a hacer lo que le dé la gana. Ya vemos que aquí nos lo va a explicar y esto ya va a tener en cuenta justamente esos parámetros que yo le he pasado en el texto. Fíjate que hasta me hace una pregunta y me dice, "Ey, si cambias funciones a true, ¿qué porcentaje debería mostrar el programa?" Es decir, me he adaptado la pregunta final que yo le he dicho a la skill que siempre me tiene que hacer, me la he adaptado a lógica de programación. Bueno, ya vemos que la skill puede empezar a ser más compleja de lo que inicialmente es un prom sin más. Okay, vamos a pasar a la parte de skills avanzadas. ¿Por qué? Porque una skill no únicamente es ese fichero skill.md, sino que realmente el propio estándar de definición de la skill puede ir un poquito más allá. ¿Cómo sabemos cómo funciona ese estándar? Más de lo mismo, nos vamos a la web donde se está marcando el estándar y aquí ya veíamos que nos decía algo así como, "Ey, tú tienes la skill que tiene un fichero obligatorio requerido por aquí que es el skill.md, md, pero vemos aquí carpeta script, referencias, assets o ficheros adicionales. Vemos que una skill no únicamente es el fichero de texto, sino que después si nos da la gana nosotros podemos empezar a complicar esa skill. Así que yo lo que os diría es, vamos a intentar mejorar nuestras skills o cómo nosotros estábamos creando las skills. Vamos a venir por aquí y vamos a empezar a crear una skill ya avanzada, una skill más compleja. Voy a crear ahora una skill que le voy a llamar pues review progress, por ejemplo. Imagínate que mi objetivo es pensar en o pasar de una explicación a una revisión basada en un requisito y en diferentes resultados que yo pueda acabar comprobando. Es decir, es una skill que lo que quiero es que me informe de cosas. Bueno, pues ahora yo tengo una skill que le voy a acabar llamando review progress, con lo cual dentro de skills vengo por aquí y creo una carpeta que se llame review progress, una nueva skill, con lo cual ya veis por aquí que tengo dos skills. ¿Qué cosas tiene que acabar llevando mi skill? Realmente ya sabemos que tiene que llevar un fichero que se llame skill.md, pero ahora es donde vamos a empezar a contar poquito a poco las diferentes partes que hacen que una skill acabe siendo más avanzada, que es lo que os muestro por aquí. Vamos a comenzar por la parte de las referencias, digamos, cómo acabamos creando referencias. Al final las referencias no dejan de ser algunos requisitos que nosotros le queremos acabar dando. Para crear un apartado que hable de referencias para esta skill, dentro de la skill tenemos que acabar creando una carpeta que se llame references, ¿vale? Y dentro de estas referencias, fijaos, porque lo podemos ver en el estándar y se entiende bastante fácil, referencias, scripts y assets. Vamos a acabar creando estas tres partes, ¿vale? Nos volvemos a nuestro proyecto, creo referencias y ahora aquí, en este caso, como yo lo que quiero darles son los requisitos, aquí sí que no tiene que crear ficheros con un nombre concreto. Yo dentro de referencias quiero acabar metiéndole unos requerimientos, unos requisitos, así que le voy a llamar requirements sin más requiris, si no me equivoco, ¿vale? Requi rems, [risas] ¿vale? Y aquí también acabo creando un mardown. ¿Por qué? Porque le quiero acabar metiendo un texto. ¿Qué texto quiero acabar creando aquí? Pues una especie de reglas. Entonces, con lo cual yo voy a decir, mira, estos son las reglas que yo quiero que acabe siguiendo y aquí voy a poner mis reglas. La entrada es una lista de diccionarios de retos válidos. Estos son reglas que yo le voy a meter a mi proyecto para que me calcule justamente bien si de verdad estoy calculando ese avance, esa revisión del propio progreso de mi propio programa. Fíjate que yo aquí tenía el programa que calculaba el progreso y yo ahora lo que estoy creando es una skill que sea capaz de revisar si de verdad estoy haciendo bien la parte del progreso. Pues le digo, "Mira, la entrada es una lista de diccionarios de retos válidos. Cada reto necesita un title por aquí y un complete. Vale, como buliano el porcentaje ta tiene que ser entre 100, el resultado se redondea, por eso lo vimos antes redondeado, si no hay retos, el progresor cero, bla, bla bla. Es decir, yo aquí le acabo de meter las reglas lógicas de cómo tiene que funcionar mi programa. Imagínate que ahora yo le digo, "Vale, pues ahora cuando tú lances esta skill, en realidad yo también lo que quiero es que sigas una plantilla para mostrarme los resultados." Aquí es donde entra la parte avanzada, la skills, que es la carpeta assets. Así que me creo por aquí un assets y dentro de estos assets voy a crear también un fichero que en este caso para mí le voy a llamar report. no tiene que tener esta nomenclatura, simplemente es como yo quiero acabar nombrando estos ficheros de reglas. Aquí voy a acabar especificándole cuál es la revisión del progreso, cómo quiero que me lo muestre, cómo quiero que haga el informe. Por eso le voy a llamar report y también un MD. Y sin más, yo aquí lo que le voy a decir es que se tiene que comportar de esta manera. Le voy a decir, mira, este es el fichero de revisión del progreso. Resumen, el estado general de la de la fase, los hallazgos, pues por cada problema, la ubicación, el comportamiento, lo que sea, comprobaciones, el comando ejecutado, los casos aprobados o fallidos y el siguiente paso, cambio mínimo, lo que sea. Al final yo le estoy diciendo, "Ey, así es como quiero que me crees el informe." Imagínate que hasta le quiero meter más cosas. Yo puedo hacer que sí que mi propia skill empiece a leer diferentes ficheros, el report, el requirements, las referencias, los assets, pero igual yo también quiero que ejecute código, un código como si fuera en test. Pues para eso es para lo que está en este caso en la carpeta especial que se llama test y perdón, la carpeta especial que se llama scripts. ¿Por qué? Porque aquí dentro voy a poder meter justamente scripts. ¿Cuál puede ser un script? Pues me voy a crear un test en Python. Un test en Python que le voy a llamar test progress punto Py. Sigo el formato de test en Python, que es comenzando por la palabra test. Y yo aquí me he traído sin más pues un código en Python. No, no nos tenemos que parar tampoco en ello, pero simplemente es un test. Fíjate que aquí tenemos un test que lo que hace es acabar accediendo a esa operación y se pone a revisar cosas. En este caso, yo lo acabé cambiando a inglés antes. Voy a ponerlo, que lo que tiene que acabar buscando es completed, es title, que esto no lo acabará modificando antes. Creo que ya está aquí a títele y aquí complete. Perfecto. Monté unos test, ¿vale? que no sean cero. Aquí diferentes comprobaciones por los inputs que tiene y que dice 2 de3 se redondea a 67 no modifica la entrada. un poco aquí también para darle qué es lo que espera el test, que es que si solo falla uno de los tres, pues debería 67 y es lo que comprueba que esté aquí todo correcto. Fíjate que aquí ya estoy montando una skill muchísimo más potente, realmente una skill muchísimo más potente que ya dice cómo hay que hacer un informe, cuáles son los requisitos que tiene que tener en este caso el progreso, cuál es el test que tiene que ejecutar y ahora nos falta lo más importante. Claro, el único fichero obligatorio de una skill realmente es el Review Progress, ¿okay? Lo que tenemos en Review Progress siempre es el skill.md, con lo cual ahora vamos a ver de una forma muy simple cómo podemos hacer que tenga en cuenta cada uno de los ficheros especiales que hemos creado por aquí. Yo me traigo esta skill ya creada por aquí. En la prueba que yo hice, pues le llamé retos dev, pero no importa. Yo le digo, lo hemos visto antes. ¿Cómo se llama el skill review progress? ¿Qué es lo que hace? Revisa el cálculo por aquí del progreso de retos dev, que es como yo llamé cuando hice esta prueba para crear estos ficheros para traerlo para traeros los hechos. Yo voy a poner el progreso constatando requisitos, pruebas, entradas y alcance por aquí. Y aquí entra lo principal, la skill.md es el fichero principal de nuestra habilidad, en este caso review progress. Desde ella tenemos que acabar referenciando a cada uno de los ficheros que hemos creado y indicarle de qué manera se comportan. Fíjate, procedimiento. Identifica la raíz de proyecto, lee los requisitos. ¿Cuáles son los requisitos? Le estoy diciendo dónde están. referencias requirements. References requirements. Por aquí el test progress, que es el test report, que es la plantilla de salida de los resultados. Ves que yo aquí le he puesto los diferentes pasos del procedimiento y una comprobación final. Ya hemos creado una skill muchísimo más compleja. Realmente fíjate que esto ya no tiene nada que ver con la skill que creamos antes, que al final solo hacía lo que le metíamos en el skill.md. Ahora ya tenemos la carpeta con el script, la carpeta con las referencias, la carpeta con los assets. La skill puede ser lo compleja realmente que os dé la gana. Así que pensar que así lo vais a ver muchísimo más fácil y vais a poder acabar creando también una skill mucho más compleja. Vamos a ejecutar la skill. Vamos a hacerlo pues ya que estábamos antes por aquí en Open Code, que yo habitualmente pues es de los que más utilizo junto con Cloud Code. Vale, volvemos aquí a OpenCe y ahora tenemos que ver que va a existir una skill, realmente lo podemos listar aquí dentro de las skills que ya se llama review progress y que si yo lanzo este review progress aquí lo que vamos a ver es que ya no solo va a tener en cuenta el skill.md, MD, sino que ahora está leyendo ya todos los ficheros que nosotros le hemos metido y se va a poner a comprobar absolutamente todo, desde nuestra propia implementación hasta los test, hasta el formato de salida. Fíjate, aquí tenemos la template que ha seguido. ¿Cuál es la template? La revisión del progreso, resumen, los hallazgos, ta ta ta, las comprobaciones que ha hecho, ha ejecutado comandos, ha lanzado los tests, los tests han corrido cuatro, han dado OK, los tests es lo que teníamos dentro de los scripts, vemos que hace absolutamente todo y que ahora ya es una skill muchísimo más avanzada y muchísimo más compleja. Si queremos esta skill dentro de Cloud Code, recordar el paso, tener en cuenta que en este caso la hemos metido solo a nivel general dentro de los agentes, pero que para Cloud Code la tendríamos que haber metido dentro de también la carpeta clou, si no no la iba a leer, ¿vale? Por nada darle vueltas. Sin más lo dejamos así o si os apetece es tan fácil como que o lo que yo suelo hacer en estos casos. Cuando me veo en alguna de estas, yo lo que suelo hacer es, venga, cambio algo, la duplico, le pongo punto Claudi, ya vuelvo a tener aquí todas mis skills. Sé que es un poquito rollo, pero también la realidad es que nosotros no estamos utilizando habitualmente 20 agentes como estoy haciendo yo, sino que trabajamos con una herramienta en concreto. No tenéis que estar haciendo esto constantemente, pero aquí es un poco para darle un poco la la mantenibilidad que tenemos que esperar en el curso, ya que estoy hablando de cada uno de los agentes y de los editores de código. Vale, lo tenemos esta parte porque ya lo siguiente que me gustaría acabar viendo es que dentro de estas skills avanzadas donde le podemos meter referencias, recursos, scripts e instrucciones con recursos, que es lo que vimos, como le podemos ir pasando y como puede acabar leyendo muchos más ficheros. Ahora aquí simplemente os quiero hacer un repaso general porque a veces encontramos algunas diferencias entre algunos agentes. Yo os he traído aquí los más conocidos. copilot con Visual Studio Code, cursor, open code, codes, cloud code. Pensar que habitualmente un antigravity, por ejemplo, de Google como en realidad parte de Visual Studio Code, pues va a funcionar igual que Visual Studio Code o un trade va a funcionar igual que Visual Studio Code o igual que Cursor funciona igual que Visual Studio Code porque se basa en él. Okay, aún así, pues bueno, buscáis ahí las diferenciaciones. Fíjate que para que tengáis una visión un poquito general, cuando creamos skills podemos hacerlo de dos maneras. La manera que yo suelo recomendar es como yo lo estoy haciendo, es decir, estoy creando las skills dentro de mi proyecto. ¿Qué significa? que yo he creado una skill que se llama spla code y una skill que se llama review progress, pero que el agente solo va a ser capaz de llamarlas si está en Hello Skills, que es como se llama mi proyecto. Si yo ahora me pongo a trabajar en otro proyecto, yo no voy a tener esta skill. ¿Cuál sería la solución? Una de dos, voy a mi proyecto, me copio la carpeta de de agents, de skills, lo que sea, y lo copio en el siguiente proyecto y ya tengo pues mi skill, ya la podría utilizar en mi otro proyecto. Pero aquí y con mucha razón podéis acabar pensando, Brce, pero esto es un rollo. Si yo ahora de repente tengo una skill como puede ser la de review progress, pues tiene todo el sentido que se quede en este proyecto porque solo hace referencia al código de este proyecto, es la funcionalidad de este proyecto, pero realmente la skill de spla code yo lo veo como una skill susceptible de tenerla en todos mis proyectos, porque al final es una skill que no está casada con el proyecto ni con el código de este proyecto. Y es una skill que lo que hace es ayudarme porque me explica código. Si yo ahora tengo 10 proyectos y tengo que andar copiando 10 veces esta skill de proyecto a proyecto, si yo el día de mañana le cambio una cosa, la corrijo, la modifico, la evoluciono, tendría que volverla a copiar en los 10 proyectos. Por eso las skills, al margen de poderlas crear a nivel de proyecto, como hacemos aquí, también las podemos crear a nivel global. Por eso os lo apunté por aquí para que más o menos lo veáis. Esto todo está la documentación de las skills de cada uno de los agentes. Pero para que veáis, fíjate que, y esto ya lo hemos visto, si nosotros utilizamos Visual Studio Code a nivel de proyecto, pues metemos la skill en agents/Skill o en GitHub/Skill o en cloud/Skill. Aquí vais a ver que cada gente tiene como sus directorios que es capaz de leer. Es decir, aunque yo esté en GitHC copilot, pues es capaz de leerme también las skills de Cloude. Esto lo vais a encontrar en la documentación y por supuesto esto es algo que puede ir cambiando. Si nosotros estamos en cursor, pues ya vemos que melee agents.skskill, cursor/skills, cloud eh barskills, codex/skills. Aquí ya podemos entender una cosa muy rápida y es que inicialmente cada uno de los agentes se fue creando como su estructura. Cursor pues tenía el directorio cursor, cloud, el directorio cloud, Codex, el directorio cloud. Ahora, ¿qué se está atendiendo, ya que se ha visto que todos los agentes están evolucionando la misma dirección en crear directorios que sean comunes? Y ahora lo que estamos tendiendo es que yo creo el agents y que en el agents ya me puedo asegurar que y lo hemos visto, hemos metido skill en agents barra skills y lo han leído cuatro de nuestro de nuestros cinco agentes, con lo cual, pero bueno, ya veis que dependiendo del agente en el que estemos pues tiene sus directorios, que es capaz de leer mejor, peor o lo que sea. Vale, pero ahora aquí es donde entra la otra casuística. Y si yo quiero que una skill esté disponible en cualquier proyecto de software que yo utilice y que sea capaz de leerlo por el agente, vamos a pensar que yo ahora de repente tengo una skill, por ejemplo, la skill de explicación que quiero que esté en todos mis proyectos. Pensemos que ahora de repente pues esta skill que yo tenía aquí, que era la skill de spla code, yo ahora quiero que esté disponible siempre en cualquier proyecto donde yo utilizo un agente que esté disponible. Para eso es para lo que os he puesto aquí, que esto también lo encontráis en todas las documentaciones, que es que a nivel global también existen diferentes directorios y aquí os los pongo como que suele ser en la carpeta de usuario y después estos directorios. Vale, me voy a ir a Open Code, que al final es el de código abierto, es el que suele marcar también diferentes estándares. Me dice aquí que en la carpeta punconfig/opencode/skills lo puedo crear a nivel global. o en punto cloud/skills o en punto agents/ skills. Aquí he de decir algo, se están poniendo de acuerdo en el momento en el que estamos haciendo en este curso a nivel de proyecto, pero a nivel global ya veis que aún baila bastante. Yo lo que espero es que a futuro, yo a nivel global lo que haga es me voy a la carpeta de usuario, me voy a crear una carpeta que se llame agents y dentro de agents me voy a crear una carpeta que se llame skills y aquí dentro de skills yo vengo, meto mi skill y de repente ya tengo esta skill para todos los proyectos. ¿Okay? Que sepáis que si llegáis al caso en el que queréis crear una skill a nivel global también existe esta posibilidad. Aún así, no os asustéis. si la metéis en un directorio concreto y no os funciona a nivel global en todos, porque ya veis que dependiendo de el agente que sea, el directorio global, bueno, pues cada uno aún está utilizando el suyo, ¿vale? Pero para que entendáis también el concepto, que ahora si yo vengo a cualquier eh agente, el explain code ya va a funcionar por lo menos en todos los que lean el directorio raí del usuario, en este caso brismeme. Skills y después la skill aquí dentro. Yo en este caso no la quiero a nivel global, me la voy a cargar y ya está. Pero bueno, importante tener en cuenta también esta forma de crearlo. Buenas prácticas de cara a crear skills a nivel de proyecto a nivel global. Esto ya os lo expliqué al principio. Si tú creas muchas skills, piensa que tu agente está continuamente leyendo la información de las skills, con lo cual es una mala práctica crear muchas skills. No te vengas arriba y no pienses que uf, le voy a crear 100 skills o he encontrado 100 skills, que es lo que veremos ahora, cómo utilizar skills que ya ha creado otra gente realmente. Le voy a meter 100 skills al proyecto. Entiende que el contexto de tu agente se va a multiplicar exponencialmente porque cada vez que tú le escribas un prompt o cada vez que la gente tenga que hacer algo, esa gente va a decir, "Ey, a ver, entre las 100 skills que puedo utilizar, ¿tengo alguna que me ayude justo la tarea que yo quiero hacer?" piensa que eso es más lento, más pesado, gastas más tokens, etcétera. Con lo cual, por favor, tener muy en mente que hay que crear las skills que realmente sepas que necesitas. si no no se crean skills o si no se crean en formato comando, que es algo que os he explicado en otros cursos como el de Cloud Code, como el de Open Code, que es que tú ya solo puedes llamar al skill de manera explícita, es decir, solo con la barra para que el agente no intente llamarla por su cuenta, pero si estamos trabajando con skills, por supuesto, son buenísimas, pero no nos podemos pasar de frenada. De ahí mi segundo consejo y es que yo habitualmente intento que las skills sean a nivel de proyecto. ¿Por qué? Porque así sé exactamente las skills con las que está trabajando. Si tú por comodidad empiezas a crear skills a nivel global, lo que hemos visto la carpeta de usuario, piensa que de repente todos los proyectos y todos los agentes con los que tú trabajen van a utilizar todas las skills y eso es una locura. ¿Vale? Entonces, por favor, skills globales, solo las que estéis 100% seguro que vais a querer utilizar en todos vuestros proyectos. Skills en proyecto, solo las que vais a utilizar en un proyecto en concreto. Y como consejo general, tener mucho cuidado que se ha demostrado y hay muchos estudios que han demostrado que si le metes muchas skills a un agente acaba dándote peores resultados que sin ninguna skill. Es decir, tenemos que llegar a ese término medio de, mira, estoy utilizando esta skill porque sé que me está ayudando, pero no hagamos sobre ingeniería de le voy a meter 200 skills porque así mi gente va a ser mucho más inteligente, no, porque la gente no es capaz de manejar esos contextos, no es capaz de manejar tanta información, no sabe cuál utilizar o empieza a utilizar varias skills o se vuelve loco y al final acabamos haciendo un código que es una porquería. ¿Vale? Así que es muy muy importante limitarlo a algo concreto. El ejemplo en nuestro caso se ve clarísimo de las skills que nosotros hemos creado. La skill de explicación de código podría tener todo el sentido que sea global si yo soy un estudiante que quiero que me explique el código siempre que yo estoy programando y en cambio la de revisar el progreso que es de una funcionalidad concreta que nosotros hemos desarrollado en este proyecto, pues no tiene sentido que salga fuera de este proyecto. Okay. Vale, vamos a pasar al siguiente paso, que es la utilización de skills de terceros. ¿Qué es esto? Supongo que ya lo podéis intuir que en el momento que cualquiera de nosotros ha sido capaz de crear una skill, por supuesto, nosotros también podemos utilizar skills que la comunidad haya creado. Aquí entra otro grandísimo potencial de las skills y es que es posible que vosotros hayáis pensado, "Vale, Brce, yo puedo crear una skill para esto que controlo, pero igual hay otras cosas que yo no tengo ni idea o que realmente la skill es mejorable, que se puede acabar creando mejor. Por eso aquí os quiero compartir una serie de repositorios populares. Repositorios populares muy conocidos, con un montón de skills y muy utilizadas. Que hay más que estos. Hay millones más. Ya sabéis que cuando hablamos de open source hay lo que nos querramos imaginar y que por supuesto aquí tenemos repositores muy populares, pero igual un compañero tuyo de trabajo o un compañero tuyo de estudio tiene una skill que a ti te encanta. Entonces vamos a ver la manera de utilizarlo. Estos repositorios lo que se ha acabado también convirtiendo es en una especie de gestores de skills. ¿Qué significa? Vamos a ir a uno de los más conocidos, a skills. Y después vamos a ver también el de Mat Pocock. ¿Por qué? Porque ahora nos vamos a la web de skills. Esto es una web que ha creado Versel y lo que ha hecho es empezar a reunir un montón de skills importantísimos. skills que ya vemos que esta skill, por ejemplo, instalaciones 3,000ones, esta skill 1,000ón, esta skill 800,000 esto significa que no tenemos que reinventar la rueda. Tú imagínate que aquí la vamos a ver esta skill, frontend design, esta skill nosotros podemos entrar en ella y decir, "Vale, ¿para qué vale esta skill?" Pues bueno, esta skill lo que nos hace es darle a la gente buenas prácticas para acabar desarrollando frontend. La skill lo que hace, fíjate este texto. Volvemos a lo mismo. ¿Qué crees que es esta skill? ¿Crees que es magia negra? ¿Crees que es algo que es diferente a lo que nosotros hemos creado? Nosotros nos podemos ir a repositorio a la persona que ha creado esta skill en concreto, que bueno, en este caso vemos que es la gente de Antropic. Aquí tiene diferentes skills que han creado. ¿Y cómo se llamaba esta? Frontend design. Entramos en la skill. ¿Y qué tiene la skill? O sorpresa, la skill tiene un fichero llamado skill.md, MD, que lo que tiene es un nombre, una descripción y en este caso le ha metido un fichero extra porque tiene una licencia, una licencia porque tiene unos términos y condiciones a la hora de utilizarlo, que esto en este caso pues se ha añadido. ¿Qué tenemos después? Texto, texto, texto, texto información. Reglas para cómo debe de funcionar esta skill. Primera forma de utilizar una skill de tercero que yo he encontrado tan fácil como me descargo esta carpeta o creo esta carpeta con este nombre, copio este texto, lo pego y de repente ya tengo esta skill, me explico. Vengo por aquí, me gusta esta skill, me vengo a Visual Studio Code, me vengo dentro de mis skills, creo una nueva carpeta que se llame frontend design. podría hacerlo perfectamente. Copio este código en formato Row porque sería el formato del Mardown. Lo copio, lo pego y ya está, ya tengo mi skill en un fichero, skill.md. Ya estoy utilizando una skill de la comunidad. ¿Qué pasa? Que obviamente, oye, somos desarrolladores. Si algo se nos da bien es crear herramientas para facilitar nuestro trabajo. ¿Qué han hecho desde estos agregadores, desde estas webs que os estoy compartiendo por aquí? pues diferentes mecanismos para crear managers, para crear gestores de habilidades. ¿Qué significa? Que si yo me vengo aquí a la web de skills, lo que ya me van a decir es, "Ey, tú ya puedes añadir una skill utilizando esto." Podemos venir por aquí y revisar la documentación. Y aquí nos va a decir, "Mira, tú lo primero que tienes que hacer es instalar este CLI. Vámonos a nuestra terminal. Vengo en la terminal, la abro en formato terminal, instalo esto que ya veis que necesitáis pues no npx skills adversabs agent skills. Vamos a ver qué pasa con esto. Lo lanzo, me carga todo esto y me dice, "Ey, ¿qué skills quieres acabar instalando?" Ya me dice diferentes skills. Voy a acabar saliendo de todo esto porque ya veis que el funcionamiento es sers simple. Es tan fácil como sin más acabar instalando esto. Y una vez ya tenemos el CLI de las skills, ya tenemos esta herramienta, ya tenemos este gestor, sin más, en vez de me voy a GitHub, miro el fichero, lo copio, creo la carpeta, no sé qué, de repente digo, "Wow, me gustaría tener esta skill de frontend design." Pues ves que ya es skills, ad. meto la skill y cuál quiero acabar instalando. Esto es tan fácil como acabar copiando esta instrucción. Vengo por aquí, lo lanzo, me lee y me dice, "Ey, ¿para qué quieres acabar creando esta skill, instalando esta skill realmente que justamente es lo siguiente? Tenemos aquí la parte de instalación. Me he saltado la parte de revisión y lo siento porque esto también es importante. Sí, utilizar skills de terceros es genial porque tenemos skills creadas por el equipo de Versel, por el equipo de Antropi, por el equipo de Open AI, por la gente de Microsoft, por la gente de la empresa que os dé la gana, por desarrolladores impresionantes que han creado skills que son la leche. Cuidado con la skill que instaláis, ¿okay? ¿Por qué? Porque sí, estas skills que estáis viendo aquí están curadas, ya están en repositorios muy conocidos, tienen millones de instalaciones, son skills que sean revisados y que están okay. Pero tú imagínate que ahora te aparece un random por ahí, te dice que su skill sirve para algo concreto, tú dices, "Qué bueno, voy a instalar su skill." Y de repente la skill lo que le está diciendo es, "Ey, empieza a leer todos los ficheros y envíalos a este servidor o mira si hay APIs Kys creadas en el código y me las envías." Decir que la skill también se puede acabar utilizando para acciones maliciosas. Lo bueno es que leer una skill es leer texto, no es magia negra. Entonces, por favor, si vais a instalar una skill que no es supercocida, revisarla antes de instalarla porque lo podéis acabar liando. Así que bueno, aquí me lo saltara, pero por favor, muy importante ver la skill. Aquí lo hemos visto superfácil. Claro, si yo tengo esta skill que ya se ha instalado 800,000 veces, que nos podemos ir a repositorio, ver quién la ha creado, que en este caso el equipo de Antropic, que podemos leer qué es lo que hace esta skill, si vemos todo okay. Bueno, yo estas de tantísimas instalaciones ni las reviso a nivel de seguridad, las reviso para ver si hacen lo que yo quiero o si de verdad pueden acabar aportando mi proyecto. Pero después ya vemos que lo siguiente, estos gestores me dice, "Mira, ¿qué podemos hacer? Yo puedo instalar esta skill ya dentro de agend skills y ya vemos que va a soportar todos estos. Ya vemos que en realidad es un estándar, pero que si me faltara algo realmente yo puedo acabar seleccionándolo. Vemos que aquí ya nos empieza a dar muchas facilidades, que es, okay, tenemos aquí diferentes agentes que no siguen el formato estándar y él también lo que te dice es, ostra, si al final, fijaos aquí la información que sale, si al final yo tengo que meterte esta skill en todas estas carpetas, es un rollo, no tiene sentido. Mi consejo, revisar bien para qué agente queréis esta skill. Si ya va a ser uno de los agentes clásicos, no tenéis que acabar seleccionando nada. Veis que aquí soporta war, open code, químico, pilot, gemini, eh deep agents, cursor, codex, antigravity, pero ahora por lo que sea, fíjate que utilizamos Cloud Code, que justo era nuestro caso. Ostras, para Cloud Code pues hay que meterla en esta carpeta que es cloud. Bueno, pues voy a seleccionar que adicionalmente del directorio raíz estándar, pues también lo meta para Cloud Code. Perfecto. En el momento que tú ya tienes todo esto, dices, ponte a instalarla y te va a decir cómo la quieres instalar, a nivel de proyecto o a nivel global. Más de lo mismo. Yo, en este caso digo, mira, yo quiero que la crees a nivel de proyecto porque aún no sé muy bien si esto va a funcionar o no va a funcionar. Le digo proyecto y le digo que venga, que tire el single source, ¿vale? ¿Por qué? Para que no lo empiece a replicar en todos los agentes, tal. Dice, "Bueno, ya está correcto. Esto es lo que tú quieres acabar haciendo. Instálalo. Instalado. Vámonos. Aviso el Studio Code. Vámonos a nuestra carpeta de agentes. ¿Os suena que hay aquí algo nuevo? Frontend Design. Nos acaba de instalar. Frontend Design, la skill en este caso creada por Antropic. Lo podemos hacer a mano, pero claro, con estos gestores realmente es mucho más fácil. El gestor más conocido, como os acabo de indicar, es el de skills. Vais a encontrar en GitHub infinitas skills y un montón de páginas. Otra que también os recomiendo y por eso os lo quería dejar por aquí anotado, son estas, aparte de Skills SH. Tenéis por aquí Matt Pocock, que este es un desarrollador superfamoso, está creando unas skills impresionantes. Vemos que tenemos skills creadas por Antropic, que tenemos skills creadas por GitHub, que tenemos aquí otro repositorio también de GitHob, que es obra también que le llama superpers realmente y que al final podéis encontrar un montón de skills, las que querráis realmente. Voy a entrar solo en las de Mat Pocock porque aquí esta persona se ha vuelto superfamosa y os estoy diciendo superfamosa a nivel de que el repositorio de skill suyo tiene 259,000 stars. Es una locura y ha creado skills super guise, ¿vale? Así que para mí también es otra recomendación revisar estas. Deciros también que esta persona tiene su repositorio con skills, pero como empezamos a tener ya agregadores muy buenos de skills, vemos que aquí la segunda skill más instalada dentro de skills. Agregador es Grill me, que es una skill de este hombre de más poco. Es decir, que aquí vamos a encontrar skills de terceros, ya no solo las de Versel, sino las que va creando otra gente. Vemos que aquí tenemos al hombre este, Verel, Open Faceu, vemos que tenemos muchas de esta persona, pero aquí vemos skills de Microsoft que han creado. ¿Qué pasa? que sí tú puedes acabar llegando a repositorio de Microsoft, pero que yo te recomiendo que si aún no estás muy familiarizado y tal, te quedas con esta página, buscas las más instaladas y así también le echas un ojo. Hay muchos repositorios de skills, hay muchísimas skills creadas por ahí adelante, ¿vale? Por eso aquí tenemos lo que son los gestores. Este gestor es por línea de comandos, es el más conocido, es el mejor realmente. ¿Por qué? porque es el que tiene la base de datos de skills de terceros más grande. Pero si queréis probar otras opciones, os he puesto por aquí este que se llama Skills Manager de Shinonglian, que sin más voy a abrir la web para que veáis un poquito cuáles son las peculiaridades. Y es que en este caso aquí también tenemos un gestor con muchas menos stars. Ya vemos 4000, no tiene nada que ver, pero que bueno, aquí esta persona pues se ha creado un gestor gráfico, con lo cual tú puedes ir revisando las skills que tienes, seleccionando si las quieres activar, indicando en qué agentes lo quieres ir acabar metiendo. Entonces, bueno, si queréis acabar explorando este tipo de managers de skills que son así más gráficos, pues también puede estar bien. Incluso yo encontré este. Este, yo creo que salió hace unos días porque me lo encontré ayer literalmente de cuando estamos grabando eh este curso y la verdad es que tiene muy poquitas stars, pero me gustó también la simplicidad. Mira, es algo así de fácil que nosotros tenemos la carpetita, seleccionamos la skill y para dónde lo queremos acabar metiendo, en qué proyectos están y ya está. y vemos algo así, skills, proyectos y después vamos viendo la skill y le vamos indicando para qué agente la queremos meter. Bueno, em realmente hay también infinidad de gestores. Mi recomendación tirar por el de skills, que es el más conocido, pero bueno, que también podéis acabar explorando otros que van saliendo por ahí, que igual son gráficos o que dan otras capacidades que a vosotros os resulta pues más cómodo. ¿Okay? Y ahora sí, ya pasemos a lo que son los próximos pasos, porque quiero haceros aquí un pequeño mix también de todo lo que hemos contado para ya tenerlo como muy en cuenta. Lo primero de lo que quería hablar era sobre todo recordando estos fundamentos, ¿no? que debemos tener en cuenta que las skills al final hay que instalarlas en sitios muy concretos con un scope también muy concreto que para mí la buena práctica es tener en cuenta que crear una muy buena descripción de la skill, que le podemos meter entrada de ficheros, salida de ficheros, que si no existe algo hay que indicarlo también y que podemos darle diferentes acciones como que no modifique el código o como que acabe leyendo otros ficheros, que es lo que hemos visto en esas skills que os he explicado. en la parte avanzada a nivel de consejos de redacción, pues tener en cuenta que para mí hay claves como que la skill al final tiene que reutilizar algo, si no no tiene tan poco sentido, que la que la descripción influye cuando se va a seleccionar a la hora de hacerlo la gente de manera automática, que el cuerpo debe concretar cosas y que un formato básico para mí suele ser mejor que algo supercomplicado para ello, Simplemente os quería dejar por aquí un pequeño ejemplo que creo que os puede acabar ayudando. Os voy a poner por aquí otra vez Visual Studio Code. Me voy a crear aquí un fichero sin más, solo para inspeccionarlo por encima y le voy a llamar skill.md. No tengáis en cuenta dónde lo estoy creando, pero simplemente para que veáis que yo por lo menos lo que recomiendo es que una skill debe tener o a mí me gusta que tenga este formato. Al final la skill con el nombre y la descripción siempre, qué hace, cuándo usarla, cuándo no. un título, un objetivo, unas entradas, como hemos visto los pasos que tiene que seguir, la salida y los límites. Para mí este es el formato de la skill perfecta, que puede tener más menos, por supuesto que sí, pero si queréis empezar a crear vuestras primeras skills, yo haría dos cosas, seguir este formato y segundo, leer cómo están creadas las skills profesionales, porque eso también os va a acabar ayudando a crear skills. Y por supuesto, el consejo más obvio, podéis utilizar la IA para crear skills, es decir, la podéis escribir a mano y mi recomendación, sobre todo al principio, es que la escribáis a mano, pero es cierto que puede llegar un punto donde vosotros digáis, bueno, ¿por qué no utilizo la skill para crear una skill? Y realmente eso tiene bastante sentido. De hecho, incluso si tú te vas a un editor, al que sea, y tú le dices, "Ey, créame skills." Vemos que aquí tenemos las skills. Ya vemos que ahora ya tenemos tres. Vemos que en este caso agentes como cursor lo que permite es activarlas o desactivarlas o que solo pueda utilizar el usuario. Vemos que aquí Clau Code es un poquito más avanzado. Habitualmente los agentes lo que hacen es intentar leerla siempre. Aquí lo que podría hacer es, "Ah, vale, hay estas skills." Bueno, pues esta skill voy decirle que mira, solo por parte del usuario o directamente la pago porque no la voy a utilizar. Bueno, pero no es eso, justo lo que quería explicar. Pero lo que quiero decir es que si tú vas a un agente y le dices, "Crea una skill que se llame no sé qué y que haga no sé cuánto, te va a crear en la skill y la va a meter también donde corresponde en cada caso." Aún así, vuelvo a decirlo, dejar que la gente haga cosas sin que nosotros no lo sepamos para mí no tiene ningún sentido. que tú ahora quieras crear una skill, le metes un prom, te crea una skill, pero es importantísimo que tú al final sepas, ah, mira, es que la skill la ha creado y la ha metido en este directorio y yo ahora puedo ir adentro de la skill y puedo acabar revisando cómo funciona la skill y si algo no me gusta de la skill, pues cambio el texto o lo que sea. Entonces ahí podemos hacer un mix de, mira, crea la skill, pero le puedo decir, mira, crea la skill con este formato. le podrías acabar indicando que la gente haga lo que quiere y que después tú puedes acabar también retocando ese formato. Podría ser una opción tener en cuenta que, bueno, eso es otra forma también de hacerlo. Y ahora ya un poco para finalizar quería acabar con algunas recomendaciones, algunas skills que simplemente con buscarlas os van a aparecer, skills que a mí me parece muy útiles, el find the skills, que esto es, fíjate al punto que hemos llegado, una skill que en el momento que tú la instalas te ayuda a buscar skills, es decir, es una skill que tú le puedes decir, "Ey, ayúdame a buscar una skill que haga esto." Y te va a ayudar a buscarlo. Grill Me, que es de este hombre de M Pocock, que [resoplido] lo que te ayuda esta skill es te empieza a entrevistar para que tú acabes creando un prompt y una especificación muy concreta. Es decir, te ayuda a que acabes creando un mejor prompt y a que acabes interactuando con el agente mejor. Por eso se ha hecho tan famosas las skills de esta persona. Frontend Design que hemos visto, el Agent Browser para que interactúe con el browser. Vemos aquí que imagínate que tú programas con React, pues Versel ha creado una skill de mejores prácticas con React o para diseño web. Revisar las que hay. Estos pongo algunos ejemplos de que hay skills que sí que se están utilizando muchísimo porque también atienden a tipos de desarrollo muy populares. Kit inicial, el finding skills para mí es muy importante. Hay una skill que se llama SK creator que es de Antropic, que es una skill que te ayuda a crear, a crear skills. Esta la teníamos para encontrar skills, esta para crearlas. y que incluso hay una skill que ha creado también este buen hombre que nos ayuda a hacer diagnóstico sobre los errores de nuestro código. Ya veis que esto es un mundo, ya veis que las skills podemos pasar por crear las nuestras propias a utilizar un montón de skills de la comunidad. Las skills potencian nuestro desarrollo. Las skills son obligatorias y esenciales a la hora de desarrollar con inteligencia artificial y que entender los fundamentos de las skills para acabar utilizándolas mejor a día de hoy es esencial. Así que espero que os haya gustado un montón este curso. Recordar que el curso está editado en YouTube, que también tenéis todos mis cursos en MD Pro, que también podéis encontrarlos reeditados con las mentorías que hacemos cada semana. con toda la ruta de estudio que he creado y con la comunidad que estamos construyendo. De verdad, espero que os haya gustado un montón. Por favor, dejarme en comentarios qué os ha parecido el curso y nos vemos en el próximo.
Assistir ao vídeo original no YouTube
Assuntos: Agentes de IA. Publicado no YouTube em 2026-09-10.
Seleção automática por assunto e idioma. O vídeo pertence ao canal de origem.