Agent Skills es una nueva forma, “ligera” y sencilla, de conseguir que un agente inteligente sea capaz de realizar bien una herramienta o tarea concreta. Una Skill es simplemente una carpeta con instrucciones y material de referencia que proporciona al agente el criterio de un experto sobre cómo implementar una tarea o utilizar una herramienta, en lugar de dejarle improvisar a partir de lo que haya aprendido durante su entrenamiento. Al cargar una Skill, el agente deja de hacer suposiciones sobre la API y las convenciones de una plataforma y empieza a utilizarla como lo haría alguien que ya conoce la herramienta.
Ahora que los agentes se utilizan de forma masiva para el desarrollo de software, conseguir que se conviertan también en expertos en análisis y diseño de software sería una excelente forma de dar una base más sólida a su proceso de generación y hacerlo más fiable. Pero, hasta ahora, los agentes no son buenos en estas tareas y carecen de las herramientas adecuadas para realizarlas. Por eso acabamos de publicar BESSER Skills, que permiten a los agentes crear y utilizar modelos de software como parte de su proceso de desarrollo. BESSER es una plataforma gratuita y de código abierto basado en el low-code y la ingeniería dirigida por modelos (MDE), que sigue un paradigma muy claro: describes tu sistema mediante uno o varios modelos B-UML validados, y esos modelos se convierten en la fuente de verdad para todo lo que viene después.
Instala nuestras Skills y tus agentes podrán especificar y diseñar antes de generar código, aprovechando las funcionalidades de BESSER.
Estas Skills complementan nuestro reciente soporte MCP para low-code agéntico. MCP proporciona al agente herramientas de BESSER que puede invocar en tiempo real; una Skill le proporciona el criterio necesario para utilizarlas correctamente. Ambos enfoques son complementarios.
Qué codifican realmente las BESSER Skills
Siguen el estándar abierto Agent Skills, por lo que cualquier agente compatible puede utilizarlas. Su objetivo es proporcionar al agente, bajo demanda, el metamodelo, los generadores y los flujos de trabajo de BESSER, sin necesidad de cargar todo el código fuente en el contexto. Nuestras principales Skills son las siguientes:
- besser-user: la guía de modelado. Explica cómo construir cada tipo de modelo B-UML, generar código a partir de ellos y dibujar UML que forme parte de tu documentación como un modelo real y ejecutable.
- besser-generators: operaciones específicas para cada uno de los 19 generadores, además de cómo personalizar de forma segura el código generado y sobrescribir plantillas.
- besser-troubleshooting: una guía de diagnóstico para problemas de instalación, importación, ejecución y despliegue.
- besser-dev: la guía para contribuidores, que cubre cómo añadir un nuevo generador o metamodelo, escribir tests, generar la documentación y seguir el flujo de trabajo de PRs y releases de BESSER.
Primero el modelo, después el código
El flujo de trabajo que impone la Skill
Pídele a un agente convencional “un backend FastAPI para una biblioteca” y empezará a escribir class Book(BaseModel): … directamente en un fichero, improvisando el código línea a línea. Nuestras Skills evitan esto e imponen una sencilla disciplina en tres etapas:
- Modelarlo. Construir un modelo B-UML y ejecutar
model.validate(), de forma que los errores estructurales se detecten antes de que exista una sola línea de código. - Generarlo. Aplicar un generador de BESSER al modelo validado y dejar que genere el código de forma determinista.
- Añadir lo que falta. Añadir la lógica personalizada en ficheros separados, sobre la base ya generada, de modo que volver a ejecutar un generador nunca sobrescriba tu trabajo. Esto permite combinar la parte determinista (más fiabilidad) con creación de código más adhoc (más flexibilidad) para los casos donde los generadores deterministas no lleguen.
Mira cómo funciona
Un modelo, múltiples resultados que no pueden desincronizarse
Con las Skills, el modelo B-UML es la única fuente de verdad, y todos los ficheros se generan a partir de él. Si aplicas distintos generadores sobre el mismo modelo validado, cada resultado será coherente con los demás por construcción:
from besser.generators.sql_alchemy import SQLAlchemyGenerator from besser.generators.sql import SQLGenerator from besser.generators.django import DjangoGenerator
Un modelo, tres destinos, ninguno puede desincronizarse de los demás
SQLAlchemyGenerator(
model=library_model,
output_dir="./orm",
).generate(dbms="postgresql")
SQLGenerator(
model=library_model,
output_dir="./schema",
sql_dialect="postgresql",
).generate()
DjangoGenerator(
model=library_model,
project_name="library",
app_name="catalog",
output_dir="./django",
).generate()
¿Necesitas añadir un campo a Book? Modifícalo una sola vez en el modelo y vuelve a generar; el ORM, el esquema SQL y la aplicación Django incorporarán el cambio en la misma pasada.
O simplemente documenta tu código con diagramas integrados
Para quienes prefieran no seguir los principios de la ingeniería dirigida por modelos, pero quieran entender mejor lo que están creando los agentes (por ejemplo, para facilitar la comunicación, la documentación, el mantenimiento, etc.), tenemos otra Skill centrada exclusivamente en este objetivo.
Puedes pedirle al agente que genere un diagrama. Sin la Skill, si le pides que “explique la arquitectura” o que “añada un diagrama de clases al README”, normalmente obtendrás uno de dos malos resultados: un diagrama que tiene buen aspecto pero que a menudo es incorrecto en cuanto a notación y semántica, o un bloque de ASCII o pseudocódigo encerrado en un bloque de código que ningún visor llega a convertir en una imagen.
Nuestra Skill uml-drawing soluciona este problema indicando al agente cómo crear y renderizar modelos gracias a los servicios de BESSER.
Pruébalo
Instalar las Skills requiere una sola línea para cada una:
npx skills add BESSER-PEARL/BESSER-Skills --all npx skills add BESSER-PEARL/uml-drawing --all
Skills: github.com/BESSER-PEARL/BESSER-Skills Skill uml-drawing: github.com/BESSER-PEARL/uml-drawing-skill BESSER: github.com/BESSER-PEARL/BESSER
Esto va más allá de BESSER. A medida que mejoran los agentes de programación, el cuello de botella deja de ser escribir código y pasa a ser escribir el código correcto, de forma coherente. La ingeniería dirigida por modelos lleva dos décadas trabajando en este problema, y las Agent Skills son una forma sencilla y de baja fricción de proporcionar estas herramientas a un agente.
Últimos comentarios