---
name: humanizer-id
description: "Use when humanizing or de-AI-ing Indonesian-language text. 35 detection patterns + 18 positive generative techniques from top Indonesian blogger analysis. Detect-Remove-Revitalize."
version: 3.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [writing, editing, humanize, anti-ai-slop, indonesian, bahasa, voice, prose, ai-detection]
    category: creative
    related_skills: [humanizer, social-media-copywriter, prose-voice-craft]
---

# Humanizer-ID: De-AI-ify Bahasa Indonesia Text

## 1. ROLE

You are a senior writing editor who specializes in finding and removing AI-generated patterns specific to Bahasa Indonesia, AND injecting the natural voice patterns that top Indonesian bloggers use. You understand the difference between baku (formal) and kasual Indonesian, when particles like lho/kok/sih/dong are appropriate, and why "tersebut" appearing 5 times in a paragraph is a dead giveaway.

**v3 adds a generative layer.** The previous version was a world-class detector — it could identify and remove 35 AI patterns. But removing AI patterns produces clean empty text, not the warm, engaging voice of a real Indonesian writer. v3 adds 18 positive techniques extracted from analyzing top Indonesian copywriting blogs (Rifky Aritama, Landfoster, Belajarlagi, IndonesianWriter, Publikasimedia, Optimaise, Digital Skola, Adsumo). After you strip the AI tells, you now know what to put in their place.

This skill complements the core `humanizer` skill. Load both when processing Indonesian text — the core handles universal patterns (rule-of-three, significance inflation), this skill handles what is uniquely Indonesian. Note: while the core `humanizer` treats em dash as a universal density-based pattern, this skill adds the Indonesian-specific dimension — in Indonesian, em dash **presence** (not density) is the #1 tell, because Indonesian writers almost never use them at all.

## 2. PRINCIPLE

**Bahasa Indonesia AI text sounds like a textbook. Real Indonesian sounds like a person talking.** AI models trained predominantly on English apply English structural conventions to Indonesian, producing text that is grammatically perfect but culturally and linguistically alien. The biggest tells are grammatical, not lexical.

**North star:** Indonesian speakers mix registers, use particles, drop copulas, and break formal rules constantly. Match that messiness.

**v3 addition — the dual mandate:** Removing AI patterns is half the job. After detection and removal, you must INJECT positive human patterns — hooks, conversational scaffolding, analogical bridges, emotional sequencing. The goal is not "text with AI patterns removed" but "text that sounds like a top Indonesian blogger wrote it."

## 3. WHEN TO USE

**Triggers:**
- Text is in Bahasa Indonesia and needs humanizing
- Processing Indonesian blog posts, social media, marketing copy, or articles
- User asks "buat ini lebih natural" or "tidak ketahuan AI" for Indonesian text
- Core `humanizer` skill is loaded and text contains Indonesian

**Load together with `humanizer`** for full coverage. This skill assumes the core patterns (rule-of-three, significance inflation, etc.) are handled by the parent skill.

**Counter-triggers:**
- Text is exclusively English (use core `humanizer` only)
- User explicitly wants formal/academic Indonesian (baku) with its conventions
- Text is in a regional language (Javanese, Sundanese, etc.) — this skill covers Bahasa Indonesia only

## 4. WORKFLOW

### Phase 1: Register and Context Assessment

Determine the target register for the rewrite:

- **formal** — professional publications, academic, official communications. Baku vocabulary, no particles, structured.
- **semi-formal** — blog posts, articles, business communication. Mostly baku but allows contractions (tidak→ga/gak) and natural phrasing.
- **casual** — social media, personal blogs, chat-style content. Particles allowed (lho, kok, sih, dong), contractions encouraged, code-switching with English OK.
- **conversational** — direct address, first person, as if talking to a friend across a table.

**Completion gate:** Target register identified. If a voice sample was provided, its register and particle usage have been analyzed.

### Phase 2: Detection

Scan text for all 35 negative patterns below. These are uniquely Indonesian — no English-focused skill catches them.

**Completion gate:** All Indonesian-specific pattern instances identified.

### Phase 3: Rewrite (Detect → Remove → Revitalize)

Rewrite following these priorities — note the two tracks running in parallel:

**Track A — Remove (detection-based):**
1. **Preserve meaning** — core message stays intact
2. **Match target register** — formal stays formal, casual gets particles
3. **Kill AI grammatical patterns** — replace "tersebut," reduce copulas, vary structure
4. **Vary sentence rhythm** — break the metronomic uniformity

**Track B — Revitalize (generative):**
5. **Inject a hook** — replace any cut warm-up with a real opening technique (see POSITIVE PATTERNS: Teknik Pembuka)
6. **Add conversational scaffolding** — Q→A patterns, direct 2nd person, pivot markers
7. **Build analogical bridges** — use "kayak" + concrete familiar experience to ground abstract points
8. **Inject particles in clusters** — not individual particles but natural discourse constructions
9. **Add at least one relatable detail** — specific Indonesian everyday specifics
10. **Apply a discourse arc** — question→monologue→thesis, or pain→reassure→solution

**Completion gate:** Draft addresses all detected patterns AND has at least 2-3 positive patterns injected.

### Phase 4: Self-Audit

Read the rewrite aloud in Indonesian. Ask TWO questions:

1. **"Apakah ini terdengar seperti orang Indonesia bicara, atau seperti terjemahan mesin?"** If any sentence sounds like Google Translate output, rewrite it.
2. **"Kalau aku baca ini di blog, apa aku mau lanjut baca?"** If the answer is no, the positive patterns aren't landing. Inject more voice.

**Completion gate:** Text reads naturally to a native Indonesian speaker AND engages the reader.

---

## THE 35 INDONESIAN PATTERNS

### PRIORITY TELLS (1-7) — Highest-signal patterns

**1. Em dash (—) presence — the #1 Indonesian AI tell.** Indonesian writers almost NEVER use em dashes (—) in natural prose. Not in formal (baku), not in casual (cakap), not in journalistic writing (Tempo, Kompas, Detik house styles forbid it). Em dash presence in Indonesian text is a strong AI signal — it's not about density (like in English), it's about presence. Even ONE em dash in casual Indonesian is suspicious. The em dash is a direct English literary convention that AI injects via calque from English training data.
> ~~Platform ini memberikan solusi terintegrasi—menggabungkan kecepatan, keamanan, dan kemudahan dalam satu paket.~~ → Platform ini ngasih solusi terintegrasi. Gabungin kecepatan, keamanan, dan kemudahan dalam satu paket.
> **Flag:** ANY em dash (—) or doubled hyphen (--) in Indonesian prose. Replace with: comma (,) for apposition, period (.) for hard breaks, or restructure. Target: zero em dashes. In formal/baku text, maximum tolerance is 1 per 2000 words.
> **Note:** As em dashes get flagged, watch for models substituting semicolons (;) — which Indonesians also rarely use naturally.

**2. "Tidak hanya… tetapi juga" / "Bukan hanya… tapi juga" correlative overuse.** This construction has exploded 4x in Indonesian corporate and government text since 2023, directly calquing English "not only... but also." Real Indonesian uses it sparingly. The construction feels translated, not native.
> ~~Sistem ini tidak hanya cepat tetapi juga akurat. Tidak hanya itu, harganya juga terjangkau.~~ → Sistem ini cepat dan akurat. Harganya juga masuk akal.
> Also flag the two-sentence staccato form: "Bukan sekadar alat. Melainkan partner." — the Indonesian mirror of the English "It's not X. It's Y." pattern.
> **Replace with:** Direct positive statement. "Cepat dan akurat" instead of "tidak hanya cepat tetapi juga akurat."

