← Back to search

ATA 829 Skills imprescindibles para tu agente IA

Atareao con Linux · 2026-09-07 · 19 min
relevance 44 3153 words Episode page ↗ Audio ↗
Show full episode description
Hoy te traigo un episodio que llevaba tiempo queriendo grabar. Y es que muchos estáis usando agentes de IA, pero los tenéis desnudos. Sin skills. Y un agente sin skills es como un Linux sin comandos: técnicamente funciona, tienes el kernel, tienes la shell, pero sin ls , sin grep , sin systemctl , no puedes hacer nada útil. El mejor modelo del mundo sin herramientas solamente es texto bonito. En este episodio te cuento qué son exactamente las skills, por qué transforman un modelo de lenguaje en un asistente que hace cosas, y cuáles son las tres skills imprescindibles que todo agente debería tener. Una skill no es ni más ni menos que un prompt. Un conjunto de instrucciones que le dice a tu agente cómo tiene que hacer algo. No es un programa ni un script, es una receta de comportamiento. Y no necesitas ser programador para crearlas. Te hablo de skills del sistema: leer archivos, ejecutar comandos, navegar por tu equipo. Skills de búsqueda: búsqueda web con SearXNG (que tengo montado en un Slimbook One y devuelve resultados en JSON que es una maravilla), búsqueda local con RipGrep que es increíblemente rápida, y búsqueda semántica con SQLite. Y skills de automatización: tareas programadas, webhooks que responden a eventos como un git push, o scripts orquestados que pueden hacer casi cualquier cosa. Pero no me quedo ahí. Te doy las tres reglas de oro para crear tus propias skills. Porque los mejores skills son los que escribes para ti mismo. Primera regla: no digas "revisa el sistema", sino "ejecuta systemctl status --failed ". Cuanto más específico, mejor. Segunda: define los límites. Qué puede hacer y qué no. Lo que no puede hacer es casi tan importante como lo que puede hacer. Tercera: ponle ejemplos. Cómo tiene que quedar el resultado, qué formato tiene que usar. Con estas tres cosas todo rueda mucho mejor. También te cuento cómo organizar tus skills. Cada agente guarda los skills donde le da la gana: OpenCode en .config/opencode/skills , Hermes en .hermes/skills . Yo cada vez los guardo más en .agents/skills porque la mayoría de los agentes ya saben encontrarlos ahí. Y te hablo de los hubs de skills, donde puedes instalar skills creados por la comunidad con un solo comando. Si usas OpenCode, Hermes Agent u Open Web y sientes que tu agente responde preguntas pero no hace cosas, este episodio te va a cambiar el día a día. Vamos directos al turrón. Capítulos del episodio:
✨ Episode Outline — click any point to jump to it in the episode
Problem solved
Un modelo de lenguaje sin skills solo responde preguntas; las skills lo convierten en un agente que hace cosas.
Benefits
  • Convierte un 'loro caro' en un asistente que ejecuta tareas reales
  • Búsquedas web rápidas en JSON con SearXNG autoalojado
  • Búsqueda local ultrarrápida en documentos con RipGrep
  • Automatización: tareas programadas, webhooks, alertas por Telegram/Matrix
  • Skills reutilizables: el agente documenta y guarda scripts para no repetir trabajo
Use cases
  • SearXNG montado en un Slimbook One para búsquedas web directas en formato JSON
  • Skills para revisar ortografía y comprobar que el código de sus artículos funciona
  • Resúmenes semanales y alertas de eventos del sistema enviados a Telegram
  • Skill de diagnóstico: systemctl status, journalctl, docker ps y resumen estructurado de errores
  • Skill para crear skills: el agente genera nuevas skills a partir de una plantilla
Tools / build
0:00 / 0:00
📑 Chapters — tap a time to jump there
0:00
Introducción: tu agente está desnudo
  • Tu IA está 'desnuda': responde preguntas pero no hace cosas
  • Como un Linux sin comandos; las skills la visten
1:45
¿Qué es una skill? De un prompt a un asistente que hace cosas
  • Una skill es un prompt: receta de comportamiento, no un programa
  • Puede incluir scripts que el agente crea, documenta y reutiliza
4:15
Skills del sistema: leer archivos, ejecutar comandos, navegar
  • Skills fundamentales: leer archivos, ejecutar comandos, navegar
  • Permisos granulares: permitir comandos pero bloquear sudo
