Habilidades
Magisterium AI expone las siguientes habilidades a través del protocolo A2A. Especifica la habilidad que se utilizará mediante metadata.skillId en el mensaje. Si se omite skillId, se usa catholic_qa por defecto.
| Habilidad | ID | Descripción |
|---|---|---|
| Preguntas y respuestas católicas | catholic_qa | Preguntas y respuestas completas con citas de más de 29.000 documentos magisteriales, la Sagrada Escritura y los Padres de la Iglesia. |
| Búsqueda de documentos | document_search | Búsqueda semántica en documentos magisteriales, encíclicas, secciones del catecismo y derecho canónico. |
| Recuperación de documentos | document_fetch | Recupera el texto completo y los metadatos de un documento específico por su ID. |
| Lecturas litúrgicas | liturgical_readings | Obtén las lecturas de la Misa católica para cualquier fecha u ocasión litúrgica. |
| Santos del día | saints_of_the_day | Obtén los santos conmemorados en una fecha determinada según el Martirologio Romano. |
Todas las habilidades se invocan mediante el método JSON-RPC message/send.
{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"role": "user",
"messageId": "unique-id",
"kind": "message",
"parts": [{ "kind": "text", "text": "your query here" }],
"metadata": { "skillId": "document_search" }
}
}
}Las respuestas siempre vuelven como una Task (kind: "task") con status.state: "completed" y uno o más artifacts. Cada artefacto tiene un artifactId único, un name específico de la habilidad y una o más parts (text, data o file).
catholic_qa
Formula una pregunta en lenguaje natural y recibe una respuesta extensa con citas. Es la habilidad más capaz (y que más recursos consume) — se ejecuta con el mismo modelo que impulsa magisterium.com.
Entrada: una única parte de texto con la pregunta.
Artefacto: name: "catholic_qa_response" que contiene:
- Una parte
textcon la respuesta completa. - Una parte
dataconcitations(cuando se han utilizado fuentes). - Una parte
dataconrelated_questions(cuando el modelo devuelve sugerencias).
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qautiliza una variante de límite de uso más estricta que el resto de habilidades. Consulta Referencia de API → Límites de uso.
document_search
Recupera referencias a documentos que coincidan con una consulta semántica en la base de conocimiento de Magisterium.
Entrada: una única parte de texto con la consulta.
Artefacto: name: "search_results" con una única parte data:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}Usa el campo id de un resultado para invocar document_fetch y obtener el texto completo.
document_fetch
Recupera el texto completo y los metadatos de un documento por su ID. Esta habilidad acepta una parte data en lugar de una parte de texto:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}Si el llamador envía una parte de texto, el manejador la trata como si fuera el ID del documento.
Artefacto: name: "document" con dos partes:
- Una parte
textcon el cuerpo del documento. - Una parte
datacon{ id, title, author, ref }.
Si el documento no se encuentra, el artefacto contiene una única parte text con el texto "Document not found.".
liturgical_readings
Obtén las lecturas de la Misa católica para una fecha determinada. Acepta una consulta de fecha en lenguaje natural — p. ej. "today", "next Sunday" o "Easter Sunday 2026".
Entrada: una única parte de texto con la consulta de fecha.
Artefacto: name: "mass_readings" con una única parte text que contiene las lecturas formateadas. Si no hay lecturas disponibles para la fecha solicitada, la parte dice "No mass readings found.".
saints_of_the_day
Consulta los santos conmemorados en una fecha determinada según el Martirologio Romano.
Entrada: una parte data con una fecha absoluta, o una parte de texto tratada como consulta de fecha:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artefacto: name: "martyrology" con una única parte text que contiene la entrada del martirologio formateada. Las fechas sin datos devuelven "No martyrology data found.".