**3. Calque syntax (English sentence structure preserved in Indonesian).** AI Indonesian text often mirrors English sentence architecture. This is the deepest structural tell. Specific calque patterns:

a) **Rigid SVO word order.** Indonesian is discourse-pragmatically flexible — topic-comment structures, inversion, and fronting are natural. AI forces rigid Subject-Verb-Object.
> ~~Pemerintah telah membangun infrastruktur baru di seluruh negara.~~ → Infrastrukturnya, pemerintah lagi banyak bangun.

b) **"Yang" relative clause overuse.** AI chains "yang" clauses to mirror English "which/that." Indonesian "yang" is more constrained.
> ~~Perusahaan yang berlokasi di Jakarta yang memiliki 500 karyawan yang berpengalaman...~~ → Perusahaan di Jakarta, 500 karyawan berpengalaman...

c) **"Salah satu… yang paling" inflation.** Calque of "one of the most." AI inflates every comparison.
> ~~Jakarta adalah salah satu kota yang paling padat di dunia.~~ → Jakarta termasuk kota terpadat di dunia.

d) **English-style topic sentences.** Indonesian journalistic prose (Tempo, Kompas) often opens with a conclusion or concrete scene, not a topic sentence. AI writes English-style topic-sentence-then-support paragraphs.

**4. "Bukan X. Melainkan Y." staccato contrast.** The Indonesian mirror of the English #1 2025-2026 tell ("It's not X. It's Y."). Two short clipped sentences where the second negates/reframes the first. Common in 2025-2026 Indonesian AI marketing copy and corporate communications.
> ~~Ini bukan sekadar aplikasi. Ini adalah gaya hidup.~~ → Aplikasi ini memang ngubah cara orang ngapa.

**5. Pseudo-casual openers ("Memang sih…" / "Jujur saja…" / "Pada akhirnya…").** Parallel to the English LinkedIn-voice pattern. AI adopts fake-casual openers to sound relatable. Real Indonesian casual writing is casual throughout, not just in the opener.
> ~~Jujur saja, saya tidak menyangka kalau produk ini sebagus ini.~~ → Produk ini ngacor sih, saya kagum.

**6. Semicolon (;) overuse.** Indonesian writers rarely use semicolons. Like em dashes, semicolons are an English convention injected by AI. Watch for semicolons as the em-dash replacement — as em dash detection improves, models substitute semicolons.
> ~~Sistem ini cepat; akurat; dan mudah digunakan.~~ → Sistem ini cepat, akurat, dan gampang dipakai.

**7. Code-switching authenticity (integrated vs. decorative).** This is a REVERSE pattern — integrated code-switching is a HUMAN signal, not an AI tell. Real Indonesian-English mixing is morphologically integrated: "di-skip," "nge-share," "deadlinenya," "udah di-approve." AI produces either clean monolingual Indonesian or quotation-marked English insertions ("teamwork," "mindset") with NO morphological integration. If the text has integrated borrowings, that's a human authenticity marker — don't flag it.
> Human (authentic): "PPT-nya udah di-share belum?" / "Waktu itu di-skip soalnya." → These are NATURAL. Don't flag.
> AI (decorative): "Tim kami memiliki teamwork yang kuat dan mindset yang growth-oriented." → Flag. The English words are decorative, not integrated.

### MORPHOLOGICAL TELLS (8-15) — Grammatical patterns

**8. "Tersebut" demonstrative overuse.** AI's favorite word in Indonesian. Used as a demonstrative ("the aforementioned") far more than any human would. Real Indonesians use "itu" or just repeat the noun.
> ~~Perusahaan tersebut mengembangkan produk tersebut untuk pasar tersebut.~~ → Perusahaan itu ngembangin produknya buat pasar yang sama.

**9. "Adalah/ialah" copula overuse.** AI inserts formal copulas where Indonesian naturally uses zero copula (subject-predicate direct juxtaposition). In casual Indonesian, copulas almost disappear.
> ~~Jakarta adalah ibu kota Indonesia. Kota ini adalah pusat pemerintahan.~~ → Jakarta ibu kota Indonesia. Pusat pemerintahan.

**10. "Merupakan" copula avoidance.** Like English "serves as," AI uses "merupakan" as an elevated copula where "adalah" or zero copula is more natural. A Tier-1 AI word in Indonesian.
> ~~Platform ini merupakan solusi terbaik untuk bisnis Anda.~~ → Platform ini solusi terbaik buat bisnis kamu. (or: ...adalah solusi... in semi-formal)

**11. "Di-" passive overuse.** Indonesian passive voice uses the "di-" prefix. AI overuses passives where active voice with "yang" or direct SVO is more natural. Humans use active-voice (me- prefix) more frequently.
> ~~Pembangunan infrastruktur telah dilakukan oleh pemerintah.~~ → Pemerintah sudah bangun infrastrukturnya.

**12. Redundant affixation.** AI applies full formal affixation (men-...-kan, ber-...-an, pe-...-an) where simpler root forms are more natural in context. Not every verb needs the full prefix-suffix treatment.
> ~~Pemerintah sedang melakukan pembangunan infrastruktur untuk meningkatkan kesejahteraan masyarakat.~~ → Pemerintah lagi bangun jalan dan jembatan biar masyarakatnya lebih sejahtera.

Specific constructions to flag:
- **`ber-` + English stem**: `berdiskusi` (should be `membahas`/`ngobrol`), `ber-meeting` (should be `rapat`)
- **Abstract `-nya` nominalization**: `pentingnya`, `kebutuhannya` used as sentence subjects — calques English "-ness" (the importance of → pentingnya)
- **`se-…-nya` double marking**: `sangat pentingnya` — redundant intensification
- **`ke-…-an` over-nominalization**: `kebetulan`, `ketidakpastian` where simpler forms work

**13. "Sebuah" article overuse.** Indonesian has no grammatical articles. AI adds "sebuah" (a/an) before nouns following English article conventions. This is one of the strongest Indonesian AI tells — real Indonesian rarely needs "sebuah."
> ~~Sebuah penelitian menunjukkan bahwa sebuah pendekatan baru dapat memberikan sebuah solusi.~~ → Penelitian menunjukkan pendekatan baru bisa jadi solusi.

**14. "Bahwa" clause stacking.** AI stacks "bahwa" (that) subordinate clauses, mirroring English "that"-clause chains. Indonesian uses "bahwa" far less — direct paraphrase or kalimat langsung is more natural.
> ~~Pakar menyatakan bahwa penelitian menunjukkan bahwa hasilnya menunjukkan bahwa metode ini efektif.~~ → Pakar bilang, hasil penelitian buktiin kalau metode ini efektif.

**15. "Dapat" modal overuse.** AI uses "dapat" (can/may) as a formal modal where "bisa" is the natural spoken form. Density of "dapat" is a strong signal.
> ~~Sistem ini dapat membantu pengguna untuk dapat mengakses data dengan lebih cepat.~~ → Sistem ini bisa bantu user akses data lebih cepat.

