GPTs personalizados, skills y prompting reproducible

En muchas ocasiones queremos que los asistentes se comporten de manera específica o realizar tareas que son repetitivas. Para ello tenemos los GPTs personalizados y las skills.

GPTs personalizados

Un GPT personalizado es un asistente configurado dentro de ChatGPT. Puede reunir instrucciones, archivos de conocimiento, ejemplos para iniciar la conversación y, cuando están disponibles, herramientas o acciones. Sigue utilizando un modelo general por debajo: crear un GPT no equivale a entrenar un modelo nuevo.

Tiene sentido cuando se necesita entrar en el mismo caso de uso sin reconstruir las instrucciones cada vez. Por ejemplo, un GPT que ayude a comprobar si un protocolo incluye población, intervención, comparador, desenlaces y diseño, y que marque como ausente cualquier dato que no aparezca.

Aunque ambos permiten reunir instrucciones y documentos, un GPT personalizado y un proyecto resuelven problemas distintos:

ProyectoGPT personalizado
FinalidadOrganizar un trabajo concreto que evolucionaReutilizar un asistente con una función definida
ConversacionesAgrupa varios chats del mismo proyectoAbre conversaciones independientes con la misma configuración
DocumentosFuentes propias de ese trabajoConocimiento común para todos sus usos
Cuándo usarloManuscrito, revisión o protocolo en cursoRevisor de abstracts o guía metodológica reutilizable

La disponibilidad, las acciones y las opciones para compartir GPTs dependen del espacio de trabajo y deben comprobarse en la documentación oficial.

Skills

En ocasiones nos encontramos repitiendo prompts para resolver lo mismo en diferentes chats. En estos casos es útil crear una skill: un procedimiento que el agente puede cargar cuando una tarea lo necesita.

La diferencia con AGENTS.md es el alcance. AGENTS.md contiene reglas generales que afectan a todo el proyecto; una skill explica cómo realizar una tarea concreta. Una skill suele vivir en una carpeta con un archivo SKILL.md y puede incluir scripts, referencias o plantillas. En su forma más sencilla debería indicar:

  • propósito y tareas fuera de alcance;
  • entradas obligatorias y opcionales;
  • plantilla de salida;
  • ejemplos correctos y casos límite;
  • lista de comprobación;
  • responsable, versión y fecha de revisión.

Ejemplo: cribar abstracts

Esta skill podría guardarse en .agents/skills/cribar-abstracts/SKILL.md y reutilizarse cada vez que queramos hacer un primer cribado bibliográfico:

---
name: cribar-abstracts
description: Criba abstracts para una revisión sistemática a partir de unos criterios de inclusión y exclusión definidos por el investigador.
---

# Objetivo

Clasificar cada abstract como `incluir`, `excluir` o `dudoso`.

# Entradas

- Pregunta de investigación en formato PICO o PECO.
- Criterios de inclusión y exclusión.
- Abstracts con un identificador único.

# Procedimiento

1. Comprueba que están presentes todas las entradas.
2. Aplica cada criterio por separado.
3. Utiliza únicamente información explícita en el abstract.
4. Si falta información necesaria, clasifica el estudio como `dudoso`.
5. Justifica la decisión con un fragmento del abstract.

# Salida

Devuelve una tabla con estas columnas:

`ID | decisión | criterio aplicado | fragmento de apoyo | observaciones`

# Comprobación final

- Todos los identificadores de entrada aparecen una sola vez.
- Ninguna exclusión se basa en información inferida.
- Los casos sin evidencia suficiente están marcados como `dudoso`.

El archivo convierte un prompt que tendríamos que reconstruir en cada conversación en un procedimiento visible y reutilizable. El investigador sigue siendo quien define los criterios y revisa las decisiones.

La estructura mínima y el modo de activación pueden consultarse en la documentación oficial de OpenAI sobre skills.

Control de versiones

No es obligatorio, pero puede ser útil asignar a cada skill un número de versión y un historial breve. Cambia la versión cuando modifiques criterios, formato, fuentes o permisos.

Qué hacer cuando la tarea no puede completarse

Una skill se ejecutará muchas veces y no siempre recibirá entradas válidas. Por eso debe explicar qué hacer cuando no puede seguir. En el ejemplo anterior, la instrucción «si falta información, clasifica como dudoso» evita que el agente complete los huecos por su cuenta.

También puede detenerse cuando:

  • falta una entrada obligatoria;
  • el documento es ilegible o está incompleto;
  • aparece información sensible no prevista;
  • las fuentes se contradicen;
  • la confianza depende de conocimiento no aportado;
  • la acción solicitada es irreversible.

En esos casos la salida correcta no es improvisar, sino explicar qué falta y pedir revisión humana.

Probarla antes de reutilizarla

Escribir una skill no garantiza que las instrucciones funcionen como esperamos. Antes de compartirla, ejecútala con unos pocos casos conocidos: uno que deba incluirse, otro que deba excluirse y otro ambiguo. Después comprueba:

  • si tomó la decisión esperada;
  • si utilizó el criterio correcto;
  • si citó un fragmento que realmente respalda la decisión;
  • si respetó el formato;
  • si inventó información ausente.

No se trata de hacer una evaluación compleja. Es una comprobación rápida antes de repetir el procedimiento sobre decenas o cientos de documentos. En un cribado, además, puede ser más costoso excluir erróneamente un estudio relevante que mantener un caso dudoso.

Automatizaciones

Una skill describe el procedimiento, pero es posible que queramos ejecutar ese procedimiento de forma automática cada cierto tiempo. Para esto están las automatizaciones. Deciden cuándo ejecutarlo y qué ocurre con el resultado.

Casos razonables incluyen preparar una lista semanal de artículos candidatos, comprobar campos ausentes en documentación o generar un informe de cambios. La selección definitiva, la interpretación científica y la difusión permanecen bajo control humano.