Skills
Magisterium AI stellt die folgenden Skills über das A2A-Protokoll bereit. Geben Sie den zu verwendenden Skill über metadata.skillId in der Nachricht an. Wird skillId weggelassen, wird standardmäßig catholic_qa verwendet.
| Skill | ID | Beschreibung |
|---|---|---|
| Katholisches Q&A | catholic_qa | Vollständige Q&A mit Zitaten aus über 29.000 lehramtlichen Dokumenten, der Heiligen Schrift und den Kirchenvätern. |
| Dokumentensuche | document_search | Semantische Suche über lehramtliche Dokumente, Enzykliken, Katechismus-Abschnitte und das Kirchenrecht. |
| Dokumentabruf | document_fetch | Abruf des vollständigen Textes und der Metadaten eines bestimmten Dokuments anhand seiner ID. |
| Liturgische Lesungen | liturgical_readings | Abruf der katholischen Messlesungen für jedes Datum oder jeden liturgischen Anlass. |
| Heilige des Tages | saints_of_the_day | Abruf der an einem bestimmten Datum gefeierten Heiligen aus dem Martyrologium Romanum. |
| Heiligen-Suche | saint_lookup | Suchen Sie einen Heiligen, Seligen, Ehrwürdigen oder Diener Gottes anhand des Namens oder der kanonischen ID. |
| Suche nach katholischen Klerikern | person_lookup | Suchen Sie eine katholische Klerusperson (Bischof, Kardinal, Erzbischof usw.) anhand des Namens oder der kanonischen ID. |
| Papst-Suche | pope_lookup | Suchen Sie einen Papst anhand des Namens oder der kanonischen ID. |
| Diözesen-Suche | diocese_lookup | Suchen Sie eine kirchliche Jurisdiktion (Diözese, Erzdiözese, Eparchie) mit Verzeichnis-Metadaten, Eckdaten-Statistiken und den neuesten Finanzdaten. |
| Zeitreihe der Diözesen-Statistik | diocese_statistics_lookup | Liefert die vollständige jährliche Statistik-Zeitreihe einer Diözese — 19 Kennzahlen, eine Zeile pro Jahr. |
Alle Skills werden über die JSON-RPC-Methode message/send aufgerufen.
{
"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" }
}
}
}Die Antworten kommen immer als Task (kind: "task") mit status.state: "completed" und einem oder mehreren artifacts zurück. Jedes Artefakt hat eine eindeutige artifactId, einen skill-spezifischen name und einen oder mehrere parts (text, data oder file).
catholic_qa
Stellen Sie eine Frage in natürlicher Sprache und erhalten Sie eine zitierte, ausführliche Antwort. Dies ist der leistungsfähigste (und ressourcenintensivste) Skill — er läuft auf demselben Modell, das auch magisterium.com antreibt.
Eingabe: ein einzelner Text-Part mit der Frage.
Artefakt: name: "catholic_qa_response" enthält:
- Einen
text-Part mit der vollständigen Antwort. - Einen
data-Part mitcitations(wenn Quellen verwendet wurden). - Einen
data-Part mitrelated_questions(wenn das Modell Vorschläge zurückgibt).
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qaverwendet eine strengere Rate-Limit-Variante als die anderen Skills. Siehe API-Referenz → Rate-Limits.
document_search
Abruf von Dokumentreferenzen, die einer semantischen Abfrage gegen die Magisterium-Wissensdatenbank entsprechen.
Eingabe: ein einzelner Text-Part mit der Abfrage.
Artefakt: name: "search_results" mit einem einzigen data-Part:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}Verwenden Sie das id-Feld eines Ergebnisses, um document_fetch für den vollständigen Text aufzurufen.
document_fetch
Abruf des vollständigen Textes und der Metadaten eines Dokuments anhand seiner ID. Dieser Skill akzeptiert einen data-Part anstelle eines Text-Parts:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}Sendet der Aufrufer einen Text-Part, greift der Handler darauf zurück, ihn als Dokument-ID zu behandeln.
Artefakt: name: "document" mit zwei Parts:
- Einem
text-Part mit dem Dokumenteninhalt. - Einem
data-Part mit{ id, title, author, ref }.
Wird das Dokument nicht gefunden, enthält das Artefakt einen einzelnen text-Part mit "Document not found.".
liturgical_readings
Abruf der katholischen Messlesungen für ein bestimmtes Datum. Akzeptiert eine Datumsabfrage in natürlicher Sprache — z. B. „heute", „nächsten Sonntag" oder „Ostersonntag 2026".
Eingabe: ein einzelner Text-Part mit der Datumsabfrage.
Artefakt: name: "mass_readings" mit einem einzigen text-Part, der die formatierten Lesungen enthält. Sind für das angeforderte Datum keine Lesungen verfügbar, lautet der Part "No mass readings found.".
saints_of_the_day
Nachschlagen der Heiligen, die an einem bestimmten Datum aus dem Martyrologium Romanum gefeiert werden.
Eingabe: ein data-Part mit einem absoluten Datum oder ein Text-Part, der als Datumsabfrage behandelt wird:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artefakt: name: "martyrology" mit einem einzigen text-Part, der den formatierten Martyrologium-Eintrag enthält. Fehlende Daten liefern "No martyrology data found.".
Die fünf nachstehenden Skills sind Verzeichnis-Suchen. Jeder akzeptiert eine query in natürlicher Sprache (als Text-Part oder als Feld data.query) sowie eine optionale kanonische ID und gibt ein strukturiertes Profil in einem einzigen data-Part zurück. Werden weder query noch eine kanonische ID übergeben, wird die Anfrage mit INVALID_PARAMS (-32602) abgelehnt.
Wenn die Abfrage nicht aufgelöst werden kann, enthält das Artefakt anstelle eines Profils einen data-Part der Form { "error": "not_found", "query": "...", "hint"?: "..." }. Die Aufgabe selbst wird dennoch erfolgreich abgeschlossen — not_found ist ein normales Suchergebnis und kein Protokollfehler.
saint_lookup
Suchen Sie einen Heiligen, Seligen, Ehrwürdigen oder Diener Gottes im Verzeichnis cd_saints (~12.500 Personen).
Eingabe: data.query (z. B. "Therese of Lisieux") oder data.saint_id (kanonischer Primärschlüssel, z. B. "jerome"). Ein einzelner Text-Part wird als query akzeptiert.
{
"parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}Artefakt: name: "saint_profile" mit einem einzigen data-Part, der das kanonische Profil enthält — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, Lebens- und Sterbedaten, Festtag, Heiligsprechungsverfahren, Patronate, Ikonografie, Biografie und (falls mehrere Kandidaten gefunden wurden) ein alternates-Array.
person_lookup
Suchen Sie eine katholische Klerusperson (Bischof, Kardinal, Erzbischof usw.) in den Verzeichnissen cd_persons (lebend, ~3.500) und cd_persons_historical (~2.200). Päpste werden über den separaten Skill pope_lookup bereitgestellt.
Eingabe: data.query (z. B. "Cardinal Tagle") oder data.person_id (kanonischer Primärschlüssel). Ein einzelner Text-Part wird als query akzeptiert.
{
"parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}Artefakt: name: "person_profile" mit einem einzigen data-Part, der das kanonische Profil enthält — person_id, source_table, primary_name, current_position, image_url, coat_of_arms_url, Weihe- und Konsekrationsdaten, Erhebung zum Kardinal, Bischofsabfolge, Ausbildung, Wahlspruch und gegebenenfalls alternates.
Wenn die Abfrage nur auf einen Papst aufgelöst wird, lautet die Antwort { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }.
pope_lookup
Suchen Sie einen Papst im Verzeichnis cd_popes (267 Personen).
Eingabe: data.query (z. B. "Pope Francis", "John Paul II") oder data.pope_id (kanonischer Primärschlüssel, z. B. "benedict-xvi"). Ein einzelner Text-Part wird als query akzeptiert.
{
"parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}Artefakt: name: "pope_profile" mit einem einzigen data-Part, der das kanonische Papstprofil enthält — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, Status der Selig- und Heiligsprechung sowie gegebenenfalls alternates.
Wenn die Abfrage nur auf eine nicht-päpstliche Klerusperson aufgelöst wird, lautet die Antwort { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }.
diocese_lookup
Suchen Sie eine kirchliche Jurisdiktion (Diözese, Erzdiözese, Eparchie usw.) im Diözesen-Verzeichnis (~3.200 Jurisdiktionen weltweit).
Eingabe: data.query (z. B. "Archdiocese of Manila") oder data.source_code (kanonischer Primärschlüssel, z. B. "dmaml"). Ein einzelner Text-Part wird als query akzeptiert.
{
"parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}Artefakt: name: "diocese_profile" mit einem einzigen data-Part, der die Verzeichnis-Metadaten enthält (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) sowie:
recent_statistics— bis zu 5 Jahre an Eckdaten (Katholiken, Gesamtbevölkerung, Anteil der Katholiken, Gesamtzahl der Priester, Pfarreien, Taufen, Seminaristen).latest_financials— die Eckkennzahlen des jüngsten Geschäftsjahres (Gesamterträge, Gesamtaufwendungen, Nettovermögen, Gesamtvermögen, Über-/Unterdeckung), sofern verfügbar, mit Währung.alternates— wenn mehrere Kandidaten zugeordnet wurden.
Für mehrjährige Trendanalysen verwenden Sie stattdessen diocese_statistics_lookup.
diocese_statistics_lookup
Liefert die vollständige jährliche Statistik-Zeitreihe einer Diözese — alle 19 Kennzahlen, die in diocese_statistics erfasst werden.
Eingabe: data.query oder data.source_code (eines davon ist erforderlich), zuzüglich optionaler einschließender Grenzen:
{
"parts": [{
"kind": "data",
"data": {
"source_code": "dmaml",
"start_year": 2010,
"end_year": 2024
}
}]
}Artefakt: name: "diocese_statistics_time_series" mit einem einzigen data-Part, der source_code, diocese_name, year_range: { start, end } und ein rows-Array enthält. Jede Zeile enthält 19 Kennzahlen für ein Jahr: 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.