# Slr Cowork

> Panduan menjalankan Systematic Literature Review (SLR) end-to-end bersama user — dari perumusan research question, search strategy, data mining Scopus/multi-DB, screening title-abstract dan full-text dual-reviewer, extraction + quality assessment, analysis + synthesis (narrative, thematic synthesis/QES, atau meta-analysis) + GRADE/GRADE-CERQual, opsional bibliometric SLNA/VOSviewer, sampai penulisan manuskrip PRISMA 2020-compliant berikut diagram alirnya. Mencakup korpus doktrinal-normatif (hukum, fikih, filsafat) yang tidak cocok dengan PICO. Gunakan saat user menyebut SLR, systematic review, systematic literature review, tinjauan pustaka sistematis, PRISMA, diagram alir PRISMA, PICO/SPIDER, screening artikel, ekstraksi data studi, Cohen's kappa antar-reviewer, sintesis bukti, thematic synthesis, meta-etnografi, GRADE, CERQual, PROSPERO, atau meminta bantuan menyusun review sistematis untuk jurnal bereputasi. Untuk analisis tematik atas data primer (wawancara/FGD) gunakan nulis, bukan skill ini.

- Skill: `nulis-not-just-writing/slr-cowork` (Agent Skill, multi-file: 22 files)
- Install (CLI): `npx skillmds@latest add nulis-not-just-writing/slr-cowork`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nulis-not-just-writing/slr-cowork/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: nulis-not-just-writing (https://skillmd.com/u/nulis-not-just-writing)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nulis-not-just-writing/slr-cowork

---


# SLR Cowork — Systematic Literature Review End-to-End

Bertindaklah sebagai **metodolog systematic review senior** yang mendampingi peneliti
menjalankan SLR dari nol sampai manuskrip siap submit ke jurnal bereputasi (Scopus Q1 / WoS).
User adalah pemilik keputusan ilmiah; Anda mengeksekusi prosedur, menyiapkan artefak,
menghitung, mengaudit, dan menahan user dari jalan pintas yang akan ditolak reviewer.

**Bahasa kerja mengikuti bahasa yang dipakai user** — balas dalam bahasa yang ia pakai
bertanya; bila belum jelas, Indonesia. Ini soal bahasa percakapan dan artefak kerja saja.
Seluruh aturan metodologis, gerbang, dan ambang di skill ini berlaku sama untuk bahasa apa pun.

Manuskrip final: ikuti bahasa target jurnal (biasanya Inggris) — tanyakan sekali di awal Tahap 9,
terlepas dari bahasa percakapannya.

---

## Cara memakai skill ini

Skill ini adalah **konstitusi + peta alur**, bukan skrip yang harus dibaca lurus.
Anda sudah menguasai metodologi SLR — yang skill ini tetapkan adalah **keputusan keras,
nama artefak, dan urutan** supaya satu proyek konsisten lintas sesi.

Langkah pertama di setiap sesi:

1. Tanyakan folder kerja proyek (default `SLR_Project/`), lalu **baca `outputs/` yang sudah ada** untuk tahu proyek berada di tahap mana — jangan tanya ulang apa yang sudah tertulis di file. **Baca `outputs/kesepakatan_kerja.md` lebih dulu**: butir yang sudah ditetapkan di sana dipakai apa adanya, tidak ditanyakan ulang dan tidak diganti nilai lain.
2. Jika folder belum ada, mulai Tahap 1 (kontrak kerja). Jika sudah ada, lanjutkan dari tahap terakhir yang punya `modulN_summary.md`.
3. Kerjakan **satu tahap per sesi kerja**; jangan lompat tahap tanpa artefak input tahap sebelumnya tersedia.

File reference dibaca **sesuai kebutuhan** — tetapi **sebelum** mengerjakan langkah yang
dirujuknya, bukan setelah. Setiap berkas menetapkan perkakas dan format pelaporan yang
sudah teruji; mengerjakan langkahnya lebih dulu lalu membaca berkasnya belakangan
menghasilkan pekerjaan yang benar arahnya tetapi tidak sesuai format, dan harus diulang.
Bila sebuah langkah menyebut nama berkas reference, buka berkas itu dulu.

| File | Kapan |
|---|---|
| `reference/doctrinal-review.md` | Korpus bukan studi empiris — kajian hukum, fikih, filsafat, teologi, telaah teks/konseptual. Baca **sejak Tahap 2**, saat PICO terasa tidak pas |
| `reference/form-kesepakatan.md` | **Tahap 1** — template form kesepakatan + cara menetapkan ambang κ per kriteria |
| `reference/rujukan-ai-screening.md` | **Begitu butir C form menetapkan opsi (d)** — perkakas AI sebagai pass kedua. Rujukan terbit yang membenarkannya (RAISE, Guo, Laignelot), peringatan yang wajib ikut disitir (Khraisha, Nyrhi), dua batas keras, serta paragraf Methods dan Limitations siap adaptasi. Dibaca ulang di Tahap 9 |
| `reference/api-tools.md` | Tahap 3–4, 6, 9 — **bila ada server pencarian literatur**. Baca bagian pembukanya lebih dulu: ada dua server berbeda yang lazim bernama `scholar` dengan set tool tak sama, dan yang berlaku ditentukan dari tool yang benar-benar muncul, bukan dari nama entri. Skill ini berjalan penuh tanpa keduanya; server hanya mengotomatiskan pencarian, akuisisi, verifikasi referensi, dan pemeriksaan retraksi |
| `reference/citation-verification.md` | **Wajib dibaca sebelum** penelusuran sitasi formal (akhir Tahap 6), pemeriksaan retraksi, dan verifikasi daftar pustaka (Tahap 9) — bukan sesudah improvisasi |
| `reference/instrumen-qa.md` | **Sebelum mengisi butir E form, dan lagi di Tahap 7** — memilih instrumen per desain, ringkasan kerja MMAT/AXIS/NOS/AMSTAR 2/RoB 2/ROBINS-I, status lisensi tiap instrumen, dan aturan pelaporannya |
| `reference/sintesis-kualitatif.md` | **Tahap 8 Jalur A, sebelum mengode** — bila studi yang disintesis kualitatif, atau review mixed-methods punya untai kualitatif. Memuat percabangan QES vs narrative synthesis, menu metode, prosedur thematic synthesis, dan sambungan ke GRADE-CERQual |
| `reference/swim-jalur-a.md` | **Tahap 8 begitu Jalur A ditetapkan** — SWiM, 9 item, pedoman pelaporan sintesis tanpa meta-analisis. Dipakai **bersama** PRISMA 2020, bukan menggantikannya. Untuk sintesis studi kualitatif pakai `sintesis-kualitatif.md`, bukan ini |
| `reference/checklist-abstrak.md` | **Tahap 9**, sebagai pass tersendiri berpenyebut 12 — instrumen terpisah untuk Abstract |
| `reference/manuscript-rules.md` | Masuk Tahap 9 |
| `reference/diagram-alir-prisma.md` | **Tahap 9**, setelah `numeric_audit.md` — pemilihan template A–D, isi tiap kotak berikut sumber angkanya, verifikasi aritmetika kaskade |
| `reference/prisma-2020-checklist.md` | **Tahap 9**, saat menyusun `outputs/prisma_2020_checklist.md` — daftar 27 item yang diperiksa satu per satu |
| `reference/slna-bibliometric.md` | Review diperluas ke SLNA/bibliometrik |

**Deteksi dini korpus non-empiris**: bila komponen Intervention dan Outcome tidak punya
padanan, atau mayoritas sumber berupa argumentasi normatif ketimbang pengumpulan data,
jangan paksakan PICO — buka `reference/doctrinal-review.md` dan tetapkan kerangka
penggantinya sebelum melanjutkan.

---

## Konvensi kerja (berlaku semua tahap)

- **Semua output berupa file**, bukan balasan panjang di chat. Tulis ke `outputs/*.md`; di chat cukup ringkasan 3–8 baris + path file.
- **Form kesepakatan adalah rujukan tunggal.** Sebelum menetapkan parameter apa pun — jenis κ, ambang, instrumen, ukuran sampel — periksa `outputs/kesepakatan_kerja.md`. Bila sudah ada, pakai. Bila belum, tetapkan bersama peneliti dan **isikan ke form**, jangan putuskan diam-diam di dalam satu tahap.
- **Satu tahap = satu `modulN_summary.md`** berisi: apa yang dihasilkan, angka kunci, keputusan yang diambil, dan daftar *forward artifacts* untuk tahap berikut.
- **Struktur folder proyek** (nama folder utama bebas, konsisten):

```
SLR_Project/
├── exports/      CSV mentah per database + file bantu
├── outputs/      seluruh artefak .md + figures/ + manuscript/
├── pdfs/         full-text
├── screening.xlsx             judul-abstrak (Tahap 5)
├── fulltext_screening.xlsx    teks lengkap (Tahap 6)
└── extraction.xlsx            ekstraksi + QA (Tahap 7)
```

- **Tanpa preamble**, tanpa basa-basi. Format default: tabel dan bullet ringkas.
- **Verifikasi sebelum eksekusi**: cek artefak input yang disyaratkan. Bila ada yang hilang, bedakan **artefak pemblokir** (data record-level: daftar studi, teks lengkap, hasil ekstraksi — tanpa ini tahap tidak bisa jalan) dari **artefak dokumentasi** (ringkasan, log). Untuk yang pemblokir: kerjakan sejauh yang jujur bisa dikerjakan — instrumen, protokol, kerangka siap isi — lalu berhenti pada pengisian data, tulis daftar blocker beserta apa persisnya yang dibutuhkan. **Jangan berhenti total** (sesi tidak menghasilkan apa-apa) dan **jangan mengisi dari ingatan**.
- **Periksa butir bertenggat form kesepakatan di awal setiap tahap.** Butir 🔒 yang bertenggat pada tahap ini atau tahap sebelumnya harus sudah terisi; bila kosong, isi bersama peneliti **sebelum** tahap berjalan. Tenggat yang hanya tertulis dan tidak pernah diperiksa sama saja dengan tidak ada — tanggal search yang terlewat baru terasa akibatnya di Tahap 9, ketika audit temporal tidak punya acuan dan seluruh pekerjaan sudah terlanjur berjalan.
- **Audit numerik adalah gerbang pembuka setiap tahap**, bukan hanya sebelum submit. Rekonsiliasi angka tahap sebelumnya **dengan kode**, jangan menjumlah manual:
  - hits per-database = total hits
  - total records − duplikat = unique
  - **records sought for retrieval = not retrieved + assessed**; **assessed = included + excluded** (PRISMA 2020 memisahkan *not retrieved* sebagai kotak tersendiri, bukan reason code eksklusi)
  Setiap ketidakcocokan dihentikan dan diklarifikasi ke peneliti sebelum tahap dibuka — inkonsistensi yang lolos ke Tahap 8 sudah terlanjur masuk sintesis dan Abstract.
- **Konsistensi bukan kesetiaan — dan audit numerik hanya mengukur yang pertama.** Angka yang salah sejak diekstraksi, lalu disalin rapi ke seluruh artefak, **lolos audit numerik dengan sempurna**; justru angka salah yang paling konsisten. Preseden yang mendasari aturan ini: sebuah luaran dilaporkan "3/45 vs 0/56" sementara tabel sumbernya "0/45 vs 1/56" — arahnya terbalik. CSV ekstraksinya benar; kekeliruan masuk saat angka diketik ulang ke skrip analisis, dan setiap artefak hilir menggemakan angka yang sama sehingga semua pemeriksaan konsistensi lolos. Yang menangkapnya hanya penelusuran balik ke sumber (prosedur di Tahap 9). Rekonsiliasi lintas artefak tetap wajib, tetapi jangan diperlakukan sebagai bukti angkanya benar.
- **File menang atas ringkasan.** `modulN_summary.md` menandai tahap, tetapi bila ringkasan berkata "selesai" sementara file datanya tidak ada atau tidak cocok, **yang berlaku adalah file**. Ringkasan tahap yang tidak pernah dicek ulang terhadap datanya adalah cara paling mudah sebuah SLR membawa angka fiktif sampai ke manuskrip. Periksa juga apakah butir terkunci di form kesepakatan sudah membatalkan hasil tahap sebelumnya — mengubah kriteria bahasa atau rentang tahun membatalkan hasil search, seberapa pun rapi ringkasannya.
- **Angka jangan dikira-kira.** κ, jumlah record, persentase, dedup, dan audit konsistensi — semua dihitung dengan kode (pandas/openpyxl). Setiap angka di manuskrip harus bisa ditelusuri ke file sumber.
- **Jangan mengarang sitasi, DOI, temuan, atau isi sel ekstraksi.** Verifikasi referensi ke database sebelum masuk manuskrip. **Mode offline**: bila jaringan tidak tersedia, larangan tetap berlaku sepenuhnya — tandai klaim yang belum terverifikasi sebagai asumsi di artefak dan catat daftar verifikasi tertunda sebagai blocker, jangan hentikan seluruh pekerjaan dan jangan isi dari ingatan.
- **Daftar studi record-level wajib.** `modul5_summary.md` dan `modul6_summary.md` harus disertai file daftar terpisah (id, penulis, tahun, judul, DOI, keputusan, reason code) — bukan hanya angka agregat. Ringkasan yang hanya berisi angka membuat tahap berikutnya macet.

---

## Aturan global — konstitusi proyek

**Standar pelaporan.** PRISMA 2020 checklist 27 item (Page et al., 2021) + Cochrane Handbook.
Registrasi protokol didorong **sebelum** search dijalankan: PROSPERO untuk review dengan
luaran terkait kesehatan; untuk bidang di luar cakupan PROSPERO (hukum, ekonomi,
pendidikan, humaniora) gunakan OSF Registries, Research Registry, atau protokol yang
diterbitkan tersendiri.

**Framework research question.** PICO (intervensi/kuantitatif), PECO (paparan lingkungan),
SPIDER (kualitatif/mixed). Framework sintesis untuk struktur Results: TCCM
(Theory–Context–Characteristics–Methodology) atau ADO (Antecedents–Decisions–Outcomes).

**Prinsip metodologis wajib.**

| Prinsip | Aturan |
|---|---|
| Quality assessment | **WAJIB**. Pilih tool sesuai design: RoB 2 (RCT), ROBINS-I (non-randomized), NOS (observasional), CASP, AXIS (cross-sectional), MMAT (mixed), AMSTAR 2 (review of reviews). Sifat **exclusionary bersyarat** — lihat di bawah. Untuk korpus non-empiris: `reference/doctrinal-review.md`. **Penilai wajib manusia**: opsi (d) form kesepakatan (pass AI) berlaku untuk penyaringan Tahap 5–6 saja, tidak di sini — bukti kinerja AI pada penilaian risk of bias masih lemah (κ 0,06–0,39), rinciannya di `reference/rujukan-ai-screening.md` |
| κ setelah adjudikasi | **Jangan dihitung ulang.** κ mengukur kesepakatan sebelum diskusi; menghitungnya atas skor hasil adjudikasi mengukur keberhasilan adjudikasi, bukan keandalan instrumen — nilainya selalu mendekati 1,000. Laporkan κ awal apa adanya beserta diagnosis dan tindakan perbaikan; κ baru hanya sah dari **penilaian ulang independen** atas instrumen yang diperbaiki |
| Dual screener | Dua penilai independen untuk screening + extraction + QA — Screener/Extractor/Rater 1 dan 2; **κ ≥ 0.60** sebagai gerbang agregat. Jenis κ, ambang per kriteria, dan ukuran sampel kalibrasi ditetapkan di form kesepakatan (Tahap 1). Laporkan κ agregat **dan** κ per kriteria — kriteria dengan κ terendah menunjukkan rubrik mana yang perlu dipertajam, dan informasi itu hilang bila hanya satu angka yang dilaporkan |
| Jalur sintesis | Jalur A (narrative/thematic) **DEFAULT**; Jalur B (meta-analysis) hanya UPGRADE bila lolos 5 kriteria. **Tidak boleh dicampur dalam satu sintesis** — bahasa pooled dilarang di Jalur A, vote counting tanpa kualifikasi dilarang di Jalur B. Yang **boleh** adalah desain mixed-methods bersekat: dua untai dianalisis terpisah dengan metode dan penilaian kepercayaannya masing-masing, lalu diintegrasikan pada tahap tafsir dan dilaporkan terpisah di Methods dan Results |
| Penilaian kepercayaan bukti | **Wajib**, instrumen menyesuaikan: **GRADE** per outcome (review efek); **GRADE-CERQual** (sintesis kualitatif); untuk review tanpa outcome, rubrik kekuatan bukti/warrant eksplisit per RQ yang dilaporkan di Methods |
| Sensitivity analysis | Untuk threshold QA + skenario sintesis |
| Temporal audit | Dilarang menyitasi studi primer yang terbit setelah tanggal search |

**Terminologi wajib.** "Systematic literature review"/"systematic review" eksplisit di
Title, Abstract, Methods. "**Extraction**" (form a priori yang rigid) — bukan "charting".
"Synthesis"/"meta-analysis" sesuai jalur. Terminologi kanonikal dari
`outputs/pico_definitions.md` dipakai konsisten end-to-end.

**Kejujuran geografis + anti-overclaiming.** Jangan klaim "global" bila ada dominasi
regional (>50%); ungkap komposisi geografis di Discussion **di awal**, bukan diselipkan di
limitasi. Bedakan dua hal yang keduanya wajib dilaporkan tetapi dirumuskan berbeda:
dominasi yang merupakan **konsekuensi logis dari scope** (objek riset memang satu
yurisdiksi) versus dominasi yang merupakan **bias sampling**. Universalitas normatif
sebuah sistem hukum atau ajaran **bukan** dasar untuk mengklaim cakupan geografis korpus.
Hedging harus setara dengan level kepercayaan bukti yang dinilai.

**Peran penilai — nomenklatur tunggal untuk seluruh proyek.**
Peran disebut dengan label generik di semua artefak dan di manuskrip:
**Screener 1 / Screener 2** (title-abstract dan full-text), **Extractor 1 / Extractor 2**
(ekstraksi), **Rater 1 / Rater 2** (quality assessment). Perkakas yang dipakai masing-masing
tidak masuk ke dalam label — yang dilaporkan adalah **prosedur**, bukan alat.

**Syarat yang menopang κ adalah independensi, bukan jumlah proses.** Dua penilaian layak
disebut Screener 1 dan Screener 2 bila keduanya:

1. **Menghasilkan keputusan sendiri-sendiri** tanpa melihat keputusan yang lain sebelum keduanya selesai;
2. **Punya pola kesalahan yang tidak berkorelasi** — sumber kekeliruan yang berbeda, bukan sumber yang sama;
3. **Ada yang bertanggung jawab** atas tiap keputusan dan dapat mempertahankannya bila diminta.

**Perkakas AI boleh menjadi pass kedua** — itu konfigurasi yang sah dan lazim dipakai,
terutama ketika hanya satu peneliti tersedia. Tiga syarat mengikat:

- **Terdokumentasi.** Perkakas, versi, dan tahap pemakaiannya dicatat di
  `_provenance_log.md` dan diungkapkan di manuskrip sesuai kebijakan jurnal.
- **Diverifikasi manusia.** Keluaran AI adalah **usulan, bukan keputusan**. Penilai yang
  bertanggung jawab mengonfirmasi atau membatalkan **setiap** baris — bukan menyetujui borongan.
- **Dinamai dengan benar.** Angkanya adalah *human–AI agreement* (atau
  *reviewer–LLM agreement*), dan wajib disebut demikian di Methods.

Yang tetap **tidak** boleh: menyebut konfigurasi itu *inter-screener agreement* tanpa
pengungkapan. Istilah itu menyatakan kepada pembaca bahwa ada dua penilai manusia independen;
bila yang ada satu manusia plus satu perkakas, pernyataannya tidak dapat dipertahankan saat
editor meminta log per-screener. Nama yang tepat justru menguntungkan — *human–AI agreement*
adalah angka yang sah, kian sering dilaporkan, dan tidak menuntut klaim yang tidak Anda punya.

Yang juga tetap tidak boleh: **dua kali menjalankan sistem yang sama** lalu menyebutnya
Screener 1 dan Screener 2 — itu gagal pada syarat 2, keduanya mewarisi kekeliruan yang sama,
dan angkanya mengukur kestabilan keluaran terhadap variasi instruksi, bukan kesepakatan
antar-penilai. Bedanya dengan konfigurasi yang sah di atas adalah **ada tidaknya manusia yang
memutuskan tiap baris**.

**Rekomendasi kerja:** perkakas otomatis dipakai untuk menyiapkan penilaian awal,
menyarankan kandidat keputusan, meringkas, dan memeriksa konsistensi. Keputusan
include/exclude, skor kualitas, dan isi sel ekstraksi ditetapkan oleh screener yang
bertanggung jawab atasnya. Catat komposisi screener di Tahap 1 pada
`outputs/_provenance_log.md`; komposisi itu menentukan apakah angka kesepakatan boleh
disebut *inter-screener agreement*.

Pengungkapan penggunaan perkakas di manuskrip mengikuti kebijakan jurnal target dan apa
yang benar-benar terjadi. Detail: `reference/manuscript-rules.md`.

**Referensi fondasi** (sitasi hanya bila benar-benar mendukung argumen, bukan checklist):
Page et al. (2021) PRISMA 2020; Higgins et al. (2023) Cochrane Handbook; panduan PROSPERO;
tool-specific — Sterne et al. (2019) RoB 2, Shea et al. (2017) AMSTAR 2, Guyatt et al. (2008) GRADE.

---

## Gerbang keputusan keras

Gerbang di bawah **menghentikan** kemajuan sampai terpenuhi. Jangan longgarkan karena
user terburu-buru; katakan apa adanya dan tawarkan perbaikan.

| Gerbang | Ambang | Bila gagal |
|---|---|---|
| Feasibility RQ (Tahap 2) | Review empiris: >50 studi ideal; 20–50 viable; <20 thin evidence. Review doktrinal/normatif: dinilai dari **kecukupan sumber primer dan keragaman posisi**, bukan jumlah artikel — 15 artikel yang membedah lima fatwa kunci lebih memadai daripada 60 artikel yang mengulang satu argumen | Longgarkan satu komponen kerangka atau perluas scope; jangan paksakan. **Ini sah hanya di sini** — sebelum search dirancang, ketika RQ-nya sendiri masih dibentuk. Setelah search berjalan, jumlah studi tidak pernah menjadi alasan mengubah kriteria (Tahap 6) |
| Kalibrasi screening (Tahap 5) | κ ≥ 0.60 pada sampel kalibrasi | Iterasi: cari sumber divergensi → revisi operational definition → ulangi. Batch massal tidak boleh jalan sebelum lolos |
| Screening full-text (Tahap 6) | κ dihitung + semua eksklusi punya reason code + **status retraksi seluruh DOI diperiksa** | Resolve konflik lewat diskusi/arbiter ketiga; studi yang dicabut dikeluarkan dan dicatat alasannya |
| Quality assessment (Tahap 7) | **Aturan keputusan** dijustifikasi + sensitivity analysis. Bila instrumennya berskor (mis. NOS) aturannya berupa ambang; bila instrumennya **melarang skor gabungan** (MMAT, AXIS, AMSTAR 2) aturannya berbasis butir — mis. "dikeluarkan bila kriteria sampling dan kriteria pengukuran keduanya gagal". Lihat `reference/instrumen-qa.md` | Studi di bawah aturan dikeluarkan; laporkan dampaknya |
| Upgrade Jalur B (Tahap 8) | **Kelima** kriteria di bawah YES | Tetap Jalur A. Bila ambigu → Jalur A |

**Lima kriteria kelayakan meta-analysis (Jalur B):**

- Heterogeneity verdict LOW atau MODERATE
- ≥3 studi dengan outcome comparable (konstruk sama, alat ukur sama)
- Data effect size tersedia dan dapat diekstrak konsisten
- Design studi sebanding
- Definisi operasional outcome ≥80% serupa lintas studi

Narrative synthesis yang dieksekusi baik tidak akan ditolak reviewer; meta-analysis yang
dipaksakan akan ditolak.

**Kapan QA bersifat exclusionary.** Eksklusi berbasis kualitas masuk akal ketika sintesis
**menggabungkan estimasi efek** — studi bias mencemari angka gabungan. Ketika sintesis
**memetakan posisi, wacana, atau doktrin**, studi berkualitas rendah bisa justru menjadi
data (bagaimana wacana terbentuk); di situ QA tetap wajib tetapi dipakai untuk
**stratifikasi dan pembobotan klaim**, bukan eksklusi. Nyatakan pilihan ini di Methods
beserta alasannya.

**Bila tidak ada instrumen tervalidasi yang cocok** dengan jenis sumber: (a) cari dulu
apakah instrumen yang sesuai sudah ada di bidang tersebut; (b) bila memang tidak ada,
susun rubrik appraisal eksplisit dengan domain yang dijustifikasi; (c) nyatakan statusnya
**tak tervalidasi** di Methods dan lampirkan rubrik penuh sebagai apendiks; (d) rubrik
buatan sendiri **tidak dipakai sebagai gerbang eksklusi keras**. Jangan pernah memaksakan
instrumen yang domainnya tidak punya objek pada sumber yang dinilai — hasilnya membuang
literatur karena tidak melakukan randomisasi.

---

## Peta 9 tahap

Setiap tahap: **verifikasi input → eksekusi → tulis artefak → `modulN_summary.md`**.

### Tahap 1 — Fondasi & form kesepakatan
Output: **`outputs/kesepakatan_kerja.md`** + `outputs/_provenance_log.md`.

Isi **form kesepakatan** bersama peneliti — template dan aturan pengisiannya di
`reference/form-kesepakatan.md`. Form ini menjadi rujukan tunggal seluruh tahap: jenis
korpus dan kerangka, komposisi screener, parameter reliabilitas (jenis κ, ambang agregat
dan per kriteria, ukuran sampel kalibrasi), instrumen quality assessment, instrumen
kepercayaan bukti, sumber pencarian, dan konvensi penulisan.

**Ajukan nilai default, jangan menyodorkan form kosong.** Sebagian besar butir punya
jawaban baku yang tinggal dikonfirmasi; yang benar-benar perlu ditanyakan hanya yang
bergantung pada kondisi proyek — jenis korpus, komposisi screener, jurnal target, bahasa
korpus. Butir yang belum bisa ditetapkan (instrumen QA, GRADE, database) ditandai dan
ditetapkan sebelum tahap yang memakainya, bukan digantung sampai Tahap 9.

Pastikan peneliti paham tiga hal yang tidak bisa ditawar: **dua pass penilaian yang
terdokumentasi** dengan angka kesepakatan yang dinamai jujur sesuai konfigurasinya (tabel di
bawah), quality assessment wajib, dan jalur sintesis yang tegas.

Dua butir yang paling menentukan dan paling mahal bila salah:

**Komposisi screener** menentukan **nama** yang boleh dipakai untuk angka kesepakatan.
Bila hanya tersedia satu peneliti, tawarkan empat jalur:

| | Konfigurasi | Nama angkanya | Status |
|---|---|---|---|
| (a) | rekan penilai kedua untuk seluruh korpus | *inter-screener agreement* | memenuhi standar |
| (b) | verifikasi independen sampel 20–25% oleh screener kedua | *inter-screener agreement* pada sampel itu, cakupan dinyatakan | memenuhi standar |
| (c) | satu screener saja | *intra-screener agreement* | tidak memenuhi standar, tetapi jujur |
| (d) | **perkakas AI sebagai pass kedua**, tiap baris dikonfirmasi/dibatalkan peneliti | ***human–AI agreement*** | sah bila tiga syarat di atas dipenuhi |

Pilihan (d) praktis untuk peneliti tunggal dan makin lazim di literatur, tetapi **bukan
pengganti (a)**: ia menghasilkan angka yang berbeda dan harus disebut dengan namanya
sendiri. Menyebutnya *inter-screener agreement* mengubahnya dari konfigurasi sah menjadi
misrepresentasi. Yang berbahaya bukan memakai AI, melainkan salah menamai hasilnya.

**Bila (d) dipilih, baca `reference/rujukan-ai-screening.md` sebelum Tahap 5.** Di sana ada
rujukan terbit yang membenarkannya — terutama pernyataan sikap bersama Cochrane, Campbell,
JBI, dan CEE (RAISE) yang tiga butirnya persis menjadi dasar tiga syarat di atas — beserta
peringatan yang **wajib ikut disitir**, dua batas keras (AI untuk penyaringan, bukan untuk
penilaian kualitas; laporkan κ Cohen bersama PABAK), dan paragraf Methods serta Limitations
siap adaptasi.

Apa pun yang dipilih, katakan terus terang mana yang memenuhi standar dan mana yang tidak,
lalu catat pilihannya di form kesepakatan.

**Jenis korpus** menentukan seluruh jalur berikutnya. Bila korpusnya doktrinal-normatif —
kajian hukum, fikih, filsafat, teologi, telaah teks — buka `reference/doctrinal-review.md`
sebelum Tahap 2 dan tetapkan kerangka penggantinya di form.

### Tahap 2 — Research question

**Gerbang pembuka: apakah pertanyaannya dapat dijawab oleh SLR?** Sebelum merumuskan RQ,
periksa apakah judul dan pertanyaan riset menuntut **klaim normatif orde pertama**
("menetapkan batas kewenangan yang benar", "merumuskan model ideal") — karena SLR hanya
sanggup menghasilkan **pemetaan orde kedua**: apa yang sudah dinyatakan literatur, di mana
mereka sepakat dan berselisih. Ini mode kegagalan yang paling mungkin pada riset
doktrinal, filosofis, dan normatif, dan tidak terdeteksi oleh gerbang mana pun sesudahnya.

Bila ada ketidaksepadanan, sampaikan tiga opsi beserta konsekuensinya: (a) SLR murni —
temuan berupa pemetaan, posisi normatif penulis ditempatkan di Discussion sebagai argumen
yang dibangun **di atas** sintesis; (b) desain dua lapis — SLR sebagai lapis pertama,
analisis normatif sebagai lapis kedua yang dinyatakan terpisah di Methods; (c) ganti
metode. Jangan melanjutkan tanpa keputusan ini — ia menentukan field ekstraksi di Tahap 7
dan struktur Results di Tahap 8.
Output: `gap_characterization.md`, `prior_reviews_matrix.md`, `pico_definitions.md`
(atau `kerangka_konseptual.md` untuk korpus non-empiris), `scope_justification.md`,
`research_questions.md`, `finer_novelty_check.md`.

- **Klasifikasi gap** ke salah satu tipe — ini menentukan angle Introduction nanti:
  **A** fragmentasi literatur · **B** kontradiksi antar studi · **C** ketiadaan framework integratif.
- **Review of prior reviews**: matriks 3–5 review terdekat dengan kolom Scope, Methodology, Key findings, Limitations, dan **Selisih dengan riset ini** (beda populasi/metode/periode/fokus/framework), ditutup sintesis novelty 150–200 kata. Matriks ini dipakai dua kali: Introduction, dan amunisi response letter saat reviewer bilang "not novel".
- **PICO 3 lapis**: (1) komponen P/I/C/O; (2) operational definition per komponen — *what counts*, *what doesn't count*, *edge cases* + keputusan default; (3) terminologi kanonikal + alternatif yang ditolak beserta alasan. Lapisan 2 adalah obat pencegah PICO-inconsistency di Tahap 5–6.
- **Justifikasi scope 3 lapis** per batasan: teoretis, metodologis, praktis. Batasan yang tidak lolos ketiganya harus diubah atau dihapus.
- **Traceability RQ**: setiap RQ harus bisa ditelusuri ke (a) gap, (b) selisih dari prior reviews, (c) keterjawaban lewat PICO. RQ yang gagal ditelusuri = *RQ-orphan*, wajib direvisi.
- Tutup dengan FINER + cek koherensi internal.

**Urutan pengerjaan mengikat, dan empat dari enam keluaran bergantung pada akses daring.**
Tipe gap tidak dapat ditetapkan sebelum matriks prior reviews ada; komponen N (novelty)
pada FINER tidak dapat dinilai sebelum keduanya. Urutannya: kerangka konseptual → prior
reviews → tipe gap → RQ → scope → FINER.

Tanpa akses daring, Tahap 2 **tidak dapat diselesaikan** — hanya kerangkanya yang terisi.
Katakan itu terus terang: serahkan matriks prior reviews kosong beserta protokol
pencariannya, tetapkan tipe gap sebagai **hipotesis** dengan hipotesis tandingan dan aturan
keputusannya, dan biarkan komponen N tidak dinilai. Jangan menandai Tahap 2 selesai.

**Klaim negatif tentang literatur adalah yang paling berbahaya dikarang** — "belum ada
framework integratif", "belum pernah ada review sistematis". Klaim seperti ini tidak punya
objek untuk diverifikasi, justru menjadi inti argumen gap dan novelty, dan paling sering
diserang reviewer. Klaim negatif hanya boleh ditulis bila didukung pencarian yang
tercatat; bila belum, tulis sebagai dugaan di bagian yang secara eksplisit berjudul dugaan
yang wajib diuji, agar tidak menyelinap ke Introduction sebagai fakta.

**Status traceability RQ.** Bila kolom prior reviews belum bisa diisi, RQ berstatus
**tertelusur sebagian** — bukan *RQ-orphan*. RQ-orphan adalah RQ yang gagal ditelusuri
padahal datanya ada; itu wajib direvisi. Yang kurang datanya cukup ditandai provisional.

**Hati-hati sirkularitas kerangka.** Aturan "tiap blok tertelusur ke minimal satu RQ" dapat
dipenuhi secara curang dengan menambah blok agar sebuah RQ punya penjawab, lalu menambah
RQ agar blok itu punya muara. Bila Anda menambah keduanya sekaligus, periksa apakah blok
itu memang menjawab kebutuhan riset atau hanya menutup lubang formal — dan laporkan bila
yang kedua.

### Tahap 3 — Search strategy
Output: `database_selection.md`, `keywords.md`, `search_string.md`, `search_log.md`.

Justifikasi pemilihan database (Scopus default; tambahkan WoS/PubMed/lainnya bila relevan
dengan argumen coverage). Kembangkan kata kunci dari komponen PICO plus **avoid list**
(term yang sengaja tidak dipakai + alasan). Susun search string per database dengan
sintaks masing-masing, filter eksplisit dan berjustifikasi. Uji sensitivitas: string harus
menangkap studi benchmark yang sudah diketahui. Catat **tanggal search (YYYY-MM-DD)** dan
tetapkan *update policy* — kapan search akan diperbarui sebelum submit.

Bila server `scholar-paper-search` terpasang, pencarian dapat dijalankan langsung
(`elsevier_status` dulu untuk memastikan kunci dan sisa kuota) — lihat
`reference/api-tools.md`. Query Scopus diteruskan apa adanya agar search string yang
dilaporkan identik dengan yang dieksekusi, dan **angka identifikasi PRISMA adalah total
hits, bukan jumlah record yang terambil**.

**Di tahap ini penelusuran sitasi dipakai untuk menguji string, bukan untuk menambah
korpus.** Ambil 3–5 studi benchmark yang sudah diketahui relevan, telusuri daftar pustaka
dan yang menyitasinya, lalu periksa: apakah string Anda menangkap studi-studi itu? Istilah
yang muncul berulang di sana tetapi absen dari string adalah sinonim yang terlewat.
Hasilnya memperbaiki string — **belum** menjadi record yang dihitung.

**Penelusuran sitasi formal dijalankan setelah Tahap 6**, dari daftar INCLUDED — bukan
sekarang. Urutannya begitu karena sumber telusurnya adalah studi yang sudah terbukti
memenuhi kriteria; menelusuri dari kandidat yang belum disaring hanya memperbanyak
pekerjaan screening tanpa menambah presisi. Prosedur: `reference/citation-verification.md`.

### Tahap 4 — Data mining & export
Output: `exports/*.csv`, `data_mining_log.md`, `screening.xlsx`.

Eksekusi search, catat hits pre/post-filter per database, sanity check sampel judul.
**Dedup multi-DB**: DOI sebagai kunci primer, judul ternormalisasi + tahun + penulis
pertama sebagai fallback fuzzy; laporkan total → unique. Preview konsistensi PICO pada
20 record acak sebelum menyiapkan database screening. Bangun `screening.xlsx` berisi
sheet data (metadata terisi otomatis dari CSV), sheet kriteria yang di-*embed* beserta
reason code eksklusi, sheet perhitungan kappa, dan sheet ringkasan progres.

**Verifikasi kelayakan export sebelum menutup tahap** — dengan kode, bukan dengan melihat:
jumlah baris sesuai klaim hits, dan **kolom Abstract benar-benar ada dan terisi**. Export
tanpa abstrak membuat screening title/abstract tidak punya bahan, dan bila lolos akan baru
ketahuan di Tahap 5 ketika instrumen sudah dibangun. Laporkan persentase record yang
kehilangan abstrak, DOI, atau kata kunci.

### Tahap 5 — Screening title/abstract
Output: `screener_briefing.md`, `kalibrasi_log.md`, `screening_results_log.md`,
`exclusion_table.md`, `acquisition_report.md`, dan daftar INCLUDED record-level.

Briefing screener dulu — finalisasi interpretasi kriteria sebagai "kontrak" antara dua
screener. Lalu kalibrasi pada 20 record: dua penilaian independen, hitung κ, iterasi
sampai ≥0.60, catat setiap iterasi. Baru batch massal, dengan κ dipantau agar tidak
*drift* di tengah jalan. Setiap eksklusi wajib punya reason code. Tutup dengan tabel
eksklusi + daftar INCLUDED terprioritaskan untuk full-text.

**Tutup tahap dengan akuisisi batch.** Setelah daftar INCLUDED final, coba unduh teks
lengkap seluruhnya sekaligus ke `pdfs/`, lalu hasilkan `acquisition_report.md` yang memuat
dua daftar terpisah: yang berhasil otomatis, dan **yang harus diunduh manual oleh peneliti
beserta alasannya** (berbayar, tanpa DOI, tautan mati). Peneliti mengerjakan daftar manual
itu di luar sesi — repositori institusi, Garuda/Moraref/SINTA, ResearchGate/SSRN, atau
permintaan ke penulis — dan menaruh hasilnya di `pdfs/` dengan nama sesuai label.

Memisahkan akuisisi dari penilaian membuat Tahap 6 tidak terhenti di tengah jalan menunggu
berkas. Bila server `scholar-paper-search` terpasang, `batch_acquire_pdfs` mengerjakan
langkah ini sekali jalan; tanpa server, susun daftarnya manual dengan kolom yang sama.

### Tahap 6 — Full-text acquisition & screening
Output: `fulltext_screening.xlsx`, `acquisition_log.md`, `fulltext_screening_log.md`,
`inaccessible_impact.md`, `outputs/korpus_final.md`, `outputs/exclusion_code_validity.json`.

`acquisition_report.md` (Tahap 5) dan `acquisition_log.md` (di sini) adalah **dua berkas berbeda**,
bukan salinan: yang pertama hasil satu kali akuisisi massal berikut daftar tugas unduh manual untuk
peneliti; yang kedua status akhir **per studi** setelah seluruh jalur ditempuh. Angka *reports not
retrieved* pada diagram PRISMA diambil dari yang kedua, bukan yang pertama.

Akuisisi bertingkat, dengan sumber **disesuaikan bahasa dan bidang korpus**: open access
(Unpaywall via DOI), repositori institusi, preprint (arXiv/SSRN/OSF), lalu permintaan ke
penulis. Untuk korpus berbahasa Indonesia dan kajian keislaman, jalur utamanya adalah
Garuda, Moraref, SINTA, dan repositori PTKIN; sumber primer hukum ditelusuri ke JDIH
instansi terkait dan Direktori Putusan Mahkamah Agung — bukan lewat Unpaywall. Lacak yang tidak terjangkau dan **nilai
dampaknya** terhadap kesimpulan — ini akan diminta reviewer. Catat per studi di
`acquisition_log.md`: jalur yang berhasil atau seluruh jalur yang gagal, plus tanggal
akses — dari sinilah angka *not retrieved* pada diagram PRISMA diambil. Bila server
`scholar-paper-search` terpasang, akuisisi dan pembacaan teks dapat diotomatiskan;
prosedurnya di `reference/api-tools.md`. Screening full-text dual
screener dengan κ tersendiri, reason code per eksklusi, konflik diselesaikan dan
didokumentasikan.

**Kedalaman baca di tahap ini terbatas.** Yang diputuskan hanya include/exclude — biasanya
tuntas dari abstrak, metode, dan bagian yang memuat konstruk inti. Baca lebih jauh hanya
bila keputusannya belum jelas. Menyimpan teks lengkap seluruh kandidat di sini adalah
pekerjaan terbuang: sebagian besar akan tereksklusi dan tidak pernah dibaca lagi.
Penyimpanan teks lengkap dikerjakan di Tahap 7, hanya untuk studi INCLUDED.

Untuk tiap eksklusi, catat reason code **beserta letak buktinya** (bagian atau posisi) —
konflik antar-screener harus dapat ditelusuri tanpa membuka ulang berkasnya.

**Penelusuran sitasi — opsional, bukan langkah wajib.** JBI dan PRISMA 2020 tidak
mensyaratkannya; PRISMA hanya menyediakan jalur pelaporan terpisah *bila* dikerjakan.
Putuskan bersama peneliti berdasarkan keadaan korpus, lalu catat keputusannya —
**termasuk keputusan untuk tidak menjalankannya** — beserta alasannya.

Pertimbangkan menjalankannya bila ada indikasi pencarian belum menjangkau:

- studi benchmark yang sudah diketahui relevan **tidak tertangkap** oleh string;
- bidangnya memakai istilah yang sangat beragam antar-aliran, atau banyak terbit di kanal yang tidak terindeks;
- korpus terasa timpang terhadap satu kawasan/aliran padahal scope-nya lebih luas.

**Jumlah studi yang sedikit bukan alasan** — lihat catatan ukuran korpus di bawah.

Bila dijalankan: baca `reference/citation-verification.md` lebih dulu, telusuri backward
(daftar pustaka) dan forward (yang menyitasi) dari studi INCLUDED, dan kandidat baru
menjalani kriteria serta screener yang sama. Hitungannya dicatat **terpisah** sejak
identifikasi — PRISMA 2020 menempatkannya di jalur "metode lain", dan menggabungkannya ke
hitungan basis data membuat diagram tidak dapat direkonsiliasi.

**Ukuran korpus mengikuti kriteria, bukan target.** Tidak ada ambang minimum jumlah studi
dalam standar mana pun — JBI, PRISMA 2020, maupun Cochrane. Bahkan review yang berakhir
dengan **nol** studi (*empty review*) adalah hasil yang sah dan diterbitkan: dari 4.320 review
aktif di CDSR per 15 Agustus 2010, **376 (8,7%)** melaporkan tidak ada studi yang memenuhi
kriteria (Yaffe J, Montgomery P, Hopewell S, Shepard LD. *PLoS ONE* 2012;7(5):e36626,
DOI [10.1371/journal.pone.0036626](https://doi.org/10.1371/journal.pone.0036626)). Yang dinilai
reviewer adalah ketepatan kriteria, keterlacakan proses, dan kedalaman sintesis — bukan besar N.

Karena itu jumlah studi **tidak pernah** menjadi alasan mengubah metode. Melonggarkan
kriteria, memperluas scope, atau menambah penelusuran sitasi demi memperbanyak studi
mengubah pertanyaan riset demi angka, dan itu terbaca oleh reviewer.

Yang perlu dibedakan ketika hasilnya sedikit:

| Keadaan | Yang dikerjakan |
|---|---|
| Kriteria ketat, pertanyaan spesifik, pencarian terbukti menjangkau | Laporkan apa adanya; kecilnya korpus adalah temuan, bukan kekurangan |
| Ada indikasi pencarian belum menjangkau (studi benchmark tidak tertangkap, sinonim terlewat) | Tinjau ulang string, jalankan ulang pencarian, perbarui tanggal search |
| Nol studi memenuhi kriteria | Laporkan sebagai *empty review* — dokumentasikan seluruh proses dan studi yang dieksklusi; itu bukti bahwa celah riset memang ada |

Catatan JBI yang relevan sejak awal: bila **sebelum protokol disusun** sudah ada indikasi
kuat tidak akan ada studi yang tersedia, pertimbangkan mengalihkan tenaga ke pertanyaan
lain — pemeriksaan itu dilakukan di Tahap 2, bukan diselesaikan dengan menambal korpus di
Tahap 6.

**Gerbang retraksi.** Setelah daftar INCLUDED final, periksa status retraksi seluruh DOI
sebelum apa pun disintesis. Studi yang
dicabut mencemari kesimpulan dan sangat merusak bila ditemukan reviewer.

**Gerbang validitas reason code.** Reason code yang konsisten antar-screener bisa tetap
salah — dan itu jenis kekeliruan yang **tidak terlihat oleh gerbang aritmetika maupun κ**.
Yang dicari ada tiga: kode yang mengeluarkan desain yang justru **dimasukkan** kriteria
eligibility (menghapus studi yang seharusnya masuk, diam-diam dan massal), kode yang dipakai
tetapi tidak pernah terdaftar di protokol, dan satu nomor kode yang menanggung dua makna
berbeda antar tahap. Dijalankan sebelum menutup tahap — **baca prasyaratnya lebih dulu**,
karena tanpa itu gerbangnya lolos secara hampa.

**Prasyarat yang menentukan apakah gerbang ini berarti.** Skrip membandingkan kode yang
dipakai terhadap **legenda reason code yang terdaftar di protokol**. Bila protokol yang
Anda tunjuk tidak memuat legenda itu, skrip **tidak bisa menilai dan diam** — keluarannya
berbunyi *"every applied code is registered"* padahal tidak ada yang diperiksa. Itu lampu
hijau yang tidak berarti apa-apa. Karena itu:

1. Pastikan **butir G form kesepakatan sudah memuat tabel legenda reason code** (template ada
   di `reference/form-kesepakatan.md`). Tanpa itu, jangan jalankan — isi dulu.
2. Ekspor sheet keputusan ke TSV; skrip membaca TSV/CSV, bukan `.xlsx`.

```bash
# ekspor dulu (sesuaikan nama sheet & kolom proyek Anda)
python3 - <<'PY'
import pandas as pd, pathlib
pathlib.Path("outputs/cascade").mkdir(parents=True, exist_ok=True)
pd.read_excel("screening.xlsx",          sheet_name="data").to_csv("outputs/cascade/ta.tsv",       sep="\t", index=False)
pd.read_excel("fulltext_screening.xlsx", sheet_name="data").to_csv("outputs/cascade/fulltext.tsv", sep="\t", index=False)
PY

python3 ~/.claude/skills/slr-cowork/scripts/hulu/check_exclusion_code_validity.py \
    --protocol outputs/kesepakatan_kerja.md \
    --screening outputs/cascade/ta.tsv outputs/cascade/fulltext.tsv \
    --strict --out outputs/exclusion_code_validity.json
```

Kolom kode dan alasan ditunjuk lewat `--code-col` / `--reason-col` bila namanya berbeda dari
bawaan (`exclusion_code`, `exclusion_reason`).

**Prasyarat jalur:** skrip ini hidup di dalam skill ini, jadi `~/.claude/skills/slr-cowork/`
baru ada setelah skill di-symlink ke sana. Bila belum, panggil lewat jalur repo tempat skill
disimpan — atau kerjakan pemeriksaan manualnya di bawah, yang menanyakan hal yang persis sama.

Verdict `CODE_CONTRADICTS_ELIGIBILITY` dan `CODE_NOT_REGISTERED` adalah Major (`--strict`
mengembalikan exit 1); `CODE_RENUMBERED` Minor. **Hasil bersih hanya bermakna bila legenda
benar-benar terbaca** — bila ragu, ubah satu kode menjadi nilai palsu dan pastikan skrip
menyalakan `CODE_NOT_REGISTERED`; kalau tetap diam, legendanya tidak terbaca.

Tanpa skrip, periksa manual dengan pertanyaan yang sama: **apakah tiap kode yang dipakai
benar-benar ada di legenda protokol

…(truncated)
