Satu use case, tiga ronde: mulai dari CSV di laptop, naik ke Google Sheets yang hidup, dan berakhir di dashboard yang menulis dirinya sendiri. Tukang jahit angka pensiun hari ini.

Photo: NASA / Lauren Harnett
β β pindah slide Β· F fullscreen
LIHAT KOLOM TANGGALNYAEmpat departemen, empat cara menulis hari yang sama.
Copy-paste Β· betulin tanggal Β· nyamain nama unit Β· buang baris total yang nyasar
Angka gabungan yang keliru lebih berbahaya daripada nggak ada angka
Energi habis di rekap β nggak tersisa untuk "kenapa"-nya
Kasih agent file CSV & satu SKILL.md β dia belajar bikin laporan produksi yang formatnya kamu tentukan.
Hasil: laporan konsisten β tinggal minta
Surat kuasanya sudah kamu buat di sesi Workspace β di sini tinggal suruh agent menjemput data dari Google Sheets, dan menulis balik ke sana.
Hasil: sheet hidup + laporan pagi 06.00
Empat sheet departemen yang kotor β satu tab Dashboard rapi. Kamu jadi mandor, dia yang menjahit.
Hasil: dashboard yang jadi sendiri
Sebelum Ronde 1 mulai: kenalan dulu sama empat "pekerja" yang bakal kamu pasang. Satu tugas jelas per skill β hari ini kamu lihat semuanya beraksi.

2 CSV latihan (buat Ronde 1) Β· 4 CSV departemen (buat Ronde 3) Β· skills.zip (empat skill tadi)
skills.zip ke chat β sekarangDia ekstrak, pasang empat-empatnya, lalu merangkum fungsi tiap skill (β’) β cocokkan dengan slide sebelumnya
Tiap ronde punya momen upload-nya sendiri β biar alurnya kamu alami utuh, bukan lompat ke hasil
Sebelum menyambung ke Google, agent harus lulus makan data mati dulu: file CSV di meja kerjanya sendiri. Di sinilah konsep terpenting hari ini lahir: skill β SOP tertulis yang membuat output-nya konsisten.

Bot latihanmu di Telegram β semua ronde hari ini lewat chat ini.
date,pit,ob_bcm,ob_target,coal_ton,coal_target,trips,rain_mm 2026-08-06,Pit-A,41200,45000,11800,12500,742,0 2026-08-06,Pit-B,28400,30000,7600,8000,505,0 2026-08-07,Pit-A,32100,45000,8900,12500,588,38 2026-08-07,Pit-B,25900,30000,7100,8000,463,38
date,unit,type,pa,ma,eu,breakdown_hrs,notes
2026-08-07,EX-2011,PC2000,92,95,61,0,slippery standby (rain)
2026-08-07,EX-2012,PC2000,71,74,48,5.5,hydraulic hose leak
2026-08-07,DT-3105,HD785,88,90,66,0,normal
Ratakan jadi satu baris header yang bersih sebelum agent sempat melihatnya
"08/07" vs "7-Aug" vs "07082026" β pilih satu format ISO (2026-08-07), pakai di mana-mana
"41.200" vs "41,200" vs "41200 bcm" β satuan di header, angka di sel
"Baca file-nya, daftar kolom dan anomali yang ada β jangan hitung dulu"



