slop-ai-indo 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/DESIGN.md CHANGED
@@ -60,7 +60,13 @@ Untuk aplikasi otomatisasi alur, diagram, atau kanvas multi-agent:
60
60
  * **Font Utama:** Sans-serif modern dan bersih (`Inter`, `Plus Jakarta Sans`, atau `system-ui`).
61
61
  * **Font Monospace:** Hanya digunakan untuk data teknis, kode, variabel, atau JSON (`JetBrains Mono` atau `Fira Code`). Dilarang memakai font mono untuk judul/heading marketing.
62
62
  * **Ikon:** Gunakan ikon semantik SVG sederhana (misal: Lucide, Tabler, atau Heroicons) dengan goresan garis (*stroke*) 1.5px–1.75px yang seragam.
63
- * **Larangan Emoji:** Dilarang menaburkan emoji hiasan (🚀, 🔥, ✨, 🧠) pada judul, tombol, atau navigasi. Gunakan teks atau ikon semantik.
63
+ * **Larangan Emoji & Icon Prefix Slop:**
64
+ * **DILARANG KERAS** menempelkan emoji hiasan (🚀, 🔥, ✨, 🧠) atau emoji warna-warni (✏️, 📅, ☘️, 🛡️, 💾, ⚙️, ❌, ➕, 🗑️) sebagai awalan teks (prefix) pada:
65
+ 1. Judul modal dialog atau judul halaman (`✏️ Edit Data` ❌ → `Edit Data` ✅).
66
+ 2. Sub-heading formulir, fieldset, atau legend grup opsi (`📅 Periode Kontrol` ❌ → `Periode Kontrol` ✅).
67
+ 3. Tombol aksi / CTA (`💾 Simpan Konfigurasi` ❌ → `Simpan Konfigurasi` ✅).
68
+ 4. Header tabel, tab navigasi, dan item dropdown.
69
+ * **Prinsip Clean Typography-First:** Jika teks sudah jelas dan lugas, jangan dipaksa menambah ikon di setiap baris. Jika ikon memang mutlak diperlukan secara fungsional, wajib gunakan ikon SVG semantik line monokrom, bukan emoji bawaan sistem operasi.
64
70
 
65
71
  ---
66
72
 
package/README.md CHANGED
@@ -183,6 +183,7 @@ Skill dimuat saat sesi agen dimulai, jadi bukalah sesi baru setelah melakukan pe
183
183
  | **slop-ai-indo-identity** | Karakter & identitas produk: pencegahan penjiplakan layout SaaS populer, ikon generik, dan palet acak | v1.0.2 |
184
184
  | **slop-ai-indo-backend** | Arsitektur backend & API: Clean REST URL, parameter binding, controller ramping, DTO/Resource, database lookup table, $fillable, foreign key cascade | v1.1.0 |
185
185
  | **slop-ai-indo-test** | Pengujian otomatis & mocking: pemberantasan tes palsu, over-mocking, asersi hampa, skenario kegagalan nyata | v1.1.0 |
186
+ | **slop-ai-indo-concise** | Efisiensi token & komunikasi: memangkas obrolan basa-basi AI, prinsip *Say Less & Answer First* (terinspirasi Caveman), dan payload verbatim lengkap | v1.1.0 |
186
187
 
187
188
  Pilih skill yang sesuai dengan pekerjaan:
188
189
  - Membuat UI → `slop-ai-indo-ui`
@@ -195,9 +196,24 @@ Pilih skill yang sesuai dengan pekerjaan:
195
196
  - Identitas produk & branding → `slop-ai-indo-identity`
196
197
  - Arsitektur backend & API → `slop-ai-indo-backend`
197
198
  - Pengujian otomatis & unit test → `slop-ai-indo-test`
199
+ - Komunikasi ringkas & hemat token → `slop-ai-indo-concise`
198
200
  - Tugas campuran → pasang beberapa skill sekaligus
199
201
  - Tanpa skill tambahan → berkas inti sendirian sudah merupakan filter yang lengkap
200
202
 