7:30
Skills de búsqueda: web con SearXNG, local con RipGrep, semántica con SQLite
  • Búsqueda web con SearXNG autoalojado, resultados JSON muy rápidos
  • Búsqueda local con RipGrep; semántica con SQLite/RAG/GraphRAG
11:00
Skills de automatización: tareas programadas, webhooks, scripts orquestados
  • Tareas programadas, webhooks (ej. git push) y scripts orquestados
  • Alertas y resúmenes a Telegram/Matrix vía gateways de Hermes con seguridad por capas
13:45
Las 3 reglas de oro para crear tus propias skills
  • Regla 1: sé específico, comandos exactos en vez de instrucciones vagas
  • Regla 2: define límites explícitos, lo prohibido importa tanto como lo permitido
  • Regla 3: incluye ejemplos y formato de salida esperado
18:30
El ecosistema de skills: dónde guardarlas y cómo organizarlas
  • Cada agente guarda skills en rutas distintas (.config, .hermes)
  • Recomendación: centralizar en .agents/skills, que OpenCode, Hermes y OpenClaw encuentran
21:00
Ejemplo práctico: la skill del tiempo meteorológico
  • Demostración práctica con una skill propia como ejemplo final
Hola, soy Lorenzo y esto es Atareao con Linux, episodio número 829. En este episodio te voy a hablar de skills imprescindibles y es que la realidad de la vida es que tu IA está desnuda, ¿sí? Como lo estás oyendo, hay que vestirla. Tienes Oyama, tienes OpenCode, OpenWeb UI, tienes lo que tú quieras, pero lo cierto es que tu IA responde preguntas pero no hace cosas. Tu IA no sabe todas las cosas que puede hacer, no busca en internet, no lee archivos, no ejecuta comandos, es como si tuvieras un Linux pero sin comandos, exactamente lo mismo. Sí, funciona pero... ¿y cómo le puedes dar esas habilidades? ¿Cómo puedes conseguir que un modelo de lenguaje haga cosas? Bueno, pues para hacer esto son lo que se llaman las skills. Entonces, de esto ya te he hablado en un episodio anterior, te he hablado, no recuerdo exactamente qué número de episodio, lo podría buscar, pero te conté y en este episodio te voy a contar así un poco por encima que es una skill y luego te voy a hablar de los imprescindibles que tienes que tener para que te hagas una cosa. Pero la cuestión es que las skills son esa herramienta que hacen que un loro caro pase a ser un asistente que hace cosas. Es decir, de un lorito a un currante, así de sencillo. Así que vamos directos al turrón, en este episodio te voy a hablar de skills imprescindibles. Y lo primero es, evidentemente, que es una skill. Y bueno, pues al final una skill, para que te hagas una idea, si no lo has oído, es un prompt. No es ni más ni menos que un prompt. Es un conjunto de instrucciones que le dice a tu agente cómo tiene que hacer algo. No es un programa, no es un script, es una receta de comportamiento. Es decir, si tú le dices directamente que te hable sobre RRAS, vas a ver. Pero si le dices que te diga lo más importante y te lo envía a Telegram, no vas a ver cómo hacerlo. Dicho esto, también te tengo que decir una cosa. Y es que una skill lo que puede tener además son scripts. Sí. O sea, yo lo que últimamente estoy haciendo es me creo una skill para hacer lo que sea. Y una vez hecho mi skill, lo que hago son scripts. O mejor dicho, le digo a la IA que haga scripts. O mejor todavía. Lo que normalmente hago es empiezo a hacer mi skill para, por ejemplo, buscar cosas en internet. Y muchas veces, si te has dado cuenta cuando le dices que te haga una skill, él lo primero que hace es, por ejemplo, busca en internet. Se crea un pequeño script en Python para hacer algo. Claro, al día siguiente, cuando le vuelves a preguntar lo mismo, se vuelve a crear otra vez el mismo script en Python. Bueno, pues lo que tienes que hacer es, una vez has visto su comportamiento, es, bueno, pues ahora que ya sabes cómo tienes que hacerlo, directamente guarda ese script para utilizarlo más tarde. Entonces, él lo documenta. Lo mejor es que cada sesión que tengas de creación o modificación o cada vez que trabajes con el skill, si encuentras algo, le dices, de todo lo que has hecho con este skill, de todo lo que has aprendido, guárdalo. Y así vas evolucionando. Si recuerdas, un skill no es ni más ni menos que un archivo donde tienes una parte de una descripción, donde tienes nombre, permisos, descripción. Y luego lo que es el cuerpo donde está en todo el procedimiento y todo lo que tiene que hacer. Los skills se guardan. Algunos en config, open code skills, otros en Hermes skills. Yo normalmente ya los estoy guardando en .agents barra skills. Los guardo en .agents barra skills porque allí la mayoría de los agentes, como pueden ser Open Code, Hermes, OpenClaw, saben encontrarlo. Así que así funciona perfecto. ¿Qué skills necesitas? Bueno, pues aquí es donde viene la parte interesante. Necesitas una serie de skills que algunos los puedes encontrar, otros te los puedes crear tú. Pero fundamentales son un skill que sepa trabajar con archivos, es decir, que lea archivos. Otro skill que sepa ejecutar comandos y otro skill que sepa navegar. Básicamente, skills que digamos sepan gestionar tu equipo. Al final, un agente que no puede leer archivos, no puede escribir archivos, no puede ejecutar comandos, es como te decía al principio del episodio, un linuxero sin comandos o un linuxero sin posibilidades de hacer absolutamente nada. Dependiendo del agente, los perfiles y los permisos tienes que darlos de una manera o de otra. Algunos son permisos más generales y otros son permisos más granulares. Pero esto depende básicamente del agente y de este tipo de cosas. Por ejemplo, si lo tienes un poco cuidado, le puedes decir qué cosas puede ejecutar y qué cosas no puede ejecutar. Por ejemplo, le puedes dar permisos para que lea archivos, permisos para que ejecute comandos, pero que no tenga permisos para ejecutar sudo. Llegados a este punto, te diría que es muy importante, es fundamental que tu agente pueda hacer prácticamente cualquier cosa, porque si no, lo que te vas a pasar es toda la vida dándole permisos a tu agente para que haga cosas, para que lea un archivo. Y no se trata de eso, se trata de que tu agente pueda hacer todo sin tu intervención. Lo siguiente, además de los skills de sistema, necesitas skills de búsqueda. Y aquí tienes tres tipos de skills. Skills de búsqueda web, skills de búsqueda local y skills de búsqueda semántica. En el sentido de que skills de búsqueda web es para buscar en internet y de esto puedes buscar utilizando .go o toolset como pueden ser web. De skills de locales puedes utilizar readgrep o grep o fzf. Y semánticas puedes utilizar ese culite o rag o graphrag. En este sentido, por ejemplo, yo lo que tengo en OpenCode, tengo un skill. Vamos a preguntarle, tienes un skill. Le voy a preguntar para hacer búsquedas en internet. De esta manera, lo que va a hacer es... Echarme... Vale. Ve... Tiene un skill que se llama Search... Mira, ves con musiquilla y todo. Search NG Search. Que lo que hace es búsqueda directa con el metabúsclador Search NG. Esto es así porque yo lo he montado. Es decir, yo tengo montado un Search NG en Slim Book One. De manera que yo puedo hacer búsquedas directamente allí. La ventaja de utilizar esto, la ventaja de utilizar esta herramienta es que las búsquedas son en formato JSON. Y va a ser muy rápido. Entonces, yo ahora le puedo decir que cargue... Carga el skill. Ser... XNG Search. Le voy a decir que lo cargue. Vale. Ya lo ha cargado. Y ahora le voy a decir que busca sobre... Vale. Y ahora lo que va a hacer es directamente utilizar mi herramienta para hacer búsquedas. ¿Ves? Y aquí ya me da los resultados mucho más rápidos porque, como te digo, esta es una herramienta que está muy enfocada en eso. No solamente me da información directa, sino también sobre el Linux. Madre mía, el sonidito que me está poniendo hasta nervioso a mí. Bueno. Esto es sobre búsqueda web local y semántica. Pero no solamente... Bueno. Aparte de esto, también le tienes que dar permisos y todo este tipo de cosas. Que tienes que tener mucho cuidado con ello. Pero vamos, que te digo que tienes que buscar la herramienta para no tener que estar todo el día encima de tu agente. Luego lo siguiente o la siguiente herramienta, la siguiente skill es... O sea, lo siguiente es hacer búsquedas en todos tus directorios o en todos tus archivos. Aquí es brutal porque con RIPGREP, que es una herramienta parecida a GREP, pero mucho más rápida y mucho más potente, buscar entre tus documentos es, vamos, increíblemente rápido y es totalmente recomendable. Y por último tenías la búsqueda semántica. Esto de la búsqueda semántica lo veremos más adelante porque con esto se pueden hacer cosas súper interesantes. De todas maneras, ya lo hablaremos más en profundidad. Luego tenemos los skills de automatización, que son skills que te van a permitir realizar tareas programadas, responder a eventos a través de webhooks o orquestar directamente scripts. Por ejemplo, tareas programadas que se ejecuten todos los días a las 8 de la mañana o eventos que cuando se produzca un git push haga una cosa o cualquier otra cosa parecida. Aquí estamos en las mismas, dependiendo de si utilices Hermes Allen o que estés utilizando OpenCode o webhooks o lo que tú quieras, cada uno responde de una manera concreta. Y luego tienes los scripts orquestados que puedes hacer casi cualquier cosa que quieras. Y luego tienes skills de automatización. Los skills de automatización lo que te van a permitir es, por ejemplo, hacer consultas a Telegram o enviarte consultas al móvil o enviarte alertas o notificaciones, todo eso lo puedes hacer. O leerte correos electrónicos o incluso hacerte resúmenes semanales o en base a notificaciones o en base a eventos que sucedan en tu sistema operativo o en tu VPS o en tu Slimbook One directamente que te las envíe. Y claro, ahí tienes un agente que es capaz de hablar contigo. En el caso de Hermes tienes los gateways de Telegram o de Matrix que funcionan perfecto. Y además que van con una seguridad que va por capas. De manera que aunque alguien se haga con tu Telegram no va a poder gestionar tu equipo. Bueno, pero lo más interesante de todo y yo creo que aquí es donde viene la madre del cordero es la ventaja y la posibilidad de escribir tus propios skills. Desde luego los mejores skills son los y los más útiles son los que escribes para ti. Es decir, y además yo te pongo y te digo que tienes que poner un nombre, una descripción, una versión. El autor, la categoría, etiquetas, permisos. Pero la realidad de la vida es que no tienes que hacer nada de esto. La realidad de la vida es que con que tengas un skill simplemente tu modelo de lenguaje va a basarse en ese skill para hacer otros skills. Entonces tú simplemente le tienes que decir, haz un skill. Bueno, de todas maneras ya te he contado en algún que otro episodio que existen skills para hacer skills. Con lo cual ya miel sobrejuelas. Entonces con esto, con tener un skill para hacer skills, ya puedes empezar a trabajar y hacer cosas realmente muy potentes. En este sentido, claro, ¿por qué te digo que los skills más útiles son los que escribes? Porque son los que normalmente haces continuamente. Continuamente. Normalmente, por ejemplo, repasar la ortografía de un documento, pues puedes tener un skill que se dedique específicamente a eso. O como ya te conté en episodios anteriores, tengo skills para revisar mis documentos, para comprobar que los trozos de código que escribo en los artículos funcionen, que no tengan errores. Aún así tienen errores, pero claro, evidentemente van a tener menos errores de los que yo hago normalmente. Porque para eso está este tipo de cosas. Y la verdad es que es muy potente. Y en este sentido te quiero dar tres reglas fundamentales para los skills, para cuando creas tus propios skills. La primera es, no digas revisa el sistema, sino ejecuta System CTL status fail. Si hay servicios fallidos, lista sus nombres y el motivo. Y luego intenta reiniciarlos. Cuanto más específicos somos a la hora de crear un skill, mucho mejor. Cuanto más le digamos cómo tiene que hacer las cosas, cómo tiene que buscarlas, qué opciones tiene. Y no solamente esto, cuando una vez has hecho el skill, lo has probado y has visto las cosas que fallan, le dices, has visto todos los errores que se han producido, con todo esto documentalo para que la próxima vez no vuelva a suceder. Luego otra parte fundamental, la regla número dos, es que tienes que definir los límites. Es decir, qué cosas puede hacer, qué cosas no puede hacer, qué APIs tiene que utilizar. Y además es importante no solamente lo que puede hacer, sino lo que no puede hacer. Lo que no puede hacer es casi tan importante como lo que puede hacer. Es decir, por ejemplo, si no quieres que cada vez que realice unas modificaciones en tu código compile, tienes que decírselo y se lo tienes que decir explícitamente. De hecho yo se lo pongo en mayúsculas. Y luego la regla tres fundamental es que le pongas ejemplos. Ejemplos de cómo tiene que quedar, si tiene que utilizar un determinado formato, cómo lo tiene que utilizar, cómo quedaría el formato, todo eso. Si se lo pone luego es mucho más concreto y va mucho más al grano. Con estas tres cosas ya tienes algo fundamental para que todo ruede mucho mejor. Por ejemplo, otra de las cosas es darle un procedimiento paso a paso en el sentido de que le dices ejecuta un journal CTL, ejecuta un system CTL status y revisa los servicios fallidos. Ejecuta Docker PS y dime los contenedores no saludables. Genera un resumen estructurado de los errores críticos, servicios fallidos, contenedores. Entonces puedes definir todos los pasos para que te dé la información exactamente como tú quieres. No solamente esto, sino que una de las cuestiones que tienes que hacer es decirle exactamente cómo quieres que te dé la información. Oye, quiero que me des la información en una tabla donde en la primera columna se vea si es un problema de red, un problema de almacenamiento o es un problema de cualquier otra cosa. En la segunda columna que me diga no sé qué. Si le dices el formato todo funciona y todo fluye mucho mejor. Y bueno, el ecosistema de skills. Aquí es donde viene el rollo más pantagruélico. En el sentido de que cada uno de los agentes guarda los skills donde le da la gana. Por ejemplo, OpenCode lo guarda en .config OpenCodeSkills. Mientras que HermesAllen lo guarda en .hermesSkills. Yo en general lo que estoy haciendo siempre es guardarlo en .agents barra skills. Y lo estoy haciendo ahí porque la mayoría de los agentes ya tienen por defecto la opción de buscar allí. Así con independencia de la gente que esté utilizando, los skills los tengo muy concentrados. Dependiendo de la herramienta tienes opciones para listar los skills que tienes disponibles, publicar un skill, crear una plantilla. En fin, todo este tipo de cosas las tienes. Ya sea con OpenCode o con HermesAllen. Y cada uno funciona de una manera o de otra. Ahí lo mejor es que lo utilices y seas lo más genérico posible para poder utilizarlos lo mejor. Bueno, y esto es básicamente lo que quería contarte porque, sí, te puedo poner un ejemplo. Tengo otros skills, ¿no? Skills para dime la previsión meteorológica de Valencia para la próxima semana. Y lo que va a hacer es, en base a los skills que tiene, seleccionar uno que tengo perfectamente, que es el skill weather, y me va a hacer la previsión para los próximos días. Bueno, aquí tengo un script en BAS que está implementado para que haga exactamente esto. Entonces, no se tiene que calentar la cabeza creando todo el script en Python para exactamente decirme cómo está. Y dale con la campanita. Sino que directamente me va a decir, pues bueno, aquí en este caso me da un pronóstico para los tres próximos días que es soleado, los tres y con una pequeña probabilidad de lluvia. Y básicamente, esto es un poco lo que quería contarte. Un reminder, un recordatorio de lo que son los skills y de la importancia de tener skills. Básicamente, yo te diría que el tema de los skills, para que te hagas una idea, es, o la frase final, es que un agente sin skill es como un linux sin comandos. Así de claro. Técnicamente, todo va a funcionar. Tienes el kernel, tienes la shell, tienes el sistema operativo, pero sin LS, sin CD, sin GRES, sin systemctl, no puedes hacer nada útil. Pues con tu agente pasa exactamente lo mismo. El mejor modelo del mundo sin herramientas solamente es texto bonito. Los skills son, no son los comandos de tu agente, pero básicamente sí es lo que transforma un modelo de lenguaje en un asistente real. No necesitas ser un programador. No necesitas saber qué quieres que, o sea, realmente lo que necesitas es saber qué quieres que haga, describirlo paso a paso, y el modelo es capaz de generar archivo y lo ajusta, lo pruebas. Básicamente, con un skill lo que tienes que hacer es ajustar, probar, ajustar, probar. Empiezas con una pequeña skill y luego poco a poco vas guardando y vas mejorándola incrementalmente. Bueno, perdón. Y esto es un poco lo que quería contarte. Como te decía, el reminder de skills. Y en el próximo episodio te voy a hablar exactamente de una de las herramientas que he implementado. En este primer caso se llama de Populacters, que es una herramienta que a partir de un feed publica en distintas redes sociales. Y esto es así porque te lo contaré en el próximo episodio. Y nada más, espero que te haya gustado este nuevo episodio y que lo hayas disfrutado tanto como lo he disfrutado yo. Recordarte que este es un podcast de la red de podcasts de sospechos habituales donde puedes encontrar fantásticos y maravillosos podcasts. Puedes participar en esta red entrando en Telegram o en WinTabletInfo. Y de la misma manera, si quieres participar en el grupo de Atareao con Linux, simplemente tienes que buscar eso, Atareado con Linux, y allí nos vas a encontrar hablando de Linux. Y en este episodio, pues de...