Skills
Magisterium AI stelt de volgende skills beschikbaar via het A2A-protocol. Geef de te gebruiken skill op via metadata.skillId in het bericht. Als skillId wordt weggelaten, wordt catholic_qa standaard gebruikt.
| Skill | ID | Beschrijving |
|---|---|---|
| Katholieke Q&A | catholic_qa | Volledige Q&A met citaten uit meer dan 29.000 magisteriële documenten, de Heilige Schrift en de Kerkvaders. |
| Documentzoekopdracht | document_search | Semantisch zoeken in magisteriële documenten, encyclieken, catechismus-secties en canoniek recht. |
| Documentophaling | document_fetch | Haal de volledige tekst en metadata van een specifiek document op aan de hand van zijn ID. |
| Liturgische lezingen | liturgical_readings | Verkrijg de katholieke Mislezingen voor elke datum of liturgische gelegenheid. |
| Heiligen van de dag | saints_of_the_day | Verkrijg de heiligen die op een bepaalde datum worden herdacht uit het Romeins Martyrologium. |
| Heilige opzoeken | saint_lookup | Zoek een heilige, zalige, eerbiedwaardige of dienaar Gods op via naam of canonieke ID. |
| Katholieke geestelijke opzoeken | person_lookup | Zoek een katholieke geestelijke (bisschop, kardinaal, aartsbisschop, enz.) op via naam of canonieke ID. |
| Paus opzoeken | pope_lookup | Zoek een paus op via naam of canonieke ID. |
| Bisdom opzoeken | diocese_lookup | Zoek een kerkelijke jurisdictie (bisdom, aartsbisdom, eparchie) op met directorymetadata, kerncijfers en de meest recente financiële gegevens. |
| Tijdreeks van bisdomstatistieken | diocese_statistics_lookup | Geef de volledige jaarlijkse tijdreeks van statistieken voor een bisdom terug — 19 metrieken, één rij per jaar. |
Alle skills worden aangeroepen via de JSON-RPC-methode 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" }
}
}
}Responses komen altijd terug als een Task (kind: "task") met status.state: "completed" en een of meer artifacts. Elk artefact heeft een unieke artifactId, een skill-specifieke name, en een of meer parts (text, data of file).
catholic_qa
Stel een vraag in natuurlijke taal en ontvang een geciteerd, uitgebreid antwoord. Dit is de meest capabele (en meest resource-intensieve) skill — hij draait op hetzelfde model dat magisterium.com aanstuurt.
Invoer: een enkel tekst-part met de vraag.
Artefact: name: "catholic_qa_response" bevat:
- Een
text-part met het volledige antwoord. - Een
data-part metcitations(wanneer bronnen zijn gebruikt). - Een
data-part metrelated_questions(wanneer het model suggesties teruggeeft).
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qagebruikt een strengere rate-limit-variant dan de andere skills. Zie API-referentie → Rate-limieten.
document_search
Haal documentreferenties op die overeenkomen met een semantische zoekopdracht in de Magisterium-kennisbank.
Invoer: een enkel tekst-part met de zoekopdracht.
Artefact: name: "search_results" met een enkel data-part:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}Gebruik het id-veld uit een resultaat om document_fetch aan te roepen voor de volledige tekst.
document_fetch
Haal de volledige tekst en metadata van een document op aan de hand van zijn ID. Deze skill accepteert een data-part in plaats van een tekst-part:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}Als de aanroeper een tekst-part stuurt, behandelt de handler deze als documentidentificatie.
Artefact: name: "document" met twee parts:
- Een
text-part met de documentinhoud. - Een
data-part met{ id, title, author, ref }.
Als het document niet wordt gevonden, bevat het artefact een enkel text-part met "Document not found.".
liturgical_readings
Verkrijg de katholieke Mislezingen voor een bepaalde datum. Accepteert een datumopdracht in natuurlijke taal — bijv. "vandaag", "volgende zondag" of "Paaszondag 2026".
Invoer: een enkel tekst-part met de datumopdracht.
Artefact: name: "mass_readings" met een enkel text-part met de opgemaakte lezingen. Als er geen lezingen beschikbaar zijn voor de gevraagde datum, luidt het part "No mass readings found.".
saints_of_the_day
Zoek de heiligen op die op een bepaalde datum worden herdacht uit het Romeins Martyrologium.
Invoer: een data-part met een absolute datum, of een tekst-part dat als datumopdracht wordt behandeld:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artefact: name: "martyrology" met een enkel text-part dat de opgemaakte martyrologium-vermelding bevat. Ontbrekende data geven "No martyrology data found." terug.
De vijf onderstaande skills zijn directory-opzoekingen. Elk accepteert een query in natuurlijke taal (als tekst-part of als veld data.query) plus een optionele canonieke ID, en geeft een gestructureerd profiel terug binnen een enkel data-part. Als noch query noch een canonieke ID wordt opgegeven, wordt het verzoek afgewezen met INVALID_PARAMS (-32602).
Wanneer de zoekopdracht niet kan worden opgelost, bevat het artefact in plaats van een profiel een data-part in de vorm { "error": "not_found", "query": "...", "hint"?: "..." }. De taak zelf wordt nog steeds succesvol afgerond — not_found is een normaal opzoekresultaat, geen protocolfout.
saint_lookup
Zoek een heilige, zalige, eerbiedwaardige of dienaar Gods op uit de directory cd_saints (~12.500 figuren).
Invoer: data.query (bijv. "Therese of Lisieux") of data.saint_id (canonieke primaire sleutel, bijv. "jerome"). Een enkel tekst-part wordt als query geaccepteerd.
{
"parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}Artefact: name: "saint_profile" met een enkel data-part dat het canonieke profiel bevat — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, leven en dood, feestdag, heiligverklaringszaak, patronaat, iconografie, biografie, en (als meerdere kandidaten gevonden zijn) een alternates-array.
person_lookup
Zoek een katholieke geestelijke (bisschop, kardinaal, aartsbisschop, enz.) op uit de directories cd_persons (levend, ~3.500) en cd_persons_historical (~2.200). Pausen worden via de afzonderlijke skill pope_lookup ontsloten.
Invoer: data.query (bijv. "Cardinal Tagle") of data.person_id (canonieke primaire sleutel). Een enkel tekst-part wordt als query geaccepteerd.
{
"parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}Artefact: name: "person_profile" met een enkel data-part dat het canonieke profiel bevat — person_id, source_table, primary_name, current_position, image_url, coat_of_arms_url, wijdings- en consecratiedata, kardinaalsverheffing, bisschoppelijke lijn, opleiding, motto en eventuele alternates.
Als de zoekopdracht alleen tot een paus leidt, is het antwoord { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }.
pope_lookup
Zoek een paus op uit de directory cd_popes (267 figuren).
Invoer: data.query (bijv. "Pope Francis", "John Paul II") of data.pope_id (canonieke primaire sleutel, bijv. "benedict-xvi"). Een enkel tekst-part wordt als query geaccepteerd.
{
"parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}Artefact: name: "pope_profile" met een enkel data-part dat het canonieke pauselijke profiel bevat — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, status van zaligverklaring en heiligverklaring, en eventuele alternates.
Als de zoekopdracht alleen tot een geestelijke leidt die geen paus is, is het antwoord { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }.
diocese_lookup
Zoek een kerkelijke jurisdictie (bisdom, aartsbisdom, eparchie, enz.) op uit de bisdommen-directory (~3.200 jurisdicties wereldwijd).
Invoer: data.query (bijv. "Archdiocese of Manila") of data.source_code (canonieke primaire sleutel, bijv. "dmaml"). Een enkel tekst-part wordt als query geaccepteerd.
{
"parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}Artefact: name: "diocese_profile" met een enkel data-part dat directorymetadata bevat (source_code, primary_name, jurisdiction_type, rite, country, region_primary, state, city, metropolitan, depends_on, province, cathedral, patron_saint, area, erected, elevated, official_website, image_url, current_bishop) plus:
recent_statistics— tot 5 jaar aan kerncijfers (katholieken, totale bevolking, percentage katholieken, totaal aantal priesters, parochies, doopsels, seminaristen).latest_financials— de kerncijfers van het meest recente boekjaar (totale opbrengsten, totale lasten, netto vermogen, totaal vermogen, overschot/tekort) indien beschikbaar, met valuta.alternates— wanneer meerdere kandidaten overeenkwamen.
Gebruik voor meerjarige trendanalyse in plaats daarvan diocese_statistics_lookup.
diocese_statistics_lookup
Geef de volledige jaarlijkse tijdreeks van statistieken voor een bisdom terug — alle 19 metrieken die in diocese_statistics worden bijgehouden.
Invoer: data.query of data.source_code (een ervan is verplicht), plus optionele inclusieve grenzen:
{
"parts": [{
"kind": "data",
"data": {
"source_code": "dmaml",
"start_year": 2010,
"end_year": 2024
}
}]
}Artefact: name: "diocese_statistics_time_series" met een enkel data-part dat source_code, diocese_name, year_range: { start, end } en een rows-array bevat. Elke rij bevat 19 metrieken voor één jaar: catholics, total_population, percent_catholic, diocesan_priests, religious_priests, total_priests, catholics_per_priest, permanent_deacons, male_religious, female_religious, parishes, area_km2, churches_or_stations, diocesan_priests_ordained, religious_priests_ordained, seminarians, educational_institutes, charitable_institutes, baptisms.