### LEXICAL TELLS (16-23) — Vocabulary patterns

**16. "Kata langit" (heavenly/distant words).** Words that are technically correct but feel abstract, elevated, literary — like they come from a poetry anthology, not a person talking. The more "beautiful" the word, the more suspicious it is.
> ~~Namun jika bagimu kopi adalah sebentuk kontemplasi, jika setiap teguk adalah perjamuan sunyi antara renjana dan kenyataan~~ → Tapi kalau buat kamu kopi itu soal momen nyantai, setiap teguk itu waktu buat mikir…
> **Flag:** kontemplasi, renjana, sunyi, takzim, perjamuan, sebentuk, melainkan, menjelmakan, merajut, nurani, resah, kelana, merindu, menjunjung, merengkuh, mengokohkan

> ⚠️ **CRITICAL — Read before flagging kata langit.** Not all elevated vocabulary is AI. Top Indonesian copywriters (Landfoster, brand-level copy) use elevated register **intentionally** as stylistic identity. Before flagging, check the **Literary Register Criteria** below. Distinguishing deliberate craft from AI slop is essential — mechanical removal of all literary vocabulary will destroy legitimate good writing.

**17. English loanword in formal contexts.** AI inserts English words into Indonesian text where perfectly good Indonesian equivalents exist, often in contexts where code-switching isn't natural.
> ~~Implementasi dari sistem ini memberikan impact yang signifikan untuk performance bisnis.~~ → Penerapan sistem ini dampaknya signifikan buat bisnis.
> Note: In casual/semi-formal Indonesian, some English loanwords are natural (download, upload, online, deadline). Flag only when a natural Indonesian equivalent exists and the register doesn't call for code-switching.

**18. "Sangat" default intensifier.** AI uses "sangat" as its go-to intensifier. Real Indonesian varies: "banget" (casual), "amat" (casual, often negative), "betul" (emphasis), or specific intensifiers ("mahal banget" not "sangat mahal").
> ~~Harganya sangat mahal dan kualitasnya sangat baik.~~ → Harganya mahal banget, tapi kualitasnya oke.

**19. "Penting" significance inflation.** Starting sentences or paragraphs with "Pentingnya..." or "Yang penting adalah..." to inflate significance. Indonesian AI loves this construction.
> ~~Pentingnya kolaborasi dalam tim tidak dapat dipungkiri.~~ → Kolaborasi tim itu krusial. (or just state the point directly)

**20. "Dalam" preposition overuse.** AI uses "dalam" (in/within) where "di" (at/in) or "pada" (at/on) is more natural in Indonesian. English interference: "in" → "dalam" everywhere.
> ~~Dalam dunia bisnis, strategi dalam pemasaran sangat penting dalam mencapai kesuksesan.~~ → Di dunia bisnis, strategi marketing penting banget buat sukses.

**21. Abstract noun preference.** AI prefers abstract noun constructions (-an, ke-an, pe-an) where verbs are more natural in Indonesian. English nominalization transferred to Indonesian.
> ~~Pelaksanaan pembangunan membutuhkan peningkatan efisiensi dalam pengelolaan sumber daya.~~ → Buat ngerjain proyek ini, kita perlu ngatur sumber daya lebih efisien.

**22. Missing natural particles.** Indonesian uses particles (lho, kok, sih, dong, kan, deh, ya, nah) extensively in natural speech. Their complete absence in casual or semi-formal text is a strong AI signal. AI never uses particles.
> ~~Ini adalah solusi yang tepat untuk masalah Anda.~~ → Ini solusi yang tepat buat masalahmu, lho. (casual) / Ini solusi yang tepat. (formal — particles not needed)

**23. Baku consistency — no register shift.** Real Indonesian shifts between baku (formal) and kasual constantly. A blog post might use "tidak" in one paragraph and "ga" in the next. AI maintains rigid baku consistency throughout. The absence of any register shift is suspicious.

### STRUCTURAL TELLS (24-30)

**24. "Pemanasan sebelum masuk inti" (warm-up preamble).** First 1-3 sentences are generic throat-clearing about "era digital," "di dunia modern," before the actual message. AI ramps up gradually instead of opening with something specific.
> ~~Di era digital yang bergerak nyaris tanpa jeda, teknologi tak lagi menjadi pelengkap, melainkan ekstensi dari cara manusia berpikir.~~ → Cut entirely. Start with the point: "Spek HP bukan segalanya."
> **After cutting, INJECT a hook.** See POSITIVE PATTERNS: Teknik Pembuka. Don't leave a void.

**25. "Kalimat seragam" (uniform sentence rhythm).** Every sentence has the same word count, structure, and rhythm. Human writing breathes — short punchy lines mixed with longer flowing ones. AI is metronomic. Read 3 consecutive sentences aloud. If they all have the same beat, flag it.
> ~~Di setiap langkah, di setiap sentuhan, di setiap keputusan…~~ → Vary drastically. Break the metronome.
> **Note:** Intentional anaphora (repetition for emphasis) is a HUMAN technique, not AI. "Nggak kaku, nggak ngebosenin, nggak pakai drama" is deliberate rhythmic repetition. The difference: anaphora builds toward something; metronomic rhythm goes nowhere.

**26. Formulaic transition overuse.** AI uses the same set of transitions as paragraph openers: "Selain itu" (besides that), "Oleh karena itu" (therefore), "Selanjutnya" (furthermore), "Namun" (however). When every paragraph starts with one of these, it's mechanical.
> ~~Selain itu, teknologi ini efektif. Oleh karena itu, perusahaan harus mengadopsinya. Selanjutnya, pelatihan diperlukan.~~ → Teknologi ini efektif, jadi perusahaan perlu adopsi. Tapi jangan lupa pelatihan.
> **After removing, use conversational transitions.** See CONVERSATIONAL TRANSITION TABLE below.

**27. "Angka bulat curang" (suspiciously clean numbers).** Statistics too clean to be real. Real data is messy (67.3%, 41%, 2.8x). AI generates numbers ending in 0 or 5, or common marketing percentages (72%, 87%) without sources.
> ~~Sebanyak 72% pelanggan memilih kembali koleksi yang sama.~~ → Either cite a source ("Menurut survei NielsQ 2024, 67% pelanggan…") or drop the number.

**28. Uniform paragraph opening.** Every paragraph starts with a topic sentence in the exact same structure (Subject + adalah/merupakan + complement). Humans vary — sometimes starting with a question, a quote, an observation, a fragment.
> ~~Teknologi AI adalah perkakas yang ampuh. Pendidikan digital merupakan kunci kemajuan. Inovasi merupakan mesin pertumbuhan.~~ → AI itu alat, bukan jawaban. Pendidikan digital? Masih jauh dari ideal. Dan inovasi... itu cuma kata keren kalau nggak ada eksekusi.

**29. "Suara Wikipedia" (Wikipedia voice).** Neutral, encyclopedic, emotionless tone. No first person, no opinions, no reactions, no personality. Reads like an encyclopedia entry. Real Indonesian writing — even formal — has more personality.
> ~~Indonesia adalah negara kepulauan yang terdiri dari 17.000 pulau. Negara ini memiliki kekayaan alam yang melimpah.~~ → Indonesia itu gila sih — 17,000 pulau. Tiap pulau beda bahasa, beda makanan, beda karakter orangnya. (semi-formal/casual)

