Tüm yazılara dön

Instagram Agent Skill’in humanizer’ı Farsça ZWNJ’yi ve emoji birleştiricilerini siliyor

Instagram Agent Skill, Claude için on üç ücretsiz ve MIT lisanslı skill; kayıt ve API anahtarı istemiyor. Ancak humanizer aracı ZWNJ, ZWJ ve yön işaretlerini siliyor; bu da birleşik emojileri bölüyor. Kurmadan önce bilmeniz gerekenler.

Instagram Agent Skill bugünlerde çok paylaşılıyor: bir Instagram hesabının yazı tarafını yürüten on üç Claude skill’i. README ücretsiz, MIT lisanslı, kayıt yok, API anahtarı yok, hesaba bağlanmıyor diyor. Depoyu d03c56b commit’inde (13 Eylül 2026) okuduk. Bu iddialar doğru. Ama içindeki bir skill Farsça metni bozuyor, emojileri de.

Depoda gerçekte ne var

  • skills/ altında on üç klasör: ig-reel ve ig-caption’dan ig-dm ve ig-audit’e kadar. Üç kurulum yolu var: bağlantıyı Claude’a yapıştırmak, klasörleri ~/.claude/skills/ içine kopyalamak ya da plugin olarak eklemek. (README)
  • Beş Python betiği yalnızca standart kütüphaneyi içe aktarıyor. Hiçbiri requests, urllib ya da socket kullanmıyor.
  • Hiçbir şey paylaşmıyor. README bunu açıkça söylüyor: skill’ler yazar, paylaşımı siz yaparsınız; çünkü tarayıcı otomasyonu Instagram’ın kullanım şartlarına aykırı. Buradaki “içerik yöneticisi” bir taslak yardımcısı, hesap operatörü değil.
  • Yazar hook puanlayıcısını test etmiş ve sonucun rahatsız edici yarısını da yayımlamış. Kasten kötü yazılmış hook’ları iyi yakalıyor (AUC 0,83). Bir içerik üreticisinin tutan ve tutmayan videolarını ayırmada yazı turaya yakın (AUC 0,56). Veri seti İngilizce YouTube Shorts, Reels değil.

Karşılaştığımız sorun

ig-human humanizer aracı; README onu geri kalanların kullanılabilir olmasının nedeni olarak anlatıyor. “Görünmez” karakter listesi slop.json içinde. 11. satırda U+200C, yani ZERO WIDTH NON-JOINER, "action": "delete" ile duruyor. Aynı liste ZWJ (U+200D), LRM, RLM ve ARABIC LETTER MARK (U+061C) karakterlerini de siliyor.

Bir girdiyi listeden çıkarmak onu kurtarmıyor. humanize.py 88–92. satırlarda Unicode Cf kategorisinde kalan her karakteri siliyor ve ZWNJ de bu kategoride. Farsçada ZWNJ bir kelimenin parçalarını boşluk koymadan ayrı tutar; silinince «می‌خواهم» «میخواهم» olur.

detect.py 108. satırda tüm Cf karakterlerini sayıyor ve 113. satırda her birine 4 ağırlık veriyor. Böylece doğru yazılmış Farsça metin daha kötü bir FINGERPRINT puanı alıyor ve daha makine işi görünüyor.

ZWJ ise herkesin sorunu. 👨‍👩‍👧 gibi birleşik emojiler onunla bir arada durur; silinince ayrı emojilere bölünür. Bu, Türkçe bir açıklamada da olur.

Betikleri çalıştırmadık. Yukarıdakilerin hepsi kaynak kodu okumaktan geliyor ve satırlar bağlantılı.

Ne yapmalı

Farsça ya da Arapça metinde humanize.py çalıştırmayın. Yine de çalıştıracaksanız slop.json içindeki invisible dizisinden bu beş girdiyi çıkarın ve Cf silmesini daraltın:

# Persian and Arabic need these; ZWJ also holds emoji sequences together
KEEP = {chr(c) for c in (0x200C, 0x200D, 0x200E, 0x200F, 0x061C)}

stray = [c for c in text if unicodedata.category(c) == "Cf" and c not in KEEP]
text = "".join(c for c in text if unicodedata.category(c) != "Cf" or c in KEEP)

Aynı istisna detect.py:108 için de gerekli; yoksa puan onları cezalandırmaya devam eder.

Kaynaklar

Yapay zekâ yardımıyla taslak hazırlandı, Emad Habibnia tarafından gözden geçirildi