1--- name: production-report description: Laporan harian produksi tambang β OB/coal vs target, ritase & availability alat (PA/MA/EU) dari kpi_daily.csv dan equipment_availability.csv di data/. Dipakai saat user minta laporan produksi harian/tanggal tertentu. ---2# SOP Laporan Produksi Harian Saat diminta laporan produksi: 1. Baca data/kpi_daily.csv dan data/equipment_availability.csv. 2. Ambil tanggal yang diminta (default: kemarin, zona Asia/Jakarta). 3. Hitung per pit dan total: OB & coal vs target (%), ritase, rata-rata EU. 4. Bandingkan dengan rata-rata 7 hari terakhir (tren naik/turun). 5. Tandai anomali: - Produksi < 85% dari target - EU < 55% (sebutkan juga kalau terjadi β₯2 hari berturut-turut) - Breakdown > 4 jam (sebutkan unit + catatan penyebab) - Hujan > 20 mm36. JANGAN mengarang angka β semua wajib berasal dari CSV. Kalau data tanggal yang diminta tidak ada, bilang tidak ada; jangan menebak. 7. Format output PERSIS seperti template di bawah. Angka format Indonesia (ribuan pakai titik, desimal koma). ## Sumber alternatif (sesudah Ronde 2) Kalau user menyebut spreadsheet (mis. "Laporan Tambang Mingguan"), pakai sheet Produksi Harian dan Alat di spreadsheet itu sebagai sumber β kolom dan aturan sama, hanya sumbernya yang pindah.4## Template output LAPORAN PRODUKSI HARIAN β {tanggal} Produksi - OB {ob} bcm ({%target_ob}%) | Coal {coal} t ({%target_coal}%) - Ritase {trips} | Hujan {rain} mm Availability - {unit}: {catatan penting β breakdown/standby/EU rendah} (hanya unit yang perlu perhatian; kalau semua normal, tulis "Semua unit sesuai plan") Highlight - {tren vs 7 hari + anomali + PENYEBAB yang terbaca dari data, mis. hujan β slippery standby β EU turun β produksi turun}
name + descriptionDari description dia tahu kapan skill ini dipanggil β tulis kalimatnya spesifik
Ini SOP-nya β urutan yang dia ikuti persis: sumber data sampai cara hitung
"JANGAN mengarang angka" β batas keras, tetap berlaku saat datanya bolong
Bentuk laporannya dikunci β ini yang bikin hasilnya identik tiap hari
Mau ubah template atau aturannya? Bilang aja β dia yang edit file-nya
Yang kebaca baru name + description tiap skill β seperti daftar isi; bukunya belum dibuka
Baru sekarang isi lengkapnya dimuat: langkah 1β7 jalan urut, guardrail ikut mengawal
Sama persis tiap hari β dan bisa dipanggil langsung juga: /production-report

Di ronde 1, kamu kurir datanya. Sekarang kita balik arusnya. Surat kuasa resmi dari Google sudah kamu buat di sesi Workspace tadi β jadi di sini tinggal suruh agent Telegram akses Sheets langsung: menjemput data sendiri dari spreadsheet yang terus diisi orang, dan menulis balik ke sana.

Photo: Arnold Francisca, Unsplash
| RONDE 1 Β· CSV LOKAL | RONDE 2 Β· GOOGLE SHEETS | |
|---|---|---|
| Datanya | File mati di folder data/ β basi begitu di-copy | Spreadsheet hidup yang terus diisi banyak orang |
| Siapa yang antar | Kamu β upload ulang tiap ada data baru | Agent jemput sendiri, kapan pun dibutuhkan |
| Arah | Satu arah: dia cuma baca | Dua arah: dia baca dan menulis balik |
| Hasil mendarat di | Chat Telegram | Chat + tab Dashboard yang hidup di spreadsheet-nya |

Produksi Β· Alat Β· HSE Β· Logistik β data minggu yang sama dengan Ronde 1 (6β12 Agustus)
"Laporan Tambang Mingguan 6β12 Agustus" β 4 sheet, header & jumlah baris dia cek sendiri

0 6 * * * (Asia/Jakarta) terpasang β run pertama besok 06.00, laporannya dikirim ke chat ini.12:12
Empat sheet departemen merekam minggu yang sama β satu kejadian, empat catatan terpisah. Sekarang kita satukan jadi satu tab Dashboard yang bisa dibaca sekali lihat β dan yang menjahit bukan kamu. Dipandu dua departemen dulu, dua sisanya kamu sendiri.