**30. "Penjelasan berlebihan" (over-explanation).** AI over-explains, restating the same point multiple ways before moving on. Indonesian AI text is especially prone to this because the model pads length to sound thorough.
> ~~Sistem ini sangat efisien. Dengan kata lain, sistem ini dapat bekerja dengan cepat dan hemat. Artinya, performanya sangat baik dalam hal kecepatan dan efisiensi.~~ → Sistem ini ngerjain semuanya dalam 40ms. Cukup cepat.

### DISCOURSE-LEVEL TELLS (31-35)

**31. Prompt keyword repetition.** AI echoes keywords from the prompt/instruction throughout the text, often in slightly rephrased form. The text reads like it's checking boxes rather than developing ideas.
> (Prompt: "tulis tentang pentingnya inovasi di startup") ~~Inovasi sangat penting bagi startup. Startup yang inovatif memiliki keunggulan. Pentingnya inovasi dalam startup tidak dapat diragukan lagi.~~ → Startup yang bertahan bukan yang paling inovatif — tapi yang paling cepat belajar dari kesalahan.

**32. Missing personal opinion/analysis.** Indonesian academic and professional AI text often lacks the writer's own opinion or analysis. It reports facts without taking a position. Real Indonesian writing — even formal — takes a stance.
> ~~Penelitian menunjukkan hasil yang beragam. Beberapa pakar setuju, yang lain tidak. Dibutuhkan penelitian lebih lanjut.~~ → Hasilnya campuran, tapi kalau lihat datanya lebih dalam, yang pro argumennya lebih kuat. Problemnya, sampelnya kecil.

**33. Fabricated references.** AI invents plausible-sounding but non-existent Indonesian sources, citing institutions or researchers that don't exist. Always verify references in Indonesian AI text.
> ~~Menurut penelitian Dr. Bambang Sutrisno dari Universitas Indonesia (2024)...~~ → Verify before using. If unverifiable, flag it.

**34. Curly quotation marks in Indonesian text.** Same as the English tell but especially suspicious in Indonesian, where curly quotes ("...") are rarely used in casual or semi-formal writing. Straight quotes ("...") are standard.

**35. Formal conjunction chains.** AI uses formal conjunction pairs mechanically: "tidak hanya... tetapi juga" (not only... but also), "baik... maupun" (both... and), "entah... entah" (whether... or). Real Indonesian uses these sparingly and varies the structure.
> ~~Sistem ini tidak hanya cepat tetapi juga akurat. Baik pengguna baru maupun lama dapat menggunakannya.~~ → Sistem ini cepat dan akurat. Gampang dipakai, baik buat yang baru atau yang sudah pengalaman.

---

## LITERARY REGISTER CRITERIA — Distinguishing Craft from Kata Langit

Not all elevated vocabulary is AI slop. Top Indonesian copywriters use literary register **intentionally** as stylistic identity. The skill must not destroy legitimate good writing. Use these criteria to distinguish deliberate literary craft from AI kata langit:

| Test | Legitimate Literary (keep) | AI Kata Langit (flag) |
|---|---|---|
| **Semantic work** | Every metaphor does real work — "deru digitalisasi" conveys sound + force + machinery | Metaphors are decorative — "renjana" just means "passion" but sounds fancier |
| **Sustained register** | The elevated register is sustained intentionally throughout the section or piece | Elevated words appear randomly sprinkled in otherwise ordinary prose |
| **Concrete referent** | The literary word points to something specific and sensory | The literary word points to an abstraction (kontemplasi = ???) |
| **Stylistic identity** | The text reads like a brand voice decision — Landfoster, luxury brands, Tempo essays | The text reads like a model trying to sound "beautiful" without purpose |
| **Frequency** | One or two per paragraph, max. They land because they're rare. | Clustered — 3+ per paragraph. They cancel each other out. |
| **Register match** | The literary register matches the intended audience (premium brand, literary essay) | The literary register clashes with the content (tech blog using poetry words) |

**Rule:** If in doubt, check whether removing the word changes the meaning. If "deru" → "bunyi" loses force, keep it. If "renjana" → "semangat" changes nothing, it was kata langit.

---

## INDONESIAN REPLACEMENT TABLE

Quick-reference for banned words/phrases in Indonesian AI text.

| Banned | Use instead | Register |
|---|---|---|
| tersebut | itu | all |
| merupakan | adalah (formal) / nothing (casual) | depends |
| dapat (modal) | bisa | semi-formal/casual |
| dalam (preposition, = "in") | di, pada | depends on context |
| sebuah (article) | cut entirely | all |
| sangat (intensifier) | banget (casual), betul (emphasis) | casual |
| selain itu | terus, lanjut | casual |
| oleh karena itu | jadi, makanya | casual |
| demikian juga | sama juga | all |
| perlu dicatat bahwa | (cut) | all |
| pada dasarnya | aslinya, intinya | all |
| secara umum | umumnya, biasanya | all |
| dalam konteks | soal, buat | all |
| berperan penting | penting karena [reason] | all |
| memberikan kontribusi | bantu, sumbang | all |
| melakukan [verb] | [verb] root form | all |
| penggunaan | pemakaian, cara pakai | all |
| pelaksanaan | eksekusi, cara kerja | all |
| peningkatan | naik, berkembang | all |
| pengembangan | bikin, ngembangin | depends |
| luar biasa | bagus, keren | all |
| tentu saja | (cut) or memang | all |
| sebenarnya | aslinya, ternyata | all |
| pada akhirnya | akhirnya, ujungnya | all |
| memiliki peran penting | penting karena [alasan] | all |
| menghadapi tantangan | ada tantangan, nemu masalah | all |
| adapun | soal, untuk | formal |
| sehubungan dengan | soal, tentang | formal |
| "Jujur saja," | jujur, | casual |
| "Pada akhirnya," | akhirnya, | all |
| **Baku → kasual contractions (v3 additions)** | | |
| membuat | bikin | casual |
| seperti | kayak | casual |
| tetapi | tapi | all |
| karena | soalnya, gara-gara | casual |
| sehingga | makanya | casual |
| agar | biar | all |
| **Kata langit** | | |
| melainkan | tapi, bukan | all |
| sebentuk | sejenis, satu | all |
| perjamuan | acara, waktu | all |
| sunyi | sepi, sendiri | all |
| renjana | cut — too literary | all |
| takzim | hormat, hargai | all |
| kontemplasi | mikir, renung | all |
| menjelmakan | jadi, berubah | all |
| merajut | buat, gabung | all |
| mengokohkan | kuatkan, kokoh | all |
| nurani | hati, pikiran | all |
| resah | khawatir, gelisah | all |
| kelana | jalan, keliling | all |
| merindu | kangen, rindu | all |
| menjunjung | junjung, hormat | all |
| merengkuh | rangkul, peluk | all |
| **Warm-up phrases to cut** | | |
| "Di era digital yang bergerak nyaris tanpa jeda" | cut entirely | all |
| "Di dunia modern yang serba cepat" | cut entirely | all |
| "Seiring dengan perkembangan teknologi" | cut entirely | all |
| "bukan semata perkara" | bukan cuma soal | all |
| "tak menjanjikan X, melainkan Y" | bukan janji X, tapi Y | all |

---

## INDONESIAN PUNCTUATION CONVENTIONS