203
+ ### Duet Penghemat Token: slop-ai-indo + Caveman
204
+
205
+ `slop-ai-indo` dirancang untuk menjaga kualitas teknis, kriya UI, dan standar keamanan. Untuk mengoptimalkan efisiensi token dan biaya API secara maksimal (30%–50%+ lebih hemat), padukan dengan [Caveman](https://github.com/juliusbrussee/caveman):
206
+ * **Say Less (Gaya Respon Ringkas):** Diaktifkan melalui skill `slop-ai-indo-concise` (nol basa-basi, nol pengulangan prompt, kode verbatim).
207
+ * **Read Less (Pemotongan Data Input):** Menggunakan kakas [Caveman CLI](https://github.com/juliusbrussee/caveman) untuk memotong ukuran log terminal, output test suite, dan kompresi konten web:
208
+ ```bash
209
+ # Pasang skill Caveman global
210
+ npx skills add JuliusBrussee/caveman -g
211
+
212
+ # Atau jalankan proxy otomatis Caveman untuk CLI agent
213
+ npx @caveman-ai/cli@latest
214
+ ```
215
+
216
+
201
217
  ## Rekomendasi Preset Desain (DESIGN.md)
202
218
 
203
219
  Saat memasang ke dalam proyek (`npx slop-ai-indo`), Anda dapat memilih preset estetika human-crafted yang otomatis disalin menjadi `DESIGN.md`:
@@ -360,7 +376,7 @@ Jika linter menemukan pelanggaran aturan pada kode PR, pipeline otomatis berstat
360
376
 
361
377
  ## Peta Jalan (Roadmap)
362
378
 
363
- **v1.3.1** adalah rilis saat ini. Riwayat setiap rilis dan rencana fitur selanjutnya tercantum lengkap di [ROADMAP.md](ROADMAP.md).
379
+ **v1.4.1** adalah rilis saat ini. Riwayat setiap rilis dan rencana fitur selanjutnya tercantum lengkap di [ROADMAP.md](ROADMAP.md).
364
380
 
365
381
  ## FAQ (Pertanyaan yang Sering Diajukan)
366
382
 
package/index.mjs CHANGED
@@ -34,6 +34,7 @@ const EXTRA_SKILLS = [
34
34
  { value: 'slop-ai-indo-identity', label: 'slop-ai-indo-identity', hint: 'Identitas produk, branding unik, dan anti penjiplakan' },
35
35
  { value: 'slop-ai-indo-backend', label: 'slop-ai-indo-backend', hint: 'Arsitektur backend, REST API, dan query database' },
36
36
  { value: 'slop-ai-indo-test', label: 'slop-ai-indo-test', hint: 'Pengujian otomatis, unit test, dan anti mock palsu' },
37
+ { value: 'slop-ai-indo-concise', label: 'slop-ai-indo-concise', hint: 'Komunikasi ringkas, hemat token, dan anti obrolan klise (ala Caveman)' },
37
38
  ]
38
39
 
39
40
  function stop(message) {
package/lib/banner.mjs CHANGED
@@ -15,7 +15,7 @@ export function banner() {
15
15
  ...LOGO,
16
16
  '',
17
17
  ' ' + pc.dim('Slop AI Indo: Aturan untuk AI Coding Agent'),
18
- ' ' + pc.dim('Pemasang Resmi (installer v1.3.1)'),
18
+ ' ' + pc.dim('Pemasang Resmi (installer v1.4.1)'),
19
19
  '',
20
20
  ].join('\n')
21
21
  }
package/lib/linter.mjs CHANGED
@@ -110,6 +110,20 @@ export const RULES = {
110
110
  extensions: ['.css', '.scss', '.html', '.php', '.blade.php', '.jsx', '.tsx', '.vue', '.svelte'],
111
111
  },
112
112
 
113
+ 'R-04-EMOJI-PREFIX': {
114
+ id: 'R-04',
115
+ name: 'Emoji / Icon Prefix Slop pada Judul, Form, atau Tombol',
116
+ tier: 'Hard Gate',
117
+ description: 'Menempelkan emoji dekoratif sebagai awalan teks pada modal, heading, form legend/label, atau tombol aksi.',
118
+ fix: 'Hapus emoji; gunakan teks bersih (Clean Typography-First) atau ikon SVG semantik monokrom terpisah jika mutlak diperlukan.',
119
+ patterns: [
120
+ /<(?:h[1-6]|button|legend|summary)\b[^>]*>\s*(?:[\u{1F300}-\u{1FAFF}]|[\u{2600}-\u{27BF}]|[\u{1F1E6}-\u{1F1FF}])/u,
121
+ /<(?:h[1-6]|button|legend|summary)\b[^>]*>[^<]*(?:✏️|📅|☘️|🌲|🛡️|💾|🚀|🔥|✨|💡|🎉|❌|➕|🗑️|⚙️)/u,
122
+ /(?:title|label|header)\s*[:=]\s*["'][^"']*(?:✏️|📅|☘️|🌲|🛡️|💾|🚀|🔥|✨|💡|🎉|❌|➕|🗑️|⚙️)/u,
123
+ ],
124
+ extensions: ['.html', '.php', '.blade.php', '.jsx', '.tsx', '.vue', '.svelte'],
125
+ },
126
+
113
127
  'R-06-FOCUS-OUTLINE-NONE': {
114
128
  id: 'R-06',
115
129
  name: 'Indikator Fokus Keyboard Hilang (outline: none)',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slop-ai-indo",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "Interactive installer for slop-ai-indo skills and design standards (Bahasa Indonesia).",
5
5
  "type": "module",
6
6
  "bin": {
@@ -60,7 +60,13 @@ Untuk aplikasi otomatisasi alur, diagram, atau kanvas multi-agent:
60
60
  * **Font Utama:** Sans-serif modern dan bersih (`Inter`, `Plus Jakarta Sans`, atau `system-ui`).
61
61
  * **Font Monospace:** Hanya digunakan untuk data teknis, kode, variabel, atau JSON (`JetBrains Mono` atau `Fira Code`). Dilarang memakai font mono untuk judul/heading marketing.
62
62
  * **Ikon:** Gunakan ikon semantik SVG sederhana (misal: Lucide, Tabler, atau Heroicons) dengan goresan garis (*stroke*) 1.5px–1.75px yang seragam.
63
- * **Larangan Emoji:** Dilarang menaburkan emoji hiasan (🚀, 🔥, ✨, 🧠) pada judul, tombol, atau navigasi. Gunakan teks atau ikon semantik.
63
+ * **Larangan Emoji & Icon Prefix Slop:**
64
+ * **DILARANG KERAS** menempelkan emoji hiasan (🚀, 🔥, ✨, 🧠) atau emoji warna-warni (✏️, 📅, ☘️, 🛡️, 💾, ⚙️, ❌, ➕, 🗑️) sebagai awalan teks (prefix) pada:
65
+ 1. Judul modal dialog atau judul halaman (`✏️ Edit Data` ❌ → `Edit Data` ✅).
66
+ 2. Sub-heading formulir, fieldset, atau legend grup opsi (`📅 Periode Kontrol` ❌ → `Periode Kontrol` ✅).
67
+ 3. Tombol aksi / CTA (`💾 Simpan Konfigurasi` ❌ → `Simpan Konfigurasi` ✅).
68
+ 4. Header tabel, tab navigasi, dan item dropdown.
69
+ * **Prinsip Clean Typography-First:** Jika teks sudah jelas dan lugas, jangan dipaksa menambah ikon di setiap baris. Jika ikon memang mutlak diperlukan secara fungsional, wajib gunakan ikon SVG semantik line monokrom, bukan emoji bawaan sistem operasi.
64
70
 
65
71
  ---
66
72
 
@@ -98,7 +98,7 @@ Hindari pembulatan berlebihan. Aplikasi profesional mengutamakan keteraturan gri
98
98
  | Angka (metrik, tabel) | 14px+ | 500 | `font-variant-numeric: tabular-nums` |
99
99
 
100
100
  * **Ikon:** SVG semantik (Lucide, Heroicons, Tabler), stroke seragam `1.5px-1.75px`, ukuran `16px` (inline) atau `20px` (navigasi).
101
- * **DILARANG** emoji dekoratif pada tombol, heading, atau navigasi.
101
+ * **DILARANG** emoji dekoratif atau emoji warna-warni (✏️, 📅, ☘️, 🛡️, 💾, ❌) sebagai awalan teks pada tombol aksi, judul modal, legend/header seksi formulir, atau navigasi. Terapkan Clean Typography-First.
102
102
 
103
103
  ---
104
104
 
@@ -32,6 +32,11 @@ Jika tidak ada blok penunjuk slop-ai-indo dan berkas ini sedang dibaca untuk per
32
32
  - **5. `slop-ai-indo-layoutmobile` (mobile / responsif):** pilih ini untuk tata letak yang harus beradaptasi mulus di berbagai ukuran layar: breakpoint, skala, grid, overflow, area sentuh.
33
33
  - **6. `slop-ai-indo-code` (komentar kode):** pilih ini untuk merapikan komentar kode program: menghapus komentar klise AI, menjaga komentar penting, tanpa menyentuh logika kode.
34
34
  - **7. `slop-ai-indo-security` (audit keamanan):** pilih ini untuk audit keamanan komprehensif, tinjauan kerentanan source-first, threat modeling, verifikasi sandbox terisolasi, dan remediasi keamanan defensif.
35
+ - **8. `slop-ai-indo-backend` (backend & API):** pilih ini untuk arsitektur server, API controller, sanitasi query database, dan error handling.
36
+ - **9. `slop-ai-indo-test` (pengujian otomatis):** pilih ini untuk pengujian otomatis, validasi skenario kegagalan nyata, dan anti fake mock.
37
+ - **10. `slop-ai-indo-docs` (dokumentasi teknis):** pilih ini untuk dokumentasi teknis, PRD, dan spesifikasi arsitektur bebas narasi hampa.
38
+ - **11. `slop-ai-indo-identity` (identitas produk):** pilih ini untuk menjaga karakter produk unik dan mencegah klon buta template populer.
39
+ - **12. `slop-ai-indo-concise` (komunikasi & hemat token):** pilih ini untuk memangkas obrolan basa-basi AI (*Say Less & Answer First* ala Caveman) dan menghemat biaya token tanpa memotong kelengkapan kode.
35
40
 
36
41
  Jika pengguna menolak atau mengatakan "inti saja" (*core only*), berhenti di sini dan gunakan berkas ini sendirian sebagai filter. Jangan pasang modul tambahan apa pun.
37
42
  3. **Penyelarasan Arah Desain** (hanya jika skill UI dipilih). Periksa keberadaan berkas `DESIGN.md` atau panduan merek/gaya eksplisit. Jika tidak ada, jujurlah bahwa slop-ai-indo adalah **filter, bukan pembuat keindahan**: tanpa arah desain, output cenderung monoton. Sarankan untuk memiliki `DESIGN.md`, lalu tawarkan opsi berikut:
@@ -43,13 +48,18 @@ Jika tidak ada blok penunjuk slop-ai-indo dan berkas ini sedang dibaca untuk per
43
48
  ```md
44
49
  <!-- slop-ai-indo:start -->
45
50
  ## slop-ai-indo
46
- Untuk pekerjaan UI, copy teks, aksesibilitas, layout mobile, komentar kode, atau audit keamanan, baca `slop-ai-indo.md` (inti) lalu skill yang relevan:
51
+ Untuk pekerjaan UI, copy teks, aksesibilitas, layout mobile, komentar kode, keamanan, backend, pengujian, atau efisiensi token, baca `slop-ai-indo.md` (inti) lalu skill yang relevan:
47
52
  - UI / visual: `skills/slop-ai-indo-ui/SKILL.md`
48
53
  - Copy & teks: `skills/slop-ai-indo-copywriting/SKILL.md`
49
54
  - Aksesibilitas: `skills/slop-ai-indo-human/SKILL.md`
50
55
  - Mobile / responsif: `skills/slop-ai-indo-layoutmobile/SKILL.md`
51
56
  - Komentar kode: `skills/slop-ai-indo-code/SKILL.md`
52
57
  - Audit keamanan: `skills/slop-ai-indo-security/SKILL.md`
58
+ - Backend & API: `skills/slop-ai-indo-backend/SKILL.md`
59
+ - Pengujian otomatis: `skills/slop-ai-indo-test/SKILL.md`
60
+ - Dokumentasi teknis: `skills/slop-ai-indo-docs/SKILL.md`
61
+ - Identitas produk: `skills/slop-ai-indo-identity/SKILL.md`
62
+ - Komunikasi ringkas & efisiensi token: `skills/slop-ai-indo-concise/SKILL.md`
53
63
  Sebelum mulai, tanyakan pengguna kapan slop-ai-indo diterapkan: selama pengerjaan, atau setelah selesai.
54
64
  Untuk memperbarui slop-ai-indo nanti: unduh ulang `slop-ai-indo.md`, jalankan `npx slop-ai-indo`, atau jalankan `npx skills add ynrlabs/slop-ai-indo`.
55
65
  <!-- slop-ai-indo:end -->
@@ -177,6 +187,7 @@ Tabel ini digunakan untuk **mengaudit** output: periksa apakah ada penumpukan ta
177
187
  - **Statistik Rekaan:** "10K+ Pengguna", "99.9% Uptime", "500 Juta Permintaan", tanpa data nyata.
178
188
  - **Testimoni Fiktif:** Foto profil AI, nama acak, jabatan rekaan, ulasan yang memuji secara berlebihan.
179
189
  - **Klaim Kredibilitas Palsu:** "Sertifikasi SOC 2", "Standar ISO 27001", "300% Lebih Cepat", tanpa bukti pendukung nyata.
190
+ - **Emoji & Icon Prefix Slop:** Menempelkan emoji hiasan atau ikon warna-warni sebagai awalan teks pada judul modal (✏️), header seksi formulir/fieldset (📅, 🛡️, ☘️), atau tombol aksi (💾, ❌) ala obrolan media sosial alih-alih perangkat lunak profesional.
180
191
 
181
192
  ---
182
193
 
@@ -270,8 +281,9 @@ Teknik-teknik di bawah ini diizinkan selama memiliki tujuan hierarki/identitas y
270
281
  #### R-01 — Warna & Gradien
271
282
  - Gradien biru-ke-ungu/cyan diizinkan hanya jika merupakan bagian dari identitas merek resmi atau menegaskan hierarki penting. Tuliskan alasannya.
272
283
 
273
- #### R-04 — Ikon
284
+ #### R-04 — Ikon & Larangan Emoji Prefix
274
285
  - Ikon harus relevan secara nyata dengan konten yang diwakilinya, bukan sekadar simbol berkilau (*sparkle/magic*) khas AI.
286
+ - **DILARANG KERAS:** Menempelkan emoji dekoratif atau emoji warna-warni (✏️, 📅, ☘️, 🛡️, 💾, ❌) sebagai awalan teks pada judul modal, sub-heading formulir/fieldset, dan tombol aksi. Utamakan prinsip *Clean Typography-First*, atau gunakan ikon SVG line semantik monokrom (stroke 1.5px–1.75px) jika mutlak diperlukan secara fungsional.
275
287
 
276
288
  #### R-06 — Tipografi
277
289
  - Pilih font berdasarkan karakter merek produk, bukan karena menjadi font default AI. Tuliskan alasan pemilihannya.
@@ -1 +1 @@
1
- 1.3.1
1
+ 1.4.1
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: slop-ai-indo-concise
3
+ description: "Efisiensi komunikasi dan token untuk AI coding agent: memangkas conversational slop, basa-basi AI, dan preamble berlebih dengan prinsip Say Less & Answer First tanpa mengurangi keakuratan teknis."
4
+ allowed-tools: Read Write Edit Glob Grep
5
+ ---
6
+ # slop-ai-indo-concise
7
+
8
+ > Anti Slop: Aturan untuk AI Coding Agent. Skill Komunikasi Ringkas & Efisiensi Token
9
+
10
+ > Bagian dari sistem Slop AI Indo. Dibaca bersama dengan `slop-ai-indo.md` (inti). Skill ini menyaring kebiasaan model AI yang bertele-tele (*conversational slop*), memangkas pembuka basa-basi, pengulangan prompt, dan narasi hampa yang membuang kuota token dan mempersempit *context window*. Mengadopsi prinsip efisiensi token ala **Caveman** (*Say less, answer first, payload verbatim*) yang diselaraskan dengan standar profesional Senior Software Engineer.
11
+
12
+ ## Cara Menggunakan Skill Ini
13
+
14
+ - Muat bersama `slop-ai-indo.md` pada setiap sesi interaktif untuk menjaga respon agent tetap padat, cepat, dan hemat biaya token.
15
+ - Setiap pola memuat: **Ciri (Tell)**, **Alasan (Why)**, dan **Solusi (Fix)**.
16
+ - **Prinsip Utama:** *Why many token when few do trick.* Hilangkan basa-basi obrolan, namun pertahankan keutuhan dan ketepatan kode program (*Payload Verbatim*).
17
+
18
+ ---
19
+
20
+ ## Pola Conversational Slop & Solusinya
21
+
22
+ ### K-01: Basa-basi Pembuka & Pujian Kosong (Sycophancy & Polite Fluff)
23
+
24
+ - **Ciri:** Mengawali respon dengan frasa sanjungan atau penegasan yang tidak berguna:
25
+ - *"Tentu! Saya akan dengan senang hati membantu Anda mengimplementasikan..."*
26
+ - *"Pertanyaan yang sangat bagus sekali!..."*
27
+ - *"Sebagai asisten AI, tentu saya bisa memperbaiki error tersebut..."*
28
+ - *"Halo! Senang bertemu dengan Anda hari ini..."*
29
+ - **Alasan:** Membuang 30–70 token per prompt, memperlambat proses baca pengguna, dan memberikan kesan robotik yang klise.
30
+ - **Solusi:** **Nol Preamble.** Hapus seluruh kalimat pembuka. Langsung mulai jawaban dari baris pertama dengan fakta teknis atau tindakan yang diambil.
31
+
32
+ ### K-02: Mengulang Pertanyaan / Prompt Pengguna (Echo & Recap Slop)
33
+
34
+ - **Ciri:** Memparafrasekan atau mengulang apa yang baru saja diketik pengguna:
35
+ - *"Anda meminta saya untuk membuat endpoint autentikasi menggunakan JWT di Express..."*
36
+ - *"Berdasarkan pesan Anda di atas yang menyebutkan ada error CORS pada React..."*
37
+ - **Alasan:** Pengguna sudah mengetahui apa yang mereka tanyakan. Mengulang prompt hanya menghabiskan context window dan membebani memori sesi secara sia-sia.
38
+ - **Solusi:** DILARANG mengulang permintaan pengguna. Langsung berikan diagnosis akar masalah atau solusi kode.
39
+
40
+ ### K-03: Menimbun Inti Masalah di Belakang (Burying the Lede)
41
+
42
+ - **Ciri:** Menulis 3–5 paragraf penjelasan konseptual panjang lebar sebelum memperlihatkan baris kode atau solusi yang dicari.
43
+ - **Alasan:** Saat menghadapi bug atau pengerjaan fitur, developer membutuhkan perbaikan instan. Membaca teori panjang sebelum melihat kode memperlambat ritme kerja.
44
+ - **Solusi:** **Pola Answer First.** Strukturkan setiap respon teknis dengan urutan:
45
+ `[Akar Masalah Singkat] -> [Solusi Kode / Perintah] -> [Alasan Teknis Singkat] -> [Langkah Verifikasi]`.
46
+
47
+ ### K-04: Obrolan Mengambang di Antara Tool Call (Chatter Between Actions)
48
+
49
+ - **Ciri:** Menulis status naratif sebelum setiap pemanggilan kakas:
50
+ - *"Sekarang saya akan melihat file package.json untuk memeriksa dependencies..."* (lalu memanggil view_file)
51
+ - *"Selanjutnya saya akan menjalankan grep untuk mencari fungsi userLogin..."* (lalu memanggil grep_search)
52
+ - **Alasan:** Antarmuka IDE / terminal sudah menampilkan indikator pemanggilan kakas (tool invocation). Teks naratif di antaranya hanya menambah latensi respon dan biaya token.
53
+ - **Solusi:** Eksekusi kakas secara langsung tanpa teks pengantar, kecuali terdapat keputusan arsitektur bercabang yang memerlukan konfirmasi eksplisit dari pengguna.
54
+
55
+ ### K-05: Kode Terpotong / Placeholder Akal-akalan (Lazy Code Truncation)
56
+
57
+ - **Ciri:** Menghemat token dengan cara yang salah: memotong baris kode penting menggunakan komentar placeholder:
58
+ - `// ... sisa implementasi tetap sama ...`
59
+ - `/* logika bisnis ditaruh di sini */`
60
+ - `// kode lainnya...`
61
+ - **Alasan:** Ini adalah pemotongan semu. Kode yang tidak lengkap memaksa pengguna meminta perbaikan ulang, yang akhirnya justru menghabiskan token 2× lebih banyak dan merusak alur build.
62
+ - **Solusi:** **Payload Verbatim.** Baris kode, perintah terminal, query SQL, konfigurasi, dan diff WAJIB lengkap, presisi, dan siap dijalankan (*drop-in replacement*). Pangkas kata-kata penjelas, JANGAN memotong kode.
63
+
64
+ ### K-06: Mengabaikan Penjelasan Keamanan & Operasi Berisiko (Unsafe Brevity)
65
+
66
+ - **Ciri:** Menyingkat respon secara ekstrem saat melakukan operasi destruktif atau menangani celah keamanan kritis, sehingga pengguna tidak menyadari bahayanya.
67
+ - **Alasan:** Keamanan data dan integritas sistem jauh lebih penting daripada menghemat 20 token output.
68
+ - **Solusi:** **Safety Valve (Katup Pengaman).** Untuk tindakan yang berpotensi menyebabkan *data loss* (misal `DROP TABLE`, `rm -rf`, `git reset --hard`, migrasi destruktif) atau audit celah kritis (seperti diatur pada `slop-ai-indo-security`), agen WAJIB menghentikan mode hemat kata ekstrem, menjelaskan risiko teknis secara eksplisit, dan meminta konfirmasi.
69
+
70
+ ### K-07: Tata Bahasa Primitif yang Membingungkan (Broken Syntax Slop)
71
+
72
+ - **Ciri:** Memotong kalimat hingga strukturnya menjadi bahasa manusia purba yang rancu (*broken language*), ambigu, atau multi-tafsir.
73
+ - **Alasan:** Efisiensi token bukan berarti merusak tata bahasa. Ketidakjelasan konteks justru memicu miskomunikasi dan kesalahan perbaikan bug.
74
+ - **Solusi:** Gunakan **Bahasa Teknis Terkendali (Controlled Technical Language)**:
75
+ - Maksimal 15–20 kata per kalimat.
76
+ - Gunakan kalimat aktif dan subjek yang jelas.
77
+ - Hindari metafora atau kiasan.
78
+ - Satu kalimat = satu ide teknis.
79
+
80
+ ---
81
+
82
+ ## Format Standar Respon Cepat (Quick-Reply Matrix)
83
+
84
+ Gunakan pola ringkas berikut untuk interaksi rutin:
85
+
86
+ | Situasi | Contoh Format Respon (Hemat Token & Presisi) |
87
+ |---------|----------------------------------------------|
88
+ | **Perbaikan Bug** | `Akar masalah: null pointer pada user.profile. Solusi: opsional chaining user?.profile. Kode terlampir.` |
89
+ | **Pertanyaan Teknis** | `Gunakan useMemo jika komputasi berat (>1ms) atau referensi objek dipassing ke dependency array. Contoh:` |
90
+ | **Laporan Tugas Selesai** | `Selesai: 2 file diubah (AuthService.php, User.php). Verifikasi: php artisan test lulus 12/12.` |
91
+
92
+ ---
93
+
94
+ ## Duet Efisiensi Token: slop-ai-indo + Caveman
95
+
96
+ Skill ini memangkas token pada level **instruksi obrolan (*Say Less*)**. Jika Anda ingin memangkas konsumsi token pada level **input & context window (*Read Less*)** (memotong ukuran log terminal, output pengujian, dan respon web):
97
+
98
+ Gunakan kakas pendamping resmi **Caveman** oleh Julius Brussee:
99
+
100
+ ```bash
101
+ # Tambahkan skill Caveman global
102
+ npx skills add JuliusBrussee/caveman -g
103
+
104
+ # Atau jalankan proxy otomatis Caveman CLI untuk agen Anda
105
+ npx @caveman-ai/cli@latest
106
+ ```
107
+
108
+ *Duet ideal:*
109
+ * **slop-ai-indo:** Menjaga kebersihan kode, arsitektur kokoh, UI presisi, dan ketiadaan komentar/obrolan sampah.
110
+ * **Caveman:** Memotong volume data input (log, test dump) dan memandu efisiensi token sistemik.
@@ -279,15 +279,18 @@ allowed-tools: Read Write Edit Glob Grep
279
279
  - **Aturan:** R-36.
280
280
  - **Pengecualian dokumentasi:** Format `- **Ciri:**` / `- **Alasan:**` / `- **Solusi:**` yang menstrukturkan panduan aturan Slop AI Indo adalah konvensi dokumentasi teknis dan dikecualikan.
281
281
 
282
- ### Emoji di Judul dan Poin (Emojis in Headings)
282
+ ### Emoji di Judul, Label Formulir, dan Tombol (Emojis in Headings & UI)
283
283
 
284
- - **Pola:** Menempelkan hiasan emoji di depan judul atau poin utama: 🚀 Peluncuran, 💡 Wawasan Utama, ✅ Langkah Selanjutnya.
285
- - **Mengapa terbaca khas AI:** Emoji tersebut tidak membawa informasi substantif baru. Emoji tersebut hanya menjadi dekorasi visual murahan khas postingan media sosial otomatis.
284
+ - **Pola:** Menempelkan hiasan emoji di depan judul halaman, judul modal, label seksi form/fieldset, atau tombol aksi: `🚀 Peluncuran`, `✏️ Edit Konfigurasi Budget`, `📅 Horizon Periode`, `🛡️ Mode Penegakan`, `💾 Simpan Konfigurasi`.
285
+ - **Mengapa terbaca khas AI:** Emoji tersebut tidak membawa informasi substantif baru. Emoji tersebut hanya menjadi dekorasi visual murahan khas postingan media sosial otomatis yang merusak wibawa aplikasi profesional.
286
286
  - **Sebelum:**
287
- > 🚀 **Fase Peluncuran:** Produk akan dirilis resmi pada Kuartal ke-3
288
- > 💡 **Wawasan Utama:** Pengguna lebih menyukai skema harga yang sederhana
287
+ > ✏️ **Edit Konfigurasi Kontrol Budget: 2026**
288
+ > 📅 **Horizon Periode Kontrol Pagu**
289
+ > 💾 **Simpan Konfigurasi**
289
290
  - **Sesudah:**
290
- > Produk dijadwalkan meluncur pada Kuartal ke-3. Riset pengguna menunjukkan preferensi kuat pada struktur harga yang sederhana.
291
+ > **Edit Konfigurasi Kontrol Budget: 2026**
292
+ > **Horizon Periode Kontrol Pagu**
293
+ > **Simpan Konfigurasi** (atau sertakan ikon SVG line 16px monokrom jika library ikon sudah terpasang)
291
294
  - **Aturan:** R-36.
292
295
 
293
296
  ### Frasa Pengisi Bertele-tele (Filler Phrases)
@@ -8,7 +8,7 @@ import sys
8
8
 
9
9
  PROTOCOL_VERSION = "2024-11-05"
10
10
  SERVER_NAME = "slop-ai-indo-contrast"
11
- SERVER_VERSION = "1.3.1"
11
+ SERVER_VERSION = "1.4.1"
12
12
 
13
13
  TOOLS = [
14
14
  {
@@ -104,11 +104,11 @@ allowed-tools: Read Write Edit Glob Grep
104
104
  - **Alasan:** Simbol-simbol ini adalah kosakata default produk AI yang tidak menjelaskan fitur secara konkret.
105
105
  - **Solusi:** Gunakan ikon yang relevan dengan arti fungsional fitur (R-04).
106
106
 
107
- ### Emoji sebagai Dekorasi UI
107
+ ### Emoji & Icon Prefix Slop pada Judul, Form, dan Tombol
108
108
 
109
- - **Ciri:** Emoji yang disebarkan pada judul, poin fitur, badge, dan tombol (🚀, ✅, 🔥, 📈).
110
- - **Alasan:** Emoji merusak kesan profesional perangkat lunak dan membuat teks terdengar seperti obrolan media sosial.
111
- - **Solusi:** Bersihkan emoji dari teks antarmuka. Gunakan teks yang padat dan lugas.
109
+ - **Ciri:** Menempelkan emoji dekoratif/warna-warni sebagai awalan teks (prefix) pada judul modal (`✏️ Edit Data`), label seksi form / fieldset / grup opsi (`📅 Periode`, `☘️ Granularitas`, `🛡️ Kebijakan`), dan tombol aksi (`💾 Simpan Konfigurasi`, `❌ Batal`).
110
+ - **Alasan:** Menimbulkan visual noise, tampilan emoji bervariasi dan terdistorsi antar sistem operasi, serta menandakan UI dibuat secara murahan oleh chatbot AI tanpa standar tipografi enterprise.
111
+ - **Solusi:** Hapus seluruh emoji dari awalan teks judul, form section, dan tombol (R-04). Terapkan *Clean Typography-First*: biarkan teks lugas berdiri sendiri. Jika ikon pembeda mutlak dibutuhkan secara fungsional, gunakan ikon SVG line semantik monokrom (stroke 1.5px, 14–16px) yang selaras dengan warna teks.
112
112
 
113
113
  ### Panah Kecil pada Setiap Tombol
114
114
 
package/slop-ai-indo.md CHANGED
@@ -27,6 +27,11 @@ Jika tidak ada blok penunjuk slop-ai-indo dan berkas ini sedang dibaca untuk per
27
27
  - **5. `slop-ai-indo-layoutmobile` (mobile / responsif):** pilih ini untuk tata letak yang harus beradaptasi mulus di berbagai ukuran layar: breakpoint, skala, grid, overflow, area sentuh.
28
28
  - **6. `slop-ai-indo-code` (komentar kode):** pilih ini untuk merapikan komentar kode program: menghapus komentar klise AI, menjaga komentar penting, tanpa menyentuh logika kode.
29
29
  - **7. `slop-ai-indo-security` (audit keamanan):** pilih ini untuk audit keamanan komprehensif, tinjauan kerentanan source-first, threat modeling, verifikasi sandbox terisolasi, dan remediasi keamanan defensif.
30
+ - **8. `slop-ai-indo-backend` (backend & API):** pilih ini untuk arsitektur server, API controller, sanitasi query database, dan error handling.
31
+ - **9. `slop-ai-indo-test` (pengujian otomatis):** pilih ini untuk pengujian otomatis, validasi skenario kegagalan nyata, dan anti fake mock.
32
+ - **10. `slop-ai-indo-docs` (dokumentasi teknis):** pilih ini untuk dokumentasi teknis, PRD, dan spesifikasi arsitektur bebas narasi hampa.
33
+ - **11. `slop-ai-indo-identity` (identitas produk):** pilih ini untuk menjaga karakter produk unik dan mencegah klon buta template populer.
34
+ - **12. `slop-ai-indo-concise` (komunikasi & hemat token):** pilih ini untuk memangkas obrolan basa-basi AI (*Say Less & Answer First* ala Caveman) dan menghemat biaya token tanpa memotong kelengkapan kode.
30
35
 
31
36
  Jika pengguna menolak atau mengatakan "inti saja" (*core only*), berhenti di sini dan gunakan berkas ini sendirian sebagai filter. Jangan pasang modul tambahan apa pun.
32
37
  3. **Penyelarasan Arah Desain** (hanya jika skill UI dipilih). Periksa keberadaan berkas `DESIGN.md` atau panduan merek/gaya eksplisit. Jika tidak ada, jujurlah bahwa slop-ai-indo adalah **filter, bukan pembuat keindahan**: tanpa arah desain, output cenderung monoton. Sarankan untuk memiliki `DESIGN.md`, lalu tawarkan opsi berikut:
@@ -38,13 +43,18 @@ Jika tidak ada blok penunjuk slop-ai-indo dan berkas ini sedang dibaca untuk per
38
43
  ```md
39
44
  <!-- slop-ai-indo:start -->
40
45
  ## slop-ai-indo
41
- Untuk pekerjaan UI, copy teks, aksesibilitas, layout mobile, komentar kode, atau audit keamanan, baca `slop-ai-indo.md` (inti) lalu skill yang relevan:
46
+ Untuk pekerjaan UI, copy teks, aksesibilitas, layout mobile, komentar kode, keamanan, backend, pengujian, atau efisiensi token, baca `slop-ai-indo.md` (inti) lalu skill yang relevan:
42
47
  - UI / visual: `skills/slop-ai-indo-ui/SKILL.md`
43
48
  - Copy & teks: `skills/slop-ai-indo-copywriting/SKILL.md`
44
49
  - Aksesibilitas: `skills/slop-ai-indo-human/SKILL.md`
45
50
  - Mobile / responsif: `skills/slop-ai-indo-layoutmobile/SKILL.md`
46
51
  - Komentar kode: `skills/slop-ai-indo-code/SKILL.md`
47
52
  - Audit keamanan: `skills/slop-ai-indo-security/SKILL.md`
53
+ - Backend & API: `skills/slop-ai-indo-backend/SKILL.md`
54
+ - Pengujian otomatis: `skills/slop-ai-indo-test/SKILL.md`
55
+ - Dokumentasi teknis: `skills/slop-ai-indo-docs/SKILL.md`
56
+ - Identitas produk: `skills/slop-ai-indo-identity/SKILL.md`
57
+ - Komunikasi ringkas & efisiensi token: `skills/slop-ai-indo-concise/SKILL.md`
48
58
  Sebelum mulai, tanyakan pengguna kapan slop-ai-indo diterapkan: selama pengerjaan, atau setelah selesai.
49
59
  Untuk memperbarui slop-ai-indo nanti: unduh ulang `slop-ai-indo.md`, jalankan `npx slop-ai-indo`, atau jalankan `npx skills add ynrlabs/slop-ai-indo`.
50
60
  <!-- slop-ai-indo:end -->
@@ -172,6 +182,7 @@ Tabel ini digunakan untuk **mengaudit** output: periksa apakah ada penumpukan ta
172
182
  - **Statistik Rekaan:** "10K+ Pengguna", "99.9% Uptime", "500 Juta Permintaan", tanpa data nyata.
173
183
  - **Testimoni Fiktif:** Foto profil AI, nama acak, jabatan rekaan, ulasan yang memuji secara berlebihan.
174
184
  - **Klaim Kredibilitas Palsu:** "Sertifikasi SOC 2", "Standar ISO 27001", "300% Lebih Cepat", tanpa bukti pendukung nyata.
185
+ - **Emoji & Icon Prefix Slop:** Menempelkan emoji hiasan atau ikon warna-warni sebagai awalan teks pada judul modal (✏️), header seksi formulir/fieldset (📅, 🛡️, ☘️), atau tombol aksi (💾, ❌) ala obrolan media sosial alih-alih perangkat lunak profesional.
175
186
 
176
187
  ---
177
188
 
@@ -265,8 +276,9 @@ Teknik-teknik di bawah ini diizinkan selama memiliki tujuan hierarki/identitas y
265
276
  #### R-01 — Warna & Gradien
266
277
  - Gradien biru-ke-ungu/cyan diizinkan hanya jika merupakan bagian dari identitas merek resmi atau menegaskan hierarki penting. Tuliskan alasannya.
267
278
 
268
- #### R-04 — Ikon
279
+ #### R-04 — Ikon & Larangan Emoji Prefix
269
280
  - Ikon harus relevan secara nyata dengan konten yang diwakilinya, bukan sekadar simbol berkilau (*sparkle/magic*) khas AI.
281
+ - **DILARANG KERAS:** Menempelkan emoji dekoratif atau emoji warna-warni (✏️, 📅, ☘️, 🛡️, 💾, ❌) sebagai awalan teks pada judul modal, sub-heading formulir/fieldset, dan tombol aksi. Utamakan prinsip *Clean Typography-First*, atau gunakan ikon SVG line semantik monokrom (stroke 1.5px–1.75px) jika mutlak diperlukan secara fungsional.
270
282
 
271
283
  #### R-06 — Tipografi
272
284
  - Pilih font berdasarkan karakter merek produk, bukan karena menjadi font default AI. Tuliskan alasan pemilihannya.