Tambang batu bara, Bontang β photo: Consigliere Ivan, CC BY 2.0, via Wikimedia Commons
Bukan file baru β satu link untuk data mentah & dashboard sekaligus
Dari HP di lapangan pun kebuka β sekali klik
Empat blok di kiri itu urutannya β dikunci di SKILL.md, bukan diserahkan ke selera agent
Yang dibuat agent di Langkah 3 β 4 sheet departemen di akun latihanmu. Nggak usah bikin apa-apa lagi.
sheet-consolidator β SUDAH TERPASANGIkut terpasang dari skills.zip di Ronde 0. SOP-nya kita bedah di slide berikut.
Dia audit & usul, kamu yang bilang "gas". Menulis tanpa konfirmasi dilarang oleh SOP-nya sendiri.
materials/usecase-gsheets/ β 4 CSV, SKILL.md, dan kunci jawaban jebakan (jangan diintip dulu π).--- name: sheet-consolidator description: Konsolidasi data lintas sheet/departemen di Google Spreadsheet menjadi satu tab "Dashboard" β audit dulu, tanya yang ambigu, tulis belakangan. Dipakai saat user minta gabungkan/konsolidasi/rekap beberapa sheet jadi dashboard. --- # SOP Konsolidasi Sheet β Dashboard ## Tahap 1 β AUDIT (wajib, sebelum menghitung apa pun) 1. Baca setiap sheet yang diminta. Untuk tiap sheet, laporkan: - Di baris berapa header sebenarnya (waspadai baris judul/kosong di atas header) - Format tanggal yang dipakai (ISO / DD/MM / M/D / 7-Aug / campuran) - Kolom angka yang tersimpan sebagai teks ("1.250", "870 L", dsb.) - Baris agregat yang menyusup (SUBTOTAL, TOTAL, rata-rata) - Ejaan entitas yang tidak konsisten (EX-2012 vs EX 2012) 2. JANGAN menghitung atau menulis apa pun di tahap ini. ## Tahap 2 β TANYA 3. Semua temuan yang ambigu β tanyakan ke user, jangan menebak diam-diam. Boleh mengusulkan interpretasi + alasannya, tapi keputusan tetap di user. ## Tahap 3 β NORMALISASI (di memori, bukan di sheet sumber) 4. Tanggal β ISO (YYYY-MM-DD). Nama unit β satu ejaan kanonik. Angka bergaya teks β angka murni. 5. Baris SUBTOTAL / TOTAL / agregat apa pun TIDAK ikut dijumlahkan. ## Tahap 4 β DRAFT β KONFIRMASI β TULIS 6. Tunjukkan draft ringkas isi Dashboard β tunggu konfirmasi user β baru menulis. 7. Tulis HANYA ke tab bernama Dashboard. Data mentah di sheet lain TIDAK BOLEH diubah, dihapus, atau di-"rapikan". 8. Kalau tab Dashboard sudah ada: perbarui isinya (idempoten) β jangan membuat "Dashboard 2", "Copy of Dashboard", dst. ## Susunan baku tab Dashboard (urutan dari atas) 1. Judul + periode β nama laporan (bold), periode data + waktu update terakhir. 2. Baris KPI β OB mingguan (+% target), Coal mingguan (+% target), total Solar, unit terpantau/sehat. 3. Blok per departemen β Produksi, Alat, HSE, Logistik, dipisah satu baris kosong; judul blok bold. 4. Blok Insight β anomali & hubungan antar sheet berbasis data (hujan β produksi turun β breakdown β solar anjlok). Bukan spekulasi. Formatting: header bold + freeze baris judul; persentase sebagai persen; tanggal ISO; hindari merge cell berlebihan. Rapi dan enak dibaca dari HP. ## Aturan mutlak 9. JANGAN mengarang angka. Setiap angka di Dashboard harus bisa ditunjuk sel/baris sumbernya. 10. Setelah selesai menulis: kirim link spreadsheet (langsung ke tab Dashboard bila bisa) ke chat, dan tawarkan untuk mem-pin-nya.
description β dari sinilah agent tahu skill ini yang harus dipanggil saat kamu bilang "konsolidasi"
Baris total jangan dijumlah (biar tidak dobel) Β· data mentah jangan disentuh (dashboard boleh salah & diulang, data mentah tidak)
Run kedua memperbarui tab yang sama, dan susunannya selalu sama β bukan bentuk baru tiap dijalankan

