Keterampilan
Magisterium AI memaparkan keterampilan berikut melalui protokol A2A. Tentukan keterampilan yang akan digunakan lewat metadata.skillId pada pesan. Jika skillId dihilangkan, catholic_qa digunakan sebagai default.
| Keterampilan | ID | Deskripsi |
|---|---|---|
| T&J Katolik | catholic_qa | T&J lengkap dengan kutipan dari lebih dari 29.000 dokumen Magisterium, Kitab Suci, dan Bapa Gereja. |
| Pencarian Dokumen | document_search | Pencarian semantik di dokumen Magisterium, ensiklik, bagian katekismus, dan hukum kanon. |
| Pengambilan Dokumen | document_fetch | Mengambil teks lengkap dan metadata suatu dokumen tertentu berdasarkan ID-nya. |
| Bacaan Liturgi | liturgical_readings | Mendapatkan bacaan Misa Katolik untuk tanggal atau peringatan liturgi mana pun. |
| Santo Hari Ini | saints_of_the_day | Mendapatkan para santo yang diperingati pada tanggal tertentu dari Martirologi Romawi. |
| Pencarian Santo | saint_lookup | Mencari seorang santo, beato, yang mulia, atau hamba Allah berdasarkan nama atau ID kanonik. |
| Pencarian Klerus Katolik | person_lookup | Mencari seorang tokoh klerus Katolik (uskup, kardinal, uskup agung, dll.) berdasarkan nama atau ID kanonik. |
| Pencarian Bapa Suci | pope_lookup | Mencari seorang Bapa Suci berdasarkan nama atau ID kanonik. |
| Pencarian Keuskupan | diocese_lookup | Mencari sebuah yurisdiksi gerejawi (keuskupan, keuskupan agung, eparki) lengkap dengan metadata direktori, statistik utama, dan data keuangan terbaru. |
| Deret Waktu Statistik Keuskupan | diocese_statistics_lookup | Mengembalikan deret waktu statistik tahunan lengkap untuk sebuah keuskupan — 19 metrik, satu baris per tahun. |
Semua keterampilan dipanggil melalui metode 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" }
}
}
}Respons selalu kembali sebagai Task (kind: "task") dengan status.state: "completed" dan satu atau lebih artifacts. Setiap artifact memiliki artifactId unik, name khas-keterampilan, dan satu atau lebih parts (text, data, atau file).
catholic_qa
Ajukan pertanyaan dalam bahasa alami dan terima jawaban panjang yang disertai kutipan. Ini adalah keterampilan yang paling mumpuni (dan paling menyerap sumber daya) — ia dijalankan pada model yang sama dengan yang menggerakkan magisterium.com.
Input: satu bagian teks yang berisi pertanyaan.
Artifact: name: "catholic_qa_response" berisi:
- Bagian
textdengan jawaban lengkap. - Bagian
datadengancitations(ketika sumber apa pun digunakan). - Bagian
datadenganrelated_questions(ketika model mengembalikan saran).
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qamenggunakan varian pembatas laju yang lebih ketat daripada keterampilan lain. Lihat Referensi API → Batas Laju.
document_search
Ambil referensi dokumen yang cocok dengan kueri semantik terhadap basis pengetahuan Magisterium.
Input: satu bagian teks berisi kueri.
Artifact: name: "search_results" dengan satu bagian data:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}Gunakan field id dari suatu hasil untuk memanggil document_fetch guna mendapatkan teks lengkap.
document_fetch
Ambil teks lengkap dan metadata dari sebuah dokumen berdasarkan ID-nya. Keterampilan ini menerima bagian data alih-alih bagian teks:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}Jika pemanggil mengirim bagian teks, handler akan jatuh kembali memperlakukannya sebagai ID dokumen.
Artifact: name: "document" dengan dua bagian:
- Bagian
textberisi isi dokumen. - Bagian
databerisi{ id, title, author, ref }.
Jika dokumen tidak ditemukan, artifact berisi satu bagian text yang berbunyi "Document not found.".
liturgical_readings
Mendapatkan bacaan Misa Katolik untuk tanggal tertentu. Menerima kueri tanggal dalam bahasa alami — misalnya "today", "next Sunday", atau "Easter Sunday 2026".
Input: satu bagian teks dengan kueri tanggal.
Artifact: name: "mass_readings" dengan satu bagian text berisi bacaan yang sudah diformat. Jika tidak ada bacaan untuk tanggal yang diminta, bagian tersebut berbunyi "No mass readings found.".
saints_of_the_day
Cari para santo yang diperingati pada tanggal tertentu dari Martirologi Romawi.
Input: bagian data dengan tanggal absolut, atau bagian teks yang diperlakukan sebagai kueri tanggal:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artifact: name: "martyrology" dengan satu bagian text berisi entri martirologi yang sudah diformat. Tanggal yang tidak ada akan mengembalikan "No martyrology data found.".
Lima keterampilan berikut adalah pencarian direktori. Masing-masing menerima query dalam bahasa alami (sebagai bagian teks atau field data.query) ditambah ID kanonik opsional, dan mengembalikan profil terstruktur di dalam satu bagian data. Jika baik query maupun ID kanonik tidak diberikan, permintaan ditolak dengan INVALID_PARAMS (-32602).
Ketika kueri tidak dapat diselesaikan, artifact berisi bagian data berbentuk { "error": "not_found", "query": "...", "hint"?: "..." } alih-alih sebuah profil. Tugasnya sendiri tetap selesai dengan sukses — not_found adalah hasil pencarian normal, bukan kesalahan protokol.
saint_lookup
Mencari seorang santo, beato, yang mulia, atau hamba Allah dari direktori cd_saints (sekitar 12.500 tokoh).
Input: data.query (mis. "Therese of Lisieux") atau data.saint_id (kunci utama kanonik, mis. "jerome"). Bagian teks polos juga diterima sebagai query.
{
"parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}Artifact: name: "saint_profile" dengan satu bagian data berisi profil kanonik — saint_id, primary_name, canonical_status, vocation, image_url, learn_more_url, hidup dan wafat, hari pesta, alasan kanonisasi, perlindungan, ikonografi, biografi, dan (jika ditemukan beberapa kandidat) sebuah array alternates.
person_lookup
Mencari seorang tokoh klerus Katolik (uskup, kardinal, uskup agung, dll.) dari direktori cd_persons (yang masih hidup, sekitar 3.500 tokoh) dan cd_persons_historical (sekitar 2.200 tokoh). Para Bapa Suci disediakan melalui keterampilan terpisah pope_lookup.
Input: data.query (mis. "Cardinal Tagle") atau data.person_id (kunci utama kanonik). Bagian teks polos juga diterima sebagai query.
{
"parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}Artifact: name: "person_profile" dengan satu bagian data berisi profil kanonik — person_id, source_table, primary_name, current_position, image_url, coat_of_arms_url, tanggal tahbisan dan konsekrasi, pengangkatan menjadi kardinal, garis keuskupan, pendidikan, motto, dan alternates apa pun.
Jika kueri hanya mengarah ke seorang Bapa Suci, responsnya adalah { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }.
pope_lookup
Mencari seorang Bapa Suci dari direktori cd_popes (267 tokoh).
Input: data.query (mis. "Pope Francis", "John Paul II") atau data.pope_id (kunci utama kanonik, mis. "benedict-xvi"). Bagian teks polos juga diterima sebagai query.
{
"parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}Artifact: name: "pope_profile" dengan satu bagian data berisi profil kepausan kanonik — pope_id, primary_name, papal_name, ordinal, pope_title, image_url, coat_of_arms_url, birth_name, origin, pontificate, status beatifikasi dan kanonisasi, dan alternates apa pun.
Jika kueri hanya mengarah ke seorang anggota klerus yang bukan Bapa Suci, responsnya adalah { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }.
diocese_lookup
Mencari sebuah yurisdiksi gerejawi (keuskupan, keuskupan agung, eparki, dll.) dari direktori keuskupan (sekitar 3.200 yurisdiksi di seluruh dunia).
Input: data.query (mis. "Archdiocese of Manila") atau data.source_code (kunci utama kanonik, mis. "dmaml"). Bagian teks polos juga diterima sebagai query.
{
"parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}Artifact: name: "diocese_profile" dengan satu bagian data berisi metadata direktori (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) ditambah:
recent_statistics— hingga 5 tahun angka utama (umat Katolik, total penduduk, persentase Katolik, total imam, paroki, baptisan, seminaris).latest_financials— metrik utama tahun fiskal terbaru (total pendapatan, total pengeluaran, aset bersih, total aset, surplus/defisit) jika tersedia, beserta mata uangnya.alternates— ketika beberapa kandidat cocok.
Untuk analisis tren multi-tahun, gunakan diocese_statistics_lookup sebagai gantinya.
diocese_statistics_lookup
Mengembalikan deret waktu statistik tahunan lengkap untuk sebuah keuskupan — seluruh 19 metrik yang dilacak dalam diocese_statistics.
Input: data.query atau data.source_code (salah satunya wajib), ditambah batas inklusif opsional:
{
"parts": [{
"kind": "data",
"data": {
"source_code": "dmaml",
"start_year": 2010,
"end_year": 2024
}
}]
}Artifact: name: "diocese_statistics_time_series" dengan satu bagian data berisi source_code, diocese_name, year_range: { start, end }, dan sebuah array rows. Setiap baris membawa 19 metrik untuk satu tahun: 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.