Claude Skills API + ThreadGrab: Skill Arsip X
Skills API Anthropic keluar dari beta pada 20 Agustus 2026, bersama dengan alat computer use yang diperbarui, alat browser use baru, dan Files API yang sekarang menawarkan batas rate 5× lebih tinggi dan 1 TB penyimpanan per organisasi. Skills API adalah bagian yang paling penting kalau Anda membangun apa pun yang menyentuh konten sosial: API ini memungkinkan Anda mengunggah folder berisi instruksi, skrip, dan template, lalu meminta Claude memuat folder itu hanya saat tugas membutuhkannya. Folder berjalan di dalam sandbox code execution Claude, jadi tidak ada yang perlu Anda hosting.
ThreadGrab adalah target alami untuk pola tersebut. ThreadGrab mengekspos endpoint publik /api/profile/{username} yang mengubah akun X (dulu Twitter) apa pun menjadi JSON terstruktur, dengan batas 10 permintaan per menit per IP dan tanpa login. Membungkus endpoint itu sebagai Claude Skill memberi agen satu alat yang bisa ia panggil kapan pun prompt menyebut pengarsipan, kutipan, atau pengambilan post dari X. Hasilnya adalah blok yang bisa dipakai ulang: minta Claude sekali, versikan skill-nya, dan alur arsip yang sama tersedia di Claude API, Claude Code, dan claude.ai — tanpa kode perekat per prompt.
Ringkasan cepat: pada 20 Agustus 2026, Anthropic membuat Skills API tersedia untuk umum. Anda mengunggah direktori berisi SKILL.md, ditambah skrip atau template yang Anda mau, lalu merujuk skill_id yang dihasilkan di array container.skills dari panggilan /v1/messages. Endpoint profil ThreadGrab adalah salah satu target arsip sosial paling bersih yang bisa dibungkus — satu panggilan HTTPS mengembalikan JSON untuk username X publik apa pun, tanpa OAuth.
Apa yang sebenarnya dirilis Skills API
Post peluncuran 20 Agustus, berjudul “Build production agents with computer use, the Skills API, and the Files API”, adalah referensi kanonik. Post itu menjadikan empat hal tersedia secara umum di Claude Platform:
| Permukaan | Apa yang berubah pada 20 Agu 2026 | Tempat berjalan |
|---|---|---|
| Computer use (diperbarui) | Turn multi-aksi — satu panggilan model sekarang bisa menggerakkan beberapa klik/pengetikan/scroll. Tugas selesai dengan panggilan lebih sedikit. | Claude API, Microsoft Foundry, Vertex AI (segera) |
| Browser use tool | Baru di computer use. Membaca struktur halaman, bukan hanya piksel, sehingga agen menyasar elemen web lewat identitas field/tombol. | Claude API (via computer use) |
| Skills API | Unggah dan versikan Skill Anda sendiri. Hingga 20 Skill per permintaan. Berjalan di sandbox code execution; Anda tidak hosting apa pun. | Claude API, Claude Code, claude.ai (Pro/Max/Team/Enterprise) |
| Files API | Batas rate 5× lebih tinggi, kedaluwarsa file otomatis, 1 TB penyimpanan per organisasi. | Claude API, endpoint Files API |
Post itu memadukan pengumuman dengan contoh nyata: agen klaim yang membaca dokumen intake dari Files API, mengikuti Skill yang menyandikan prosedur tim, menyelesaikan pengiriman di portal web perusahaan asuransi dengan browser-use tool, dan menyimpan konfirmasi sebagai file. Loop yang sama pas di ThreadGrab hampir persis — ganti portal asuransi dengan endpoint profil X, ganti dokumen intake dengan username, dan Anda punya agen yang mengarsip akun X sesuai permintaan.
Mengapa Skill ThreadGrab punya ukuran yang tepat
Panggilan Skills API mengharapkan alur tunggal yang berulang — Skill adalah folder berisi instruksi, skrip, dan template yang Claude muat hanya saat tugas membutuhkannya. Arsip profil ThreadGrab adalah kecocokan bersih untuk bentuk itu:
- Satu panggilan HTTPS:
GET https://threadgrab.com/api/profile/{username}mengembalikan profil terstruktur lengkap. - Tanpa auth, tanpa OAuth: tidak ada token untuk disimpan di Skill, tidak ada blok client-credentials untuk diatur.
- Bentuk JSON terprediksi: respons adalah objek pengguna yang terbentuk baik — aman untuk diumpankan langsung ke Files API sebagai artefak yang bisa diunduh.
- Input terbatas:
{username}cocok dengan/^[a-zA-Z0-9._]{1,30}$/, jadi tidak ada permukaan prompt injection yang harus dipertahankan. - Bisa dipakai ulang lintas prompt: “Arsipkan 100 post terakhir
@threadgrab”, “Ambil bio@naval”, “Bandingkan jumlah pengikut dari tiga akun ini” — semua menjalankan Skill yang sama.
Dibandingkan membangun alur yang sama di dalam perkakas computer use, versi Skills API kira-kira seperduapuluh dari kode. Computer use sekarang mendukung turn multi-aksi (satu panggilan model bisa menggerakkan beberapa klik dan pengetikan), dan browser use tool membaca struktur halaman, bukan hanya piksel. Keduanya hebat untuk tugas yang tidak punya API. ThreadGrab punya API, jadi jalur Skills menang dari sisi biaya token, latensi, dan keandalan.
Lay out direktori Skill
Dokumentasi Skills Anthropic eksplisit soal lay out. Setiap Skill adalah direktori dengan file SKILL.md di akar. SKILL.md memuat frontmatter YAML yang menamai Skill dan memberi tahu Claude kapan harus memuatnya, plus body markdown yang memuat pengetahuan prosedural sebenarnya — alur, skrip, jebakan. File opsional (skema, template, input contoh) ditempatkan di samping SKILL.md dan dimuat sesuai permintaan ketika SKILL.md merujuknya. Body SKILL.md hanya masuk ke jendela konteks ketika Claude memutuskan Skill cocok dengan tugas pengguna; sisa file tetap di disk dan berharga nol token sampai dirujuk.
Untuk Skill arsip ThreadGrab, frontmatter butuh tiga informasi: name, description (yang berfungsi ganda sebagai pemicu — “pakai ini ketika pengguna meminta arsip X, jumlah pengikut, bio, post terbaru dari akun, atau referensi apa pun ke @username”), dan config opsional apa pun. Kerangka kerja yang berfungsi terlihat seperti ini:
threadgrab-archive/
└── SKILL.md
└── scripts/
└── fetch_profile.py
Aturan name Anthropic singkat: hanya huruf kecil, angka, dan tanda hubung, maksimal 64 karakter, tanpa tag XML, tanpa kata yang dicadangkan (anthropic, claude). description maksimal 1.024 karakter dan tidak boleh memuat tag XML. Keduanya divalidasi pada unggahan, jadi nilai yang cacat bentuk akan mengembalikan 4xx sebelum Skill dibuat. Dokumentasi memperingatkan bahwa description adalah yang dipakai model untuk memutuskan apakah memuat Skill Anda, jadi jelaskan kapan itu berlaku.
SKILL.md — body yang dimuat Claude
Body adalah markdown polos dan terbaca seperti dokumen prosedur. Untuk arsip ThreadGrab, body harus memberi tahu model cara memvalidasi username, apa yang dilakukan saat kesalahan rate limit mengembalikan 429, dan cara memaparkan JSON yang disimpan ke pengguna. Kerangka di bawah ini adalah versi ringkas dan berfungsi — Skill yang sebenarnya bisa tumbuh dengan lebih banyak jebakan seiring Anda menemukannya:
---
name: threadgrab-archive
description: Arsipkan profil X (Twitter) sebagai JSON terstruktur lewat API
ThreadGrab. Gunakan ketika pengguna meminta arsip X, jumlah pengikut,
bio, post terbaru dari akun, atau referensi apa pun ke @username. Terpicu
oleh frasa seperti "arsipkan @handle", "ambil data
profil", "bandingkan akun X". Jangan gunakan untuk
Threads (Meta) atau Bluesky.
---
# threadgrab-archive
## Kapan memuat saya
Muat Skill ini setiap kali pengguna bertanya tentang akun X / Twitter
(@username) dan meminta data profil, jumlah pengikut,
post terbaru, atau arsip yang bisa diunduh. Jangan muat saya untuk
Threads (Meta), Bluesky, atau LinkedIn — itu permukaan yang
berbeda.
## Input
- username: handle X tanpa awalan @. Harus
cocok dengan /^[a-zA-Z0-9._]{1,30}$/.
## Endpoint
GET https://threadgrab.com/api/profile/{username}
- Tidak perlu autentikasi.
- Batas rate: 10 permintaan per menit per IP klien. Jika Anda mendapat
HTTP 429, tunggu 60 detik dan coba lagi.
- Validasi username berjalan di sisi server; username yang tidak valid
mengembalikan HTTP 400 dengan
{"error": "Invalid username"}.
## Output
Respons berupa objek JSON berisi profil pengguna X: id, handle, nama
tampilan, bio, jumlah pengikut, jumlah yang diikuti, jumlah post, status
verifikasi, URL foto profil, dan post terbaru (jika upstream
memekarkannya).
## Prosedur
1. Buang awalan @ dari username.
2. Validasi terhadap /^[a-zA-Z0-9._]{1,30}$/. Jika tidak
valid, minta handle yang benar dari pengguna.
3. Panggil endpoint dengan timeout 15 detik.
4. Pada 200, simpan body respons lewat Files API dan kembalikan
file_id yang dihasilkan sebagai paket Markdown yang bisa
diunduh.
5. Pada 429, tidur 60 detik dan coba satu kali.
6. Pada 404, beri tahu pengguna handle tersebut tidak resolve.
7. Jangan pernah mengarang field. Jika respons tidak memuat
follower_count, jangan mengira-ngira.
scripts/fetch_profile.py — pembantu yang dijalankan Claude
Skrip ditempatkan di samping SKILL.md dan dimuat sesuai permintaan hanya ketika SKILL.md menyuruh Claude menggunakannya. Karena Skill di Claude API berjalan di container terisolasi tanpa akses jaringan, Anda tidak bisa pip install saat runtime — skrip harus memakai paket yang sudah dimiliki sandbox code execution. Untuk klien HTTPS tipis, itu berarti pustaka standar:
# scripts/fetch_profile.py
# Dimuat sesuai permintaan oleh SKILL.md; tanpa paket jaringan untuk dipasang.
import json
import sys
import urllib.request
import urllib.error
BASE = "https://threadgrab.com/api/profile/"
def fetch(username: str, timeout: int = 15) -> dict:
url = BASE + username
req = urllib.request.Request(url, headers={"User-Agent": "claude-skill/1.0"})
try:
with urllib.request.urlopen(req, timeout=timeout) as resp:
return {"status": resp.status, "body": json.loads(resp.read())}
except urllib.error.HTTPError as e:
return {"status": e.code, "error": e.reason}
except urllib.error.URLError as e:
return {"status": 0, "error": str(e.reason)}
if __name__ == "__main__":
user = sys.argv[1].lstrip("@")
print(json.dumps(fetch(user), indent=2))
Ketika Claude memuat Skill dan memutuskan menjalankan pembantu, ia mengeluarkan bash: python scripts/fetch_profile.py naval — hanya output skrip yang masuk ke jendela konteks. Kode skrip itu sendiri tidak pernah masuk, yang merupakan klaim efisiensi utama arsitektur: sebuah Skill bisa mengirim puluhan file referensi dan biayanya tetap terbatas pada apa yang benar-benar dibaca tugas.
Mengunggah dan memversi-pinning Skill
Setelah direktori dibangun, unggah lewat Skills API. Endpoint menerima multipart form-data, dengan semua file dalam satu direktori tingkat atas dan SKILL.md di akar. Referensi API Anthropic menunjukkan bentuknya:
curl https://api.anthropic.com/v1/skills \
-H 'Content-Type: multipart/form-data' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-F files='["SKILL.md", "scripts/fetch_profile.py"]'
Respons memuat objek Skill dengan id (formatnya skill_01AbCdEfGhIjKlMnOpQrStUv) dan latest_version_id. Unggahan berikutnya membuat versi baru; API memungkinkan Anda memversi-pin panggilan /v1/messages ke versi tertentu atau default ke latest. Pembuatan versi adalah yang membuat Skill siap-produksi — Anda bisa menggulirkan Skill ke depan, lalu memversi-pin sebuah alur ke versi lama kalau versi baru regresi, tanpa menulis ulang kode pemanggil.
Untuk menempelkan Skill ke permintaan, tambahkan skill_id ke array container.skills dan pasangkan dengan alat code execution. Hingga 20 Skill bisa menumpang pada satu permintaan, yang merupakan batas yang didokumentasikan:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
container={
"skills": [
{
"type": "custom",
"skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
"version": "latest",
}
]
},
messages=[
{
"role": "user",
"content": (
"Arsipkan @threadgrab sebagai Markdown. Simpan JSON profil lengkapnya "
"dan rangkum bio dalam tiga poin."
),
}
],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
Obyek container pada respons memuat id dan timestamp expires_at; gunakan ulang container yang sama di pesan berikutnya untuk menjaga Skill tetap termuat dan sandbox code execution tetap hangat. File yang ditulis Skill (JSON profil yang disimpan, rangkuman Markdown) kembali sebagai atribut file_id di dalam blok bash_code_execution_tool_result — unduh lewat Files API dan sajikan ke pengguna.
Di mana Skill bisa dan tidak bisa berjalan
Skills API punya tiga permukaan, dan mereka tidak berbagi state:
- Claude API — satu workspace penuh. Setiap anggota workspace Anda bisa memanggil Skill yang Anda unggah. Skill berjalan di container terisolasi dengan tanpa akses jaringan dan tanpa pemasangan paket saat runtime. Rencanakan accordingly: kemas semua yang Skill Anda butuhkan ke dalam unggahan.
- Claude Code — berbasis filesystem. Skill hidup di
~/.claude/skills/(pribadi) atau.claude/skills/(proyek). Punya akses jaringan penuh dan bisa memasang paket, tapi hanya secara lokal — Anthropic secara eksplisit memperingatkan terhadap pemasangan paket global. - claude.ai — per pengguna. Anda mengunggah Skill sebagai file zip lewat Settings > Features, dan tersedia di paket Pro, Max, Team, dan Enterprise. Tidak dibagikan ke seluruh organisasi dan tidak bisa diatur secara terpusat oleh admin.
Untuk Skill arsip ThreadGrab yang Anda maksudkan untuk dibagi dengan tim, Claude API adalah permukaan paling berguna: satu workspace, dikontrol versi, dan bisa diaudit. Untuk kerja solo di terminal Anda sendiri, Claude Code dengan Skill lokal lebih cepat untuk iterasi. Kedua jalur memakai lay out SKILL.md yang sama, jadi Skill yang ditulis sekali bekerja di kedua tempat — dokumentasi secara eksplisit menyatakan bahwa Skill yang diunggah ke satu permukaan tidak otomatis tersedia di permukaan lain, jadi rencanakan untuk mengunggah terpisah kalau Anda ingin di semua tempat.
Pertimbangan keamanan sebelum diterbitkan
Skill memberi Claude kemampuan baru lewat instruksi dan kode, yang juga berarti Skill yang berbahaya atau terkompromi bisa mengarahkan Claude untuk memakai alat atau mengeksekusi kode dengan cara yang tidak sesuai dengan tujuan yang dinyatakan. Dokumentasi mendaftar empat risiko yang layak ditelaah sebelum Skill mana pun masuk produksi:
- Audit secara menyeluruh. Tinjau setiap file di Skill:
SKILL.md, skrip, template, skema. Anthropic menunjuk panggilan jaringan yang tak terduga, pola akses file yang tak biasa, dan operasi yang tidak sesuai dengan tujuan Skill yang dinyatakan. - Sumber eksternal berisiko. Skill yang mengambil data dari URL eksternal membawa risiko khusus, karena konten yang diambil bisa memuat instruksi berbahaya. Endpoint ThreadGrab mengembalikan JSON — bukan HTML — jadi permukaan prompt injection jauh lebih kecil dibanding Skill yang meng-scrape halaman web.
- Penyalahgunaan alat. Skill dengan alat bash, file, atau code execution bisa diarahkan untuk melakukan hal lain. Pasangkan Skill dengan alat paling kecil yang benar-benar dibutuhkan.
- Paparan data. Skill bisa membaca dokumen di workspace Anda. Untuk organisasi enterprise, Anthropic menawarkan pemindaian konten Skill untuk unggahan lewat
claude.aidan Claude Cowork — tapi tidak untuk Skill yang diunggah lewat API.
Post peluncuran Skill memuat kalimat yang mengungkap: “anggap seperti memasang perangkat lunak.” Untuk Skill arsip ThreadGrab yang berjalan di container terisolasi tanpa akses jaringan, permukaannya kecil — tapi kalau Anda menambahkan Skill ke alur yang sudah menangani dokumen sensitif, pekerjaan audit berskala dengan apa yang bisa dijangkau Skill.
Bagaimana ThreadGrab muat di tumpukan agen yang lebih luas
ThreadGrab adalah endpoint arsip read-only. ThreadGrab tidak menulis ke X, tidak memerlukan OAuth, dan mengekspos satu bentuk JSON per panggilan. Itu menjadikannya blok alami untuk Skill, server MCP, dan harness agen hosted yang butuh data sosial tanpa overhead compliance memegang token pengguna. Endpoint yang sama menggerakkan aplikasi web publik ThreadGrab — pelengkap read-side dari X MCP hosted yang baru, yang kami liput di awal bulan ini untuk otomatisasi write-side.
Kalau Anda membangun agen berbasis Skill yang menyentuh X, pola praktisnya: ThreadGrab untuk arsip read-side (Skill ini), X MCP hosted untuk otomatisasi write-side (permukaan terpisah), dan Files API untuk menyerahkan artefak kembali ke pengguna. Ketiganya menyusun diri dalam satu panggilan /v1/messages — Skill dan alat code execution menumpang di blok container, MCP hosted menumpang di mcp_servers, dan Files API memunculkan JSON yang disimpan.
ThreadGrab adalah pelengkap read-side dari Skills API baru Claude. Satu panggilan HTTPS mengembalikan JSON profil X terstruktur untuk username publik apa pun — tanpa auth, tanpa OAuth, tanpa kode perekat per prompt.
Coba ThreadGrab GratisFAQ
Skills API Anthropic, tersedia secara umum sejak 20 Agustus 2026, memungkinkan Anda mengunggah direktori berisi instruksi, skrip, dan template, lalu menempelkannya ke panggilan /v1/messages mana pun. Claude memuat SKILL.md hanya ketika tugas cocok dengan description Skill, dan menjalankan sisa paket di dalam sandbox code execution.
Tiga tempat, yang tidak satu pun berbagi state satu sama lain: Claude API (satu workspace, container terisolasi, tanpa akses jaringan, tanpa pemasangan paket saat runtime), Claude Code (berbasis filesystem, akses jaringan penuh, paket dipasang hanya secara lokal), dan claude.ai (unggahan zip per pengguna, tersedia di paket Pro, Max, Team, Enterprise). Anda mengunggah terpisah ke setiap permukaan yang Anda inginkan.
Dua alasan. Pertama, kontrol versi — API memungkinkan Anda memversi-pin Skill ke version tertentu, jadi alur bisa bergulir maju tanpa merusak pemanggil yang bergantung pada perilaku lama. Kedua, kemampuan berbagi — unggah Skill sekali, tempelkan ke permintaan mana pun via container.skills, dan setiap anggota workspace bisa menggunakan alur arsip yang sama tanpa menulis ulang panggilan HTTPS. Bandingkan dengan membangun panggilan tangan di setiap prompt.
Hingga 20 Skill per permintaan. Setiap Skill menyumbang SKILL.md yang description-nya masuk ke system prompt, jadi 20 juga merupakan batas praktis anggaran panjang deskripsi. Dokumentasi Anthropic menyarankan untuk menggabungkan prosedur terkait ke dalam satu Skill, bukan membaginya ke banyak Skill kecil.
Ya. Skills API menjadi tersedia secara umum pada 20 Agustus 2026, bersama alat computer use yang diperbarui (sekarang multi-aksi per turn), browser-use tool baru yang membaca struktur halaman, bukan piksel, dan Files API dengan batas rate 5× lebih tinggi dan 1 TB penyimpanan per organisasi. Computer use juga memenuhi syarat HIPAA di bawah BAA Anthropic sejak peluncuran yang sama.
Tergantung permukaan tempat Skill berjalan. Di Claude API, container terisolasi menangkap sebagian besar kesalahan dan mengembalikan exit non-nol; bash_code_execution_tool_result Claude memaparkan kegagalan ke model pemanggil. Endpoint profil ThreadGrab mengembalikan HTTP 429 saat IP melebihi 10 permintaan per menit — Skill yang mencoba lagi dengan tidur 60 detik menanganinya dengan elegan.
Hanya di Claude API, dan hanya di dalam workspace yang mengunggahnya. Skill claude.ai adalah per pengguna — setiap anggota tim mengunggah salinannya sendiri. Skill Claude Code bersifat pribadi (~/.claude/skills/) atau tercakup pada proyek (.claude/skills/), dengan pembagian lewat Plugin Claude Code. Tidak satu pun dari ketiga permukaan menyinkronkan Skill secara otomatis.