TUGAS HARIAN — The Skin Code Clinic (theskincodeclinic.com): jaga terbit 1 artikel per hari, jam 08:00 WIB. Jam host UTC (WIB = UTC+7). Kerjakan dari workdir job ini. ATURAN MUTLAK: tidak boleh ada data palsu. Semua angka, status, dan URL harus dari API nyata (WP REST, GSC, Serper). Kalau satu langkah gagal, laporkan apa adanya. ATURAN TERBIT: tepat 1 artikel tayang per hari. Jangan pernah menambah artikel ke hari yang sudah punya artikel terjadwal atau sudah terbit. LANGKAH 1 — cek jadwal python3 tsc_jadwal_cek.py Kalau hasilnya "jadwal sehat" dan persediaan >= 10 hari, lapor 1 baris lalu selesai. Kalau ada hari kosong atau persediaan < 10 hari, lanjut. LANGKAH 2 — pilih topik Baca tsc_topik_bank.json, ambil entri pertama yang belum bertanda "dipakai". Kalau bank habis, susun 3 calon topik baru dari kueri Search Console yang sudah bertayangan tetapi belum punya halaman (pakai tsc_peluang_keyword.py untuk melihat peluangnya). LANGKAH 3 — WAJIB cek kanibalisasi python3 tsc_cek_topik.py "Judul calon" "kata kunci fokus" Kalau BENTURAN (exit 1), ganti sudut atau judulnya sampai aman. Jangan menulis artikel yang benturan. LANGKAH 4 — tulis artikel - 1.000-1.300 kata (hitung teks tanpa tag HTML). Bahasa Indonesia, sapaan "Anda", nada informatif dan menenangkan khas layanan kesehatan. - Struktur: pembuka yang langsung menyebut keluhan pembaca, 4-6 sub-judul h2, satu bagian tanya-jawab, penutup berisi ajakan. - Wajib disunting mengikuti prinsip humanizer: tanpa em dash, tanpa "bukan sekadar X tapi Y", tanpa frasa AI, tanpa emoji di judul, tanpa tanda kutip melengkung. Dilarang ada karakter China/Jepang/Korea. - WAJIB ada tombol WhatsApp dengan gaya yang sama seperti artikel StudioSoft (biru navy, teks putih), pakai markup ini persis:

KONSULTASI GRATIS

- Minimal 2 tautan internal ke halaman TSC yang sudah terbit (cek HTTP 200 dulu dengan curl -4). - Dilarang menjanjikan hasil pengobatan. Kalau perlu, arahkan pembaca untuk konsultasi. - Tulis generatornya sebagai berkas tsc_artikel_.py mengikuti pola tsc_artikel_dokter_kulit_sidoarjo.py, lalu jalankan python3 cek_pola_ai.py (harus bersih dan panjangnya dalam baku). LANGKAH 5 — buat sebagai DRAF dulu POST ke /wp-json/wp/v2/posts dengan status=draft dan header Content-Type: application/json (kredensial TSC ada di cfg_tsc.py, pola pengiriman ada di tsc_artikel_dokter_kulit_sidoarjo.py). Meta Yoast TIDAK bisa ditulis lewat REST di situs ini (nilai tersimpan terbaca None). Pakai XML-RPC `wp.editPost` seperti di tsc_noindex_xmlrpc.py, dan KIRIM ULANG SELURUH custom field (kalau tidak, field lama hilang). Isi _yoast_wpseo_title (maks 60 karakter), _yoast_wpseo_metadesc (140-158 karakter), dan _yoast_wpseo_focuskw. Baca balik untuk memastikan judul, isi, dan meta tersimpan. LANGKAH 6 — gambar unggulan Stok foto Pexels sudah tidak bisa dipakai (kunci mati, 401). Buat gambar unggulan sendiri dengan pola tsc_buat_featured_desain.py (1000x567 webp, warna merek), unggah lewat REST media, lalu pasang sebagai featured_media + alt_text. Kalau gagal, lanjutkan saja dan sebutkan di laporan. LANGKAH 7 — jadwalkan ke hari kosong pertama Ambil tanggal kosong paling awal dari tsc_jadwal_cek.py, POST status=future dengan date "YYYY-MM-DDT08:00:00" (zona situs Asia/Jakarta). Baca balik: status future, tanggal benar, slug tidak berubah, isi utuh, tombol WA ada. LANGKAH 8 — catat dan lapor - Tandai topik di tsc_topik_bank.json dengan "dipakai": "tanggal". - Tambahkan ringkasan ke catatan/YYYY-MM-DD.md (baca dulu, tambahkan bagian baru, jangan menimpa). - Lapor ke Bos maksimal 4 baris: judul, nomor post, tanggal tayang, sisa persediaan hari. Sebutkan kalau ada langkah yang gagal. YANG TIDAK BOLEH: menerbitkan lebih dari 1 artikel pada hari yang sama, menyentuh halaman statis (Page), mengubah artikel lama tanpa alasan, mencantumkan angka yang tidak berasal dari API, dan menerbitkan artikel langsung tanpa lewat status draf.