Magisterium AI

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.

KeterampilanIDDeskripsi
T&J Katolikcatholic_qaT&J lengkap dengan kutipan dari lebih dari 29.000 dokumen Magisterium, Kitab Suci, dan Bapa Gereja.
Pencarian Dokumendocument_searchPencarian semantik di dokumen Magisterium, ensiklik, bagian katekismus, dan hukum kanon.
Pengambilan Dokumendocument_fetchMengambil teks lengkap dan metadata suatu dokumen tertentu berdasarkan ID-nya.
Bacaan Liturgiliturgical_readingsMendapatkan bacaan Misa Katolik untuk tanggal atau peringatan liturgi mana pun.
Santo Hari Inisaints_of_the_dayMendapatkan para santo yang diperingati pada tanggal tertentu dari Martirologi Romawi.

Semua keterampilan dipanggil melalui metode JSON-RPC message/send.

json
{
  "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 text dengan jawaban lengkap.
  • Bagian data dengan citations (ketika sumber apa pun digunakan).
  • Bagian data dengan related_questions (ketika model mengembalikan saran).
json
{
  "artifactId": "art_...",
  "name": "catholic_qa_response",
  "parts": [
    { "kind": "text", "text": "The Catholic Church teaches..." },
    { "kind": "data", "data": { "citations": [ /* ... */ ] } },
    { "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
  ]
}

catholic_qa menggunakan 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:

json
{
  "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:

json
{
  "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 text berisi isi dokumen.
  • Bagian data berisi { 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:

json
{
  "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.".