Balasannya: "Tahap 1 = audit dulu, belum nulis apa pun" β SOP dari Ronde 0 jadi rem-nya. (Di screenshot, pesan aslinya sekalian memasang skill β punyamu sudah terpasang)
Posisi header Β· tanggal DD/MM (disimpulkan dari bukti: kalau M/D, tanggalnya loncat antar bulan) Β· angka tersimpan sebagai teks Β· data alat baru sampai 12 Agu
Data alat 13 Agu kosong Β· blok Alat ringkas atau detail Β· rencana isi Dashboard. Baru setelah dijawab: draft β konfirmasi β tulis

"Normalisasi β hitung β tulis ke tab Dashboard β data sumber nggak disentuh"
Hujan sempat ke-double-count (2 pit Γ 38 mm = 76). Dia sadar "hujan itu satu kejadian, bukan per-pit" β dibenerin jadi 38 mm, lalu tulis ulang
KPI mingguan Β· produksi per pit Β· tren harian Β· alat availability Β· 3 insight

Judul β KPI β blok per departemen β Insight. Bandingkan sendiri dengan slide targetnya
File yang sama, tab baru β dari HP di lapangan pun kebuka sekali klik (di luar layar β link-nya ada di chat)
"13 Agu: data alat belum diisi" β sheet hidup memang begitu, tidak semua dept update bersamaan. Dia menandainya, bukan mengarang
Solar minggu: 37.915 L Β· 6 unit terpantau HSE: 3 near-miss Β· 1 insiden ringan Puncak insiden: 7 Agu β hari yang sama produksi drop. Ceritanya nyambung.13:39
"EX 2012" β unit baru. Kalau dashboard-mu berisi 7 unit β jebakan lolos
Baris SUBTOTAL ikut terjumlah = solar bengkak Β±40%
Di kantor, data selalu datang bertahap β dept lain menyusul besok. Yang diuji di sini: dashboard-nya di-update, bukan dibikin baru lagi
| METRIK | ANGKA BENAR | KALAU DASHBOARD-MU BEDA, ARTINYA⦠|
|---|---|---|
| OB 6β13 Agu | 553.100 bcm Β· 92,2% dari 600.000 | Ada baris/tanggal yang hilang atau dobel saat digabung |
| Coal 6β13 Agu | 152.100 t Β· 92,7% dari 164.000 | βsamaβ |
| Ritase | 9.795 Β· rata-rata 1.224/hari | Beda? Cek ada hari yang kelewat |
| Solar 6β12 Agu | 37.915 L | Β±53.000 / Β±75.800? Baris SUBTOTAL/TOTAL ikut kejumlah |
| Unit terpantau | 6 unit | 7 unit? "EX 2012" jadi unit phantom β normalisasi gagal |
| HSE | 3 near-miss Β· 1 insiden ringan | Beda? Baris judul HSE ikut terbaca sebagai data |
CATATANProduksi 8 hari (13 Agu masuk karena Langkah 4), tapi Alat/HSE/Logistik masih 7 hari β belum semua dept mengisi. Wajar di sheet hidup: agent menandai, bukan mengarang.
--- name: data-dashboard description: Bikin dashboard visual (satu file HTML, chart SVG interaktif) dari data spreadsheet/CSV APAPUN β engine + theme siap pakai. Dipakai saat user minta "dashboard", "visualisasi", atau "tampilan" dari data. Untuk laporan naratif pakai skill data-report. --- # SOP Data Dashboard v2 β engine generik, data apapun template.html di folder skill ini berisi chart-engine lengkap (SVG, tooltip, tabel, responsive, 4 theme tervalidasi). Kamu TIDAK menggambar chart. Tugasmu: pahami datanya β pilih bentuk yang tepat β salin template, ganti HANYA objek CONFIG. CSS & fungsi engine dilarang disentuh. ## Output - SATU file: output/dashboard-<topik>-<YYYY-MM-DD>.html β kirim ke chat + ringkasan 2 kalimat. Data sumber TIDAK PERNAH diubah. - Tanpa library chart eksternal (engine sudah lengkap). ## Proses 1. Audit data dulu. Header di mana, format tanggal & angka, baris agregat/judul yang harus dibuang, satuan. Jangan memvisualkan data yang belum kamu pahami. - Kejadian di banyak baris (mis. hujan per pit) dihitung SEKALI. - Baris duplikat persis: buang satu, catat di footer. - Sel/baris yang HILANG β nol. - Outlier resmi: tampilkan APA ADANYA + anotasi β jangan pernah mengoreksi diam-diam. 2. Hitung semua angka lewat script (python/js) β total, rata-rata, %, termasuk angka turunan. Jangan berhitung "di kepala", jangan mengarang. 3. Tentukan maksimal 5 pertanyaan pembaca, pilih bentuk per pertanyaan β Β±setengahnya cukup KPI tile (β€5), sisanya chart (2β4). Pilih berdasarkan TUGAS pembaca: - Satu angka penting β tile (meterPct / spark) - Tren waktu vs target β column + target - Tren beberapa seri β line (β€4 seri) - Bandingkan besaran antar item β bar horizontal - Grid entitas Γ waktu β heatmap + warnBelow - Hubungan dua besaran β scatter (β€3 seri) - >7 kategori bermakna β table 4. Rakit CONFIG: β€5 tiles, 2β4 chart, 1 insight strip yang MENGHUBUNGKAN antar sumber data. 5. Render & lihat sendiri β label tabrakan, angka terpotong, chart kosong = perbaiki sebelum kirim. 6. Verifikasi angka ke sumber, uji petik β₯3. ## Aturan yang dijaga engine - Satu sumbu y β dua skala = dua chart, bukan dual-axis. - Batas seri: stack β€3 Β· line β€4 Β· scatter β€3 Β· bar β€9. - Warna mengikuti entitas (slot tetap, colorblind-safe); warna status HANYA untuk makna baik/buruk. - Anomali dianotasi di chart-nya β pembaca tak menebak. - Angka format Indonesia otomatis (id-ID). ## Larangan Pie/donat 3D Β· dual axis Β· warna pelangi Β· gradien pada mark data Β· library chart CDN Β· mengubah engine/CSS Β· angka yang tak bisa ditunjuk sel sumbernya.
--- name: data-report description: Menyusun laporan insight naratif (satu halaman, HTML printable A4) dari data spreadsheet/CSV APAPUN β kesimpulan duluan, setiap angka bisa ditunjuk sumbernya. Dipakai saat user minta "report", "laporan insight", atau "analisis tertulis". Untuk visualisasi interaktif pakai skill data-dashboard. --- # SOP Data Report v2 β engine generik, data apapun template.html berisi engine laporan lengkap (masthead, BLUF, tabel metrik, temuan + sparkline, rekomendasi, footer β printable A4). Tugasmu BUKAN menata halaman: salin template, ganti HANYA objek CONFIG. Laporan harus bisa dibaca manajer dalam 90 detik. ## Output - SATU file: output/report-<topik>-<YYYY-MM-DD>.html β kirim ke chat + ringkasan β€5 baris (isi BLUF). Panjang: 1 halaman (maks 2). - Data sumber tidak pernah diubah. ## Proses 1. Audit data β aturan sama dengan data-dashboard. 2. Hitung semua angka lewat script β termasuk angka turunan. Jangan berhitung di kepala. 3. Cari insight-nya SEBELUM menulis: hubungan lintas sumber β insight terbaik lahir dari dua sheet yang bercerita tentang kejadian yang sama (hujan β breakdown β near-miss β solar anjlok). Satu tabel = data; hubungan antar tabel = insight. 4. Rakit CONFIG: - BLUF 3β4 kalimat: kesimpulan β sebab utama β kondisi sekarang β keputusan yang dibutuhkan. - Metrik vs target: realisasi Β· target Β· capaian % Β· pill status. - Temuan maksimal 3. Judul = klaim satu kalimat ("Defisit lahir di satu hari" β Β· "Analisis produksi" β). Baris BUKTI wajib: sheet + baris/sel tiap angka. - Rekomendasi: aksi yang bisa dikerjakan + PIC + tenggat. Kalau agent bisa mengerjakannya sendiri, tulis dirinya sebagai PIC. 5. Render & lihat β muat 1 halaman A4 saat print. 6. Verifikasi angka β uji petik β₯3 termasuk angka turunan di BLUF/temuan. ## Aturan menulis - Kesimpulan selalu mendahului data. Pembaca berhenti kapan saja dan tetap membawa pulang intinya. - Sebut yang TIDAK diketahui β menandai, bukan mengarang. Penyebab yang tak terlihat dari data ditulis sebagai hipotesis untuk dicek. - Nada ringkas & tegas; dramatisasi angka tidak. - Angka format Indonesia Β· tanggal "7 Agu".