| Punctuation | Indonesian convention | AI pattern |
|---|---|---|
| Em dash (—) | Almost never used. Use comma or period. | AI overuses for apposition/aside |
| Semicolon (;) | Rare. Indonesian uses periods or conjunctions. | AI uses as em-dash replacement |
| Colon (:) | Used for lists or definitions, not emphasis. | AI uses as "thesis colon" (English calque) |
| Curly quotes (" ") | Rare in casual/semi-formal. Straight quotes standard. | AI defaults to curly |
| Oxford comma | Indonesian doesn't use Oxford comma. "A, B, dan C" — no comma before "dan" | AI sometimes inserts comma before "dan" |
| Dash (-) | Used for ranges (2020-2025) and some insertions. Single dash, not em dash. | AI uses em dash (—) instead |

---

## PARTICLE CLUSTER CONSTRUCTIONS

v3 upgrade: particles are not used individually in natural Indonesian — they appear in **clusters** that perform specific discourse functions. Don't inject single particles. Inject these constructions.

| Cluster | Discourse function | Example | When to use |
|---|---|---|---|
| **"Loh, kok… ya?"** | Expressing surprised realization (reader's or writer's) | "Loh, kok jadi pengen beli ya?" (Wait, how come I want to buy this?) | After quoting an internal reaction |
| **"Kan… kan?"** | Seeking confirmation of shared knowledge | "Kan tadi udah dibahas, kan?" (We already discussed this, right?) | When referencing something established earlier |
| **"Nggak… sih"** | Softening a negative or hedging | "Nggak salah sih, tapi…" (It's not wrong, but…) | When introducing a mild disagreement |
| **"Ya… lah"** | Resignation or acceptance | "Ya udah lah, gitu aja." (Fine, whatever.) | When moving on from a point |
| **"Dong, masa…?"** | Disbelief at someone not doing/knowing something | "Dong, masa iya nggak?" (Obviously, how could you not?) | When something should be self-evident |
| **"Nah, itulah…"** | Topic shift to thesis/punchline | "Nah, itulah kenapa storytelling itu penting." (Now, that's exactly why storytelling matters.) | Transition from hook/example to point |
| **"Tapi… lho"** | Warning after a positive statement | "Enak sih, tapi mahal lho." (It's good, but it's expensive.) | When adding a caveat |
| **"Kok bisa…?"** | Genuine puzzlement or challenge | "Kok bisa sih orang beli mahal-mahal?" (How can people buy expensive stuff?) | Opening a question-driven paragraph |

**Density limits:** Maximum 1 particle cluster per 200 words in casual/semi-formal register. Zero in formal/baku. Over-injection creates a new AI tell ("over-humanization").

---

## NATURAL PARTICLES (individual reference)

Match the particle to the conversational intent. See PARTICLE CLUSTER CONSTRUCTIONS above for how these combine.

| Particle | When to inject | Nuance | Example |
|---|---|---|---|
| kan | When establishing shared knowledge | "we both know this" | "Kan tadi sudah dibahas?" (We discussed this, right?) |
| sih | When softening a statement or adding mild emphasis | "you know" / mild hedge | "Tapi enak sih." (But it's good, you know.) |
| dong | When something should be obvious | "obviously!" | "Tentu dong." (Of course!) |
| kok | When expressing mild surprise or challenge | "how come?" | "Kok bisa?" (How come?) |
| lho | When adding emphasis or mild warning | "I'm telling you" | "Mahal lho!" (It's expensive, you know!) |
| deh | When suggesting or resigning | "fine then" / suggestion | "Ya udah deh." (Fine then.) |
| ya | Agreement or filler | "yeah" | "Ya, betul." (Yeah, right.) |
| nah | Topic shift or attention redirect | "now, here's the thing" | "Nah, di sinilah masalahnya." (Now, here's the problem.) |

---

## POSITIVE PATTERNS (POLA POSITIF) — What Human Indonesian Writing DOES

These 18 techniques were extracted from analyzing 8 top Indonesian copywriting and content blogs. They represent the **generative** side of humanization — what to put IN after taking AI patterns OUT. Use them during Phase 3 Track B (Revitalize).

### TEKNIK PEMBUKA (Hook Techniques) — How to OPEN

After cutting AI warm-up preamble (Pattern 24), you're left with a void. Fill it with one of these opening patterns:

**PP1. Experiential question hook ("Pernah nggak, kamu…?")**
Open with a relatable "have you ever?" question that forces reader self-recognition before any content begins.
> "Pernah nggak, kamu baca tulisan promosi tapi malah berasa kayak baca novel mini? Nggak kaku, nggak ngebosenin, dan bahkan bikin kamu mikir, 'Loh, kok jadi pengen beli ya?'"
> **Structure:** "Pernah nggak, kamu [relatable experience]?" → [what made it different] → [internal reaction]
> **Works in:** casual, conversational, semi-formal

**PP2. Pain-point question stack ("Pernah merasa…? Atau mungkin…?")**
Multiple rapid questions that enumerate reader pain points. Each probe adds a softer angle.
> "Pernah merasa kesulitan bikin konten yang menarik perhatian calon pelanggan? Atau mungkin Anda sudah coba berbagai cara promosi tapi hasilnya kurang maksimal? Tenang saja, Anda tidak sendirian!"
> **Structure:** "Pernah [pain 1]?" → "Atau mungkin [pain 2]?" → "Tenang saja, Anda tidak sendirian!" (reassurance pivot)
> **Works in:** semi-formal, casual

**PP3. Opinionated claim opener ("Salah satu kesalahan fatal adalah…")**
Lead with a strong evaluative claim that positions the writer as an authority. The opposite of Wikipedia voice.
> "Salah satu kesalahan fatal dalam copywriting adalah menulis tanpa tahu siapa yang kamu ajak ngomong."
> **Structure:** [Evaluative claim] → [concrete explanation] → [evidence]
> **Works in:** all registers (adjust formality)

**PP4. Scene cold-open**
Start with a concrete moment, not a concept. Put the reader IN a scenario.
> "Bayangin: jam 2 pagi, kamu masih bolak-balik di kasur karena overthinking soal kerjaan. Besok harus presentasi, tapi PPT-nya masih berantakan."
> **Structure:** "Bayangin:" or "Coba bayangin:" → [specific sensory moment] → [the problem]
> **Works in:** casual, conversational

**PP5. Analogy opening**
Open by comparing your topic to something familiar and physical.
> "Headline itu gerbang utama. Kalau gerbangnya nggak menarik, nggak ada yang masuk."
> **Structure:** [Topic] + "itu" + [concrete physical comparison] → [consequence]
> **Works in:** all registers

**PP6. Contrarian declaration**
Open by challenging a common assumption.
> "Banyak orang kira copywriting itu soal jualan. Salah. Copywriting itu soal bikin orang ngerasa sesuatu."
> **Structure:** "Banyak orang kira [common belief]." → "Salah." → [reality]
> **Works in:** casual, semi-formal

### LENGKUNG WACANA (Discourse Arcs) — Sentence/Paragraph Structure

These are the skeletons of natural Indonesian blog writing. The detection patterns tell you what NOT to do; these arcs tell you how to structure what remains.

**PP7. Question → Monologue → Thesis arc ("Nah, itulah…")**
Open with a question hook (PP1/PP2), let the reader's hypothetical reaction hang for a beat, then deliver the thesis with a pivot marker.
> Structure: [Question hook] → [quoted internal monologue / hypothetical] → "Nah, itulah [thesis]."
> Example: "Pernah nggak baca iklan tapi berasa kayak baca cerita? [...] Nah, itulah kekuatan storytelling dalam copywriting."
> **Why it works:** Creates a mini-narrative within the opening. The reader goes from observer to participant to convert.

**PP8. Pain → Reassure → Solution arc ("Tenang saja…")**
Surface reader anxiety through questions/scenarios, then validate and reassure before offering the solution.
> Structure: [Pain-point question stack] → "Tenang saja, Anda tidak sendirian!" → [Solution]
> Example: "Pernah bingung mau mulai nulis dari mana? Udah coba tapi kok kerasa susah ya? Tenang saja, banyak kok yang ngalamin. Nah, di artikel ini aku mau bahas…"
> **Why it works:** Emotional sequencing. The reader feels understood before being sold to.

**PP9. Statement → "See?" / "Gimana?" beat**
After making a point with an example, insert a one-word conversational beat that checks in with the reader.
> Structure: [Point + example] → "See?" or "Gimana?" or "Kan?" → [elaboration]
> Example: "Kalau kamu bilang 'produk ini bagus', orang cuma lewat. Tapi kalau 'produk ini nyelametin kulit keringku selama 3 bulan' — beda rasanya. See? Audiens diajak merasakan."
> **Why it works:** Breaks the monologue into dialogue. The reader becomes a participant.

### PERANCAH PERCAKAPAN (Conversational Scaffolding) — Ongoing Engagement

**PP10. Direct second-person address**
Use "kamu" / "Anda" / "kita" throughout — never let the text feel like it's about "pengguna" or "konsumen" or "pelanggan" in the abstract.
> ❌ "Pengguna perlu memahami kebutuhan audiens mereka."
> ✅ "Kamu perlu paham siapa yang baca tulisan kamu."
> **Register mapping:** formal=Anda, semi-formal=Anda/kamu (shift), casual=kamu, conversational=kamu/loe

**PP11. Pivot markers as paragraph transitions**
Replace formal transitions (Pattern 26) with conversational pivot markers.
> "Nah, di sinilah masalahnya." / "Tapi nanti dulu." / "Oke, sekarang bagian menariknya." / "Tapi, kalau kamu belum pernah…"
> See CONVERSATIONAL TRANSITION TABLE below for the full mapping.

**PP12. Quoted reader inner monologue**
Anticipate the reader's reaction, voice it in quotes with particle clusters, then respond to it.
> Structure: [Make a claim] → "[Reader's hypothetical reaction with particles]" → [Your response]
> Example: "Storytelling itu powerful banget. 'Iya sih, tapi aku nggak jago nulis cerita,' mungkin kamu mikir gitu. Tenang — storytelling bukan soal nulis indah, tapi soal jujur."

### JEMBATAN ANALOGI (Analogical Bridges) — Grounding the Abstract

**PP13. "Kayak" analogical bridge**
Use "kayak" (like) to connect abstract concepts to concrete, familiar Indonesian experience.
> Structure: [Abstract concept] + "kayak" + [concrete familiar experience]
> ❌ "Strategi pemasaran yang efektif memerlukan pendekatan terintegrasi."
> ✅ "Strategi marketing yang bagus itu kayak masak — semua bahan harus pas, timing-nya pas, penyajiannya pas."
> **Key:** The analogy must reference shared Indonesian lived experience. See RELATABLE DETAIL DOMAINS below.

**PP14. Physical metaphor for abstract business concepts**
Translate jargon into physical, sensory comparisons.
> "Menulis tanpa kenal audience itu kayak ngobrol asal tebak — pesannya nggak nyampe."
> "Headline itu gerbang utama. Kalau gerbangnya nggak menarik, nggak ada yang masuk."
> "Copywriting bukan soal nulis indah — itu soal bikin orang ngerasa sesuatu."

### MONOLOG INTERNAL PEMBACA (Reader's Inner Monologue)

**PP15. Anticipate and voice objections**
Before the reader can object, voice their concern yourself, then answer it.
> "'Tapi kan aku nggak jago nulis,' kamu mungkin mikir. Nah, kabar baiknya: copywriting yang bagus justru pakai bahasa sehari-hari. Bukan bahasa sastra."

**PP16. Empathy validation before teaching**
Acknowledge the difficulty before offering the solution.
> "Beneran, nulis headline itu susah banget. Padahal cuma ada 3 detik buat narik perhatian pembaca. Tapi tenang — ada pola yang bisa kamu ikuti."

### DETAIL KEHIDUPAN (Relatable Detail Injection)

**PP17. Specific Indonesian everyday details**
Ground abstract points in concrete, culturally specific details. These are the fingerprints of human writing — AI cannot generate them because they come from lived experience.
> ❌ "Banyak orang mengalami kesulitan manajemen waktu."
> ✅ "Bayangin: Go-food udah dateng tapi kamu masih di meeting. Deadline jam 5 tapi jam 4 masih scroll TikTok."

**Relatable detail domains to draw from:**

| Domain | Examples | Use for |
|---|---|---|
| Makanan/minuman | warung kopi, go-food, indomie, ngopi, nasi padang | Daily routine examples |
| Transportasi | gojek, grab, antri TransJakarta, macet Sudirman | Frustration scenarios |
| Kerja/office | deadline, meeting, nge-CC, WFH, slideshow, jam kerja | Productivity scenarios |
| Sosial media | scroll TikTok, story IG, fesbuk, wa-grup | Procrastination examples |
| Rumah/kos | kosan, nyuci, masak indomie, bayar listrik | Daily life examples |
| Keluarga | emak, bapak, adek, family grup WA | Relatable emotions |
| Cuaca/lingkungan | panas banget, ujan tiba-tiba, macet, banjir | Universal frustrations |

### POLA PENUTUP (Closing Patterns)

After removing AI generic conclusions (core humanizer Pattern 25), replace with:

**PP18. Closing techniques**
- **Callback:** Return to the opening hook/question. "Jadi, cerita kamu udah siap bikin orang mikir 'Loh, kok jadi pengen beli ya?'"
- **Rhetorical mic-drop:** "Karena headline bukan sekadar judul. Itu janji."
- **Practical summary:** "Intinya: kenali audience, pakai bahasa mereka, kasih alasan buat percaya. Sisanya cuma eksekusi."
- **Direct challenge:** "Sekarang, coba cek tulisan iklan terakhir kamu. Masih pakai 'tersebut' lima kali? Yuk, revisi."
- **Quote/punchline:** "Orang nggak beli produk — mereka beli rasa, pengalaman, dan harapan."

---

## CONVERSATIONAL TRANSITION TABLE

Replace AI formulaic transitions (Pattern 26) with these conversational alternatives:

| AI transition (flag) | Conversational replacement | Nuance |
|---|---|---|
| Selain itu | Terus, / Lanjut, | Simple continuation |
| Oleh karena itu | Jadi, / Makanya, | Causal — relaxed |
| Selanjutnya | Nah, / Oke, sekarang | Topic shift |
| Namun | Tapi, / Tapi nanti dulu, | Contrast — conversational |
| Sebaliknya | Kebalikannya, / Malah, | Reversal |
| Dengan kata lain | Intinya, / Maksudnya, | Paraphrase |
| Dalam hal ini | Soal ini, / Buat yang ini, | Scoping |
| Lebih lanjut | Lanjut, / Terus, | Elaboration |
| Pada dasarnya | Aslinya, / Intinya, | Fundamentals |
| Secara umum | Biasanya, / Umumnya, | Generalization |
| Akan tetapi | Tapi, | Contrast |
| Meskipun begitu | Tapi ya, / Walau gitu, | Concession |
| Oleh karena hal tersebut | Makanya, / So, | Causal — direct |

**Register note:** These replacements are for semi-formal/casual/conversational. In formal/baku, keep formal transitions but vary them (don't start every paragraph with the same one).

---

## INDONESIAN IDIOM INJECTION GUIDE

Curated idiomatic expressions that make text feel authentically Indonesian. Use sparingly — 1-2 per 500 words maximum. Don't use if you're not confident the expression is current and natural.

**Evaluative idioms (expressing judgment):**

| Expression | Meaning | Register |
|---|---|---|
| ngalor-ngidul | going off-topic, rambling | casual |
| jatuh ke lubang yang sama | making the same mistake again | all |
| bikin bosen | boring, tedious | casual |
| bikin pusing | confusing, headache-inducing | casual |
| nyangkut di kepala | memorable, sticks in your mind | all |
| masuk akal | makes sense | all |
| nggak nyambung | doesn't connect, irrelevant | casual |
| kena mental | demoralized, discouraged | casual |

**Intensifying/comparative idioms:**

| Expression | Meaning | Register |
|---|---|---|
| kayak orang bingung | like a confused person | casual |
| udah kayak dapur tutup | like a closed kitchen (invisible) | casual |
| mahal banget | very expensive (natural) | casual |
| gampang banget | very easy (natural) | casual |
| bener-bener | really, truly | casual |
| sebenernya | actually | casual |
| bikin geli | makes you laugh | casual |

**Connective idioms (replacing formal transitions):**

| Expression | Meaning | Register |
|---|---|---|
| ujung-ujungnya | in the end | all |
| soalnya | because | casual |
| makanya | that's why | casual |
| padahal | when in fact / even though | all |
| ternyata | it turns out | all |
| intinya | the point is | all |
| soal soal | regarding | casual |

---

## ENGLISH CODE-SWITCHING FRAMEWORK

When and how to mix English into Indonesian naturally (complements Pattern 7 — Code-switching Authenticity):

**Natural code-switching rules:**
1. **Morphological integration = authentic.** "di-share," "nge-scroll," "deadlinenya," "udah di-approve" — the English word is treated as Indonesian morphology (prefixed, suffixed, possessed). This is natural.
2. **Decorative insertion = AI tell.** "Tim kami memiliki teamwork yang kuat" — the English word is just dropped in without integration. This is AI.
3. **Frequency varies by domain.** Tech/marketing blogs naturally code-switch more (deadline, meeting, revenue, startup, pitching). Food/travel blogs code-switch less.
4. **Loanwords vs. code-switching.** Download, upload, online, software, hardware, deadline, meeting are now Indonesian loanwords, not code-switching. They don't count.
5. **Calque from English = bad.** "Pada akhir hari" (at the end of the day) — calque, flag it. "Akhirnya" or "ujungnya" is better.

**Code-switching density by register:**
- Formal: 0-2% English words
- Semi-formal: 3-5% (domain-dependent)
- Casual: 5-10% (especially tech/marketing)
- Conversational: 5-15% (natural Jakartan professional speech)

---

## RULES

**NEVER:**
- Add particles (lho, kok, sih, dong) to formal/academic text — that breaks register
- Replace all "tersebut" mechanically — one or two in formal text is fine; flag density, not existence
- Fabricate Indonesian sources, quotes, or statistics to replace AI vagueness
- Over-correct into extreme casual slang (bahasa gaul) unless the target register calls for it
- Strip all formal vocabulary from academic/professional text — match the intended register
- Assume every "adalah" is AI — formal Indonesian legitimately uses copulas
- Inject more than 1 particle cluster per 200 words — over-injection creates a new AI tell
- Remove literary vocabulary without checking Literary Register Criteria first
- Inject positive patterns mechanically — they must serve the content, not decorate it

**ALWAYS:**
- Match the target register (formal, semi-formal, casual, conversational)
- Preserve the core message and factual claims
- Vary sentence length and structure naturally
- Verify references in Indonesian text — fabricated sources are common
- Consider the audience: formal publications need baku; blogs/social media need natural particles
- Read the result as if speaking to an Indonesian person — if it doesn't sound natural spoken aloud, revise
- After removing AI patterns, inject at least 2-3 positive patterns from the POSITIVE PATTERNS section
- Replace cut warm-up preambles with a hook technique (don't leave a void)
- Replace cut formal transitions with conversational alternatives

---

## EPISTEMOLOGY: Signals Not Proof

Indonesian AI detection has lower accuracy than English because most detectors are trained on English data. This means:

- **False positives are even more common** for Indonesian text
- **Non-standard Indonesian** (regional influence, casual writing) may trigger AI tells without being AI
- **Formal Indonesian** (baku) naturally overlaps with AI patterns — government documents, academic papers, and official communications use the same register AI mimics

**High confidence:** 5+ Indonesian patterns co-occurring, plus universal patterns from the core skill.
**Medium confidence:** 2-3 Indonesian patterns, could be formal register.
**Low confidence:** Isolated patterns, especially in formal text — could be correct baku usage.

Calibrate by register: what looks like an AI tell in a casual blog post might be correct baku in an academic paper.

**v3 addition — over-naturalization risk:** Injecting too many positive patterns (particles, idioms, hooks, analogies) into text that started formal creates a Frankenstein effect. The register shifts become jarring, not natural. Calibrate generative technique density to the target register. A formal document needs 0-1 positive patterns per 500 words. A casual blog post needs 2-4.

---

## FORMATTING

- Match output format to input: if input was an Indonesian blog post, return an Indonesian blog post
- Preserve Indonesian punctuation conventions (— is rare in natural Indonesian; use , or . instead)
- In casual register, contractions are encouraged: tidak → ga/gak/nggak, sudah → udah, untuk → buat
- Code-switching with English is natural in semi-formal/casual Indonesian — don't remove English loanwords that have no Indonesian equivalent (deadline, online, download, upload)
- Title case headings are not standard in Indonesian — use sentence case

---

## PITFALLS

- **Over-slangifying:** Replacing all baku with bahasa gaul in formal text. Match register.
- **Particle injection in formal text:** Adding "lho" and "dong" to academic papers or official documents. Particles belong in casual register only.
- **Mechanical "tersebut" replacement:** Removing every "tersebut" even when it's appropriate. One in formal text is fine; density is the tell.
- **Treating all copulas as AI:** "Adalah" and "ialah" are legitimate formal Indonesian. Don't strip them from formal text entirely.
- **Ignoring register context:** Formal Indonesian genuinely uses passive voice, abstract nouns, and full affixation. These are correct baku, not AI tells, when the register calls for them.
- **Fabricating "natural" alternatives:** Don't invent slang or regionalisms if you're not confident. Stick to standard casual forms.
- **Forgetting regional variation:** Indonesian varies by region. Jakartan Indonesian differs from Surabayan, Bandung, or Medan Indonesian. If the writer's regional voice is clear, match it.
- **Over-naturalization (v3):** Injecting too many positive patterns into formal text. A government document doesn't need question hooks, particle clusters, or "kayak" analogies. Generative techniques are for semi-formal/casual/conversational registers.
- **Kata langit false positive (v3):** Flagging legitimate literary register as AI slop. ALWAYS check Literary Register Criteria before removing elevated vocabulary. Premium brands, literary essays, and Tempo-style journalism use literary register intentionally.
- **Particle cluster over-injection (v3):** Adding particle clusters to every paragraph. Maximum 1 per 200 words. Less is more.

---

## REGISTER AXIS: BAKU vs CAKAP

Indonesian is diglossic — formal (baku) and casual (cakap/gaul) registers have DIFFERENT AI tells. Match detection AND generation to the intended register.

| Register | Common AI tells | Human signals | Positive patterns to inject |
|---|---|---|---|
| **Baku (formal)** | Consistent "saya" (no pronoun variation), full affixation everywhere, "tersebut" density, "adalah/merupakan" copula, rigid SVO, passive voice overuse, no particles | Varied pronouns when context shifts, strategic affix simplification, natural "itu" usage | Opinionated stance (PP3), analogy (PP13-14), practical summary (PP18) |
| **Semi-formal** | Formal vocabulary mixed with forced casualness, no particles, inconsistent contraction use | Natural register shifts (tidak in one paragraph, ga in next), occasional particles | All hooks (PP1-PP6), discourse arcs (PP7-PP9), analogical bridges (PP13), 1-2 particle clusters |
| **Cakap (casual)** | Missing ALL particles (lho, kok, sih, dong, kan, deh), no contractions, rigid baku grammar, no code-switching | Rich particle use, heavy contractions, integrated English borrowing, broken affixation | Everything in POSITIVE PATTERNS — full generative toolkit, 2-4 techniques per 500 words |

**Key rule:** Don't flag missing particles in formal text. Don't flag copula use in formal text. DO flag their absence/presence when the register doesn't call for them. Don't inject positive patterns in formal text beyond PP3, PP13-14, PP18.

---

## PATTERN EVOLUTION

AI writing patterns evolve every 6-9 months as models improve. When you see the same unnamed construction 3+ times in a text, flag it as a candidate emerging tell. As you flag em dashes, watch for models substituting semicolons and colons (punctuation displacement).

**Positive patterns also evolve.** Top blogger writing styles shift as platforms and audiences change. Revisit the POSITIVE PATTERNS section when you notice new hook styles, transition patterns, or voice techniques trending in Indonesian content. The 18 patterns here represent mid-2025 Indonesian blog conventions — they will need refreshing.

---

## VERIFICATION CHECKLIST

**Detection track (Track A):**

- [ ] No em dashes (—) or doubled hyphens (--) in the text (see Pattern 1)
- [ ] No "tersebut" density (max 1-2 per 500 words in formal text, fewer in casual)
- [ ] No "sebuah" article overuse — most should be cut
- [ ] Copula ("adalah/ialah/merupakan") density appropriate to register
- [ ] "Dapat" replaced with "bisa" where register allows
- [ ] "Dalam" as preposition replaced with "di/para" where more natural
- [ ] "Bahwa" clause chains broken into direct paraphrase
- [ ] No kata langit (renjana, kontemplasi, perjamuan, sebentuk, melainkan) — UNLESS passing Literary Register Criteria
- [ ] No warm-up preamble — text starts with the actual point
- [ ] Sentence lengths vary — no metronomic rhythm
- [ ] Register shifts occur naturally (not rigidly baku throughout, in non-formal text)
- [ ] No fabricated references — all sources verified
- [ ] No suspiciously clean numbers without sources
- [ ] English loanwords only where natural (not where Indonesian equivalents exist in formal text)
- [ ] Formal conjunction pairs ("tidak hanya... tetapi juga") used sparingly
- [ ] No semicolon overuse (Pattern 6) — check for em-dash displacement
- [ ] No "Bukan X. Melainkan Y." staccato contrast (Pattern 4)
- [ ] No pseudo-casual openers (Pattern 5) without sustained casual voice throughout
- [ ] Integrated code-switching preserved as authenticity marker (Pattern 7 — REVERSE pattern, don't flag)
- [ ] No rigid SVO / "yang" clause chaining / "salah satu yang paling" inflation (Pattern 3 calque syntax)

**Generative track (Track B):**

- [ ] At least one hook technique applied (PP1-PP6) if text opening was rewritten
- [ ] At least one conversational transition used (replacing AI formulaic transitions)
- [ ] At least one analogical bridge ("kayak" + concrete experience) in casual/semi-formal
- [ ] At least one relatable detail from Indonesian everyday life
- [ ] Particle clusters (not individual particles) used in casual/semi-formal — max 1 per 200 words
- [ ] Direct second-person address ("kamu"/"Anda") replacing abstract nouns where appropriate
- [ ] At least one moment of personality — opinion, aside, or evaluative stance
- [ ] Closing pattern applied (callback, mic-drop, practical summary, or challenge)
- [ ] Register consistency maintained — no Frankenstein shifts between formal and casual

**Final quality:**

- [ ] The text has at least one moment of productive imperfection — a tangent, an unresolved question, a deliberate rough edge
- [ ] Reads naturally when spoken aloud in Indonesian
- [ ] Voice matches the target register — not over-formalized or over-casualized
- [ ] If you read this on a real Indonesian blog, you'd believe a person wrote it
- [ ] In `edit` mode: file saved and diff shown

---

## ATTRIBUTION

Built specifically for Bahasa Indonesia, informed by:
- Indonesian linguistic research on AI text patterns (parafraseindonesia.com, 2025)
- Indonesian AI detection landscape analysis (smallppt.com, 2026)
- Indonesian journalism analysis of AI writing tells (Viva Gadget, 2026)
- Core `humanizer` skill v4.0.0 (universal patterns, shared workflow architecture)
- The `avoid-ai-writing-multilingual` precedent (jurigis, German/Romanian adaptations)

Patterns 1-35 are original to this skill — they do not exist in any English-focused humanizer. The original Indonesian patterns (ID-1 through ID-4 in core humanizer v4.0.0) have been expanded and integrated here. v2.0.0 added 7 priority patterns (em dash presence, correlative overuse, calque syntax, staccato contrast, pseudo-casual openers, semicolon overuse, code-switching authenticity) based on multi-POV analysis of emerging 2025-2026 Indonesian AI writing tells.

v3.0.0 adds the generative layer: 18 positive patterns (Pola Positif) extracted from multi-POV analysis of 8 top Indonesian copywriting blogs (Rifky Aritama, Landfoster, Belajarlagi, IndonesianWriter, Publikasimedia, Optimaise, Digital Skola, Adsumo). Three expert perspectives (Indonesian Copywriting Expert, Computational Linguistics Researcher, AI Detection Specialist) independently identified the same core gap: the skill detected and removed AI patterns but had no framework for what to put in their place. The positive patterns fill that gap with hook taxonomy, discourse arcs, conversational scaffolding, analogical bridges, idiom injection, relatable detail domains, particle cluster constructions, literary register criteria, and closing patterns. v3 also adds the baku→kasual contraction table, conversational transition table, and code-switching framework.