Dari skills.zip β data-dashboard & data-report tinggal dipanggil
Nggak perlu jelaskan format, warna, atau struktur β template-nya sudah di skill
Dashboard HTML & report A4, plus PNG preview β dibungkus ZIP kalau kamu minta


Dashboard jadi, data mentah utuh--- name: sheet-native-dashboard description: Membangun tab "Dashboard" dengan CHART BAWAAN Google Sheets (embedded chart + scorecard + conditional formatting) langsung di dalam spreadsheet-nya β bukan file HTML. Audit dulu, tanya yang ambigu, baru membangun. Dipakai saat user minta "dashboard native", "chart di spreadsheet", atau "dashboard built-in Sheets". --- # SOP Dashboard Native Google Sheets Hasil akhirnya HIDUP di spreadsheet: siapa pun yang buka file-nya melihat dashboard, tanpa file terpisah. Semua chart dibuat lewat Sheets API (batchUpdate β addChart), angka KPI lewat formula sheet β sehingga dashboard ikut BERUBAH saat datanya diperbarui. ## Tahap 1 β AUDIT (wajib, sebelum membangun apa pun) 1. Baca setiap sheet sumber. Laporkan per sheet: baris header sebenarnya, format tanggal (ISO / DD/MM / M/D / 7-Aug / campuran), angka yang tersimpan sebagai teks ("1.150", "870 L"), baris agregat yang menyusup (SUBTOTAL / TOTAL), ejaan entitas tidak konsisten (EX-2012 vs EX 2012). 2. Kejadian di banyak baris (mis. hujan per pit) dihitung SEKALI. Sel kosong β nol β tandai, jangan isi. 3. JANGAN menghitung atau menulis apa pun di tahap ini. ## Tahap 2 β TANYA 4. Semua temuan ambigu β tanyakan ke user, jangan menebak diam-diam. ## Tahap 3 β TAB DATA BERSIH (dapurnya chart) 5. Buat/perbarui SATU tab helper _data (boleh disembunyikan) β sumber range SEMUA chart. Chart TIDAK PERNAH menunjuk langsung sheet mentah yang kotor. Tanggal β ISO Β· unit β satu ejaan Β· angka-teks β angka Β· baris SUBTOTAL/TOTAL tidak ikut. 6. Data mentah TIDAK BOLEH diubah, dihapus, atau di-"rapikan". Pembersihan hanya di _data. ## Tahap 4 β DRAFT β KONFIRMASI β BANGUN 7. Tunjukkan draft (daftar KPI + chart: judul, bentuk, range) β tunggu konfirmasi β baru membangun. 8. Bangun HANYA di tab Dashboard. Run kedua = PERBARUI (hapus chart lama lewat chartId lalu buat ulang) β jangan menumpuk chart, jangan bikin "Dashboard 2". ## Susunan baku β design system (dari atas) 1. MASTHEAD GELAP #1D242E: judul putih bold 20pt + periode abu, accent stripe merah 6px, freeze 3 baris 2. Baris KPI β 4 kartu (label 9pt caps β ANGKA statis 26pt di-merge β chip delta pil kecil berlatar lembut β SPARKLINE mini). Tinggi baris diatur β vertical rhythm, tanpa ini kartu gepeng 21px default 3. Chart 2Γ2 di atas CARD UNDERLAY putih ber-border, judul di SEL (chart-nya TANPA judul internal β ini yang menghilangkan rasa default Google): combo realisasi+target Β· line EU Β· bar solar (styleOverrides utk unit bermasalah) Β· column HSE netral s3. Jangan pie/donat 3D. 4. HEATMAP anchor visual β entitas Γ tanggal, gradasi satu-hue putihβtint s3 (bukan merahβhijau), + legenda skala & border crit di sel outlier 5. Blok Insight border-kiri merah β hubungan ANTAR sheet (hujan β breakdown β near-miss β solar anjlok) 6. Footer: sumber Β· dikecualikan Β· waktu Β· by agent ## Spec visual (WAJIB β jangan improvisasi) Palet seri (colorblind-safe, slot jangan diacak): s1 #C8161D Β· s2 #C98500 Β· s3 #2A78D6 Β· s4 #E87BA4 Β· s5 #008300 Β· s6 #4A3AA7 β peta entitasβslot ditetapkan sekali, dipakai semua chart. Status: good #0CA30C Β· warn #FAB219 Β· crit #D03B3B. Target: abu #9AA1AC putus. Halaman #F6F5F2 di seluruh grid, sisa baris/kolom DIHAPUS (sheet berakhir di tepi kanvas), gridlines off, satu font Roboto (menyamai font chart). Semua chart 480Γ300 px, pattern angka #,##0, sumbu nilai mulai 0 (viewWindow EXPLICIT), series.colorStyle eksplisit β jangan warna default Google. Efek 3D/shadow: DILARANG. ## Layout baku (blueprint β ikuti persis) Kolom A margin 24px Β· BβM 96px β chart 480px = TEPAT 5 kolom (BβF, HβL), G gutter: masthead baris 1β3 β KPI strip baris 5β9 β CHART 1 (B12) | CHART 2 (H12) β CHART 3 (B29) | CHART 4 (H29) β HEATMAP baris 45 β INSIGHT & footer dihitung dari jumlah entitas/bullet. Chart cuma 3? Slot ke-4 dibiarkan kosong. Verifikasi pasca-build WAJIB: SPARKLINE tidak #ERROR, jumlah chart == 4, export PDF dan DILIHAT dulu. ## Aturan mutlak 9. JANGAN mengarang angka β tiap KPI & titik chart bisa ditunjuk range _data + sel mentah asalnya. 10. Verifikasi: uji petik β₯3 angka lewat script. 11. Kirim link tab Dashboard + ringkasan β€5 baris, tawarkan mem-pin link-nya.
sheet-native-dashboard.zip β CUMA 2 FILEsheet-native-dashboard/ βββ SKILL.md β SOP + aturan tampilan βββ reference/ βββ chart-recipes.md β resep teknisnya
Struktur folder jangan diubah β SKILL.md memanggil file resep itu.
SKILL.md β apa & seperti apa4 tahap kerja, design system (palet per unit, masthead, KPI ber-sparkline, heatmap), blueprint posisi tiap elemen, checklist anti-jelek
chart-recipes.md β cara teknisnyaPotongan JSON siap pakai buat tiap chart, kartu KPI, heatmap + urutan eksekusinya β bukan lagi tebakan agent

sheet-native-dashboard.zip dari Google Drive kelasUnduh, lalu upload ke chat β sama seperti skills.zip di Ronde 0. Dia ekstrak & pasang sendiri
Lihat di chat: baca SKILL.md + chart-recipes.md β build β jalankan checklist anti-jelek β nemu "baris KPI dobel" β perbaiki sendiri β run ulang

Judul, periode, waktu update β bukan sheet polos
Angka besar + tren mini + status berwarna, semuanya sel biasa
EX-2012 warna yang sama di semua chart; bar bermasalah ditandai merah
Sel terburuk diberi border, ceritanya disambung di blok insight
Satu file SKILL.md = SOP tertulis; hasilnya konsisten tiap diminta.
Bikin spreadsheet, ubah isinya, dan pasang laporan pagi β semua lewat chat.
Pola audit β tanya β tulis lewat skill sheet-consolidator.
Dashboard di-update, bukan dibikin ulang β lolos jebakan unit phantom & dobel hitung.
Modal prompting dulu, lalu bandingkan memakai skill sheet-native-dashboard.