DEV Community

Cover image for Claude Skills API Resmi GA: Apa yang Berubah dan Cara Menggunakannya
Walse
Walse

Posted on Originally published at apidog.com

Claude Skills API Resmi GA: Apa yang Berubah dan Cara Menggunakannya

Claude Skills API tersedia secara umum mulai 20 Agustus 2026. Anda kini dapat membuat, membuat versi, dan mengelola skill kustom melalui https://api.anthropic.com/v1/skills dengan header standar—tanpa flag beta—lalu menjalankannya dalam sandbox kode Claude tanpa menghosting infrastruktur sendiri. Dalam pengumuman GA, Anthropic menempatkan Skills API bersama computer use, alat browser, dan Files API sebagai fondasi produksi untuk membangun agen di Claude Platform.

Coba Apidog hari ini

Jika konsep skill masih baru, baca panduan Claude Skills terlebih dahulu. Artikel ini berfokus pada implementasi API: endpoint, versioning, cara memuat skill ke Messages API, serta hal-hal penting seperti snapshot versioning dan isolasi workspace. Karena seluruh alurnya berbasis HTTP, Anda dapat menyimpan dan menguji setiap request di Apidog.

Penyegaran 30 detik: apa itu skill?

Skill adalah folder yang berisi:

  • SKILL.md di level teratas, termasuk frontmatter YAML.
  • Skrip, template, dan file referensi yang dibutuhkan skill.
  • Instruksi yang dimuat Claude hanya ketika relevan dengan permintaan pengguna.

Ketika sebuah request memuat skill, Claude menjalankan skrip yang dibundel di lingkungan code-execution sandbox.

Contoh struktur minimal:

brand-report/
├── SKILL.md
├── templates/
│   └── report.html
└── scripts/
    └── build_report.py
Enter fullscreen mode Exit fullscreen mode

SKILL.md harus memiliki frontmatter yang valid:

---
name: brand-report
description: "Generates the weekly brand performance report as a formatted HTML document from a CSV of metrics. Use when asked for a brand report, weekly summary deck, or performance writeup."
---
Enter fullscreen mode Exit fullscreen mode

Aturan validasi yang perlu diperhatikan:

  • name maksimal 64 karakter dan hanya boleh memakai huruf kecil, angka, serta tanda hubung.
  • name tidak boleh mengandung tag XML atau kata yang dicadangkan seperti anthropic dan claude.
  • description wajib diisi dan maksimal 1.024 karakter.
  • display_name bersifat opsional, lebih ramah dibaca manusia, dan maksimal 255 karakter.
  • Total file yang diunggah harus kurang dari 30 MB sebelum kompresi.

Ada dua jenis skill:

Jenis Contoh Kepemilikan
anthropic pptx, xlsx, docx, pdf Dikelola Anthropic
custom skill_01AbCdEfGhIjKlMnOpQrStUv Dibuat dan dimiliki workspace Anda

Skill Anthropic menggunakan versi berbasis tanggal, misalnya 20251013. Skill kustom menggunakan ID skill dan ID versi seperti skver_*.

Apa yang berubah pada GA?

Mulai 20 Agustus 2026, ada tiga perubahan utama:

  1. Tidak memerlukan header beta

    Skills API dapat digunakan dengan x-api-key dan anthropic-version: 2023-06-01.

  2. Upload dan versioning lebih sederhana

    Skill kustom dapat diunggah dan diberi versi melalui endpoint khusus. Setiap versi adalah resource terpisah.

  3. Tersedia di lebih banyak platform

    Skills API tersedia melalui Claude API dan Microsoft Foundry. Eksekusi skill tetap berjalan dalam sandbox yang dikelola Claude.

Skills juga terhubung langsung dengan Files API. Jika skill menghasilkan presentasi, spreadsheet, atau dokumen, hasilnya dikembalikan sebagai file yang dapat diambil melalui Files API.

Endpoint yang perlu Anda simpan

Semua endpoint berada di bawah /v1/skills.

Operasi Endpoint
Buat skill POST /v1/skills
Daftar skill GET /v1/skills
Ambil detail skill GET /v1/skills/{skill_id}
Hapus skill DELETE /v1/skills/{skill_id}
Buat versi baru POST /v1/skills/{skill_id}/versions
Daftar versi GET /v1/skills/{skill_id}/versions

Untuk workflow tim, buat satu folder request di Apidog yang berisi keenam endpoint tersebut. Simpan {{skill_id}} dan {{skill_version}} sebagai environment variable agar perpindahan antara development dan production cukup dilakukan dengan mengganti environment, bukan mengedit request.

Mengunggah skill kustom

Skill kustom diunggah sebagai multipart form data. Misalnya, untuk folder brand-report/:

curl -X POST https://api.anthropic.com/v1/skills \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -F 'files[]=@brand-report/SKILL.md;filename=brand-report/SKILL.md' \
  -F 'files[]=@brand-report/templates/report.html;filename=brand-report/templates/report.html' \
  -F 'files[]=@brand-report/scripts/build_report.py;filename=brand-report/scripts/build_report.py'
Enter fullscreen mode Exit fullscreen mode

Respons akan mengembalikan:

  • skill_id untuk memuat skill dalam request Messages.
  • ID versi awal skver_* untuk pinning dan rollback.

Simpan keduanya di environment Anda. Verifikasi nama field multipart terhadap referensi Skills API, terutama jika Anda memakai SDK karena helper SDK dapat membungkus request HTTP secara berbeda.

Tulis description sebagai aturan routing

Claude menggunakan description untuk menentukan apakah sebuah skill relevan. Karena itu, jangan menulis deskripsi seperti teks pemasaran.

Kurang baik:

description: A powerful reporting skill.
Enter fullscreen mode Exit fullscreen mode

Lebih baik:

description: Generates weekly brand-performance reports from CSV metrics. Use for requests about brand reports, weekly summaries, performance writeups, and reporting decks.
Enter fullscreen mode Exit fullscreen mode

Sertakan istilah yang benar-benar digunakan pengguna agar skill lebih mudah dipilih.

Memuat skill dalam request Messages

Skill berjalan melalui alat code execution. Karena itu, deklarasikan container.skills dan aktifkan tool code_execution.

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"},
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            },
        ]
    },
    messages=[
        {
            "role": "user",
            "content": "Build the Q3 revenue deck from the attached numbers",
        }
    ],
    tools=[
        {
            "type": "code_execution_20250825",
            "name": "code_execution",
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

Perhatikan aturan berikut:

  • Aktifkan code execution. Skill dieksekusi di sandbox tersebut. Periksa kompatibilitas model untuk code execution.
  • Maksimal 20 skill per request. Claude membaca deskripsi setiap skill dan hanya memuat skill yang diperlukan.
  • Pilih strategi version pinning. Gunakan "latest" saat development untuk menguji versi terbaru. Gunakan ID skver_* di production untuk membekukan perilaku.

Contoh production dengan versi yang dipin:

container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "skver_01XyZaBcDeFgHiJkLmNoPqRs",
        }
    ]
}
Enter fullscreen mode Exit fullscreen mode

Ambil file hasil skill melalui Files API

Jika skill menghasilkan dokumen, responsnya akan menyertakan file_id. Ambil konten file dengan:

GET /v1/files/{file_id}/content
Enter fullscreen mode Exit fullscreen mode

Alur produksinya menjadi:

  1. Kirim request Messages dengan container.skills.
  2. Skill menghasilkan file.
  3. Ambil file_id dari respons.
  4. Unduh konten melalui Files API.
  5. Simpan, kirim, atau proses file di aplikasi Anda.

Skills API menghasilkan file; Files API mengambil hasilnya.

Versioning: snapshot, bukan diff

Kesalahan umum saat pertama kali menggunakan Skills API adalah menganggap versi baru hanya perlu mengunggah file yang berubah. Itu tidak benar.

Saat memanggil:

POST /v1/skills/{skill_id}/versions
Enter fullscreen mode Exit fullscreen mode

Anda harus mengunggah ulang seluruh kumpulan file skill. File yang tidak disertakan tidak akan diwariskan dari versi sebelumnya.

Selain itu, nilai name di SKILL.md versi baru harus tetap sama dengan nama skill yang sudah ada.

Praktik yang disarankan:

  1. Simpan source skill di repository.
  2. Validasi struktur dan ukuran file di CI.
  3. Bungkus seluruh folder skill saat membuat versi.
  4. Simpan ID skver_* hasil deploy.
  5. Pin versi tersebut di production.
  6. Rollback dengan mengganti satu ID versi jika terjadi insiden.

Dengan pendekatan ini, skill diperlakukan seperti artefak deployable lainnya.

Isolasi workspace untuk aplikasi multi-tenant

Skill kustom dapat diakses oleh seluruh workspace. Skill tidak dibatasi per pengguna akhir, percakapan, atau sesi. Semua API key dalam workspace yang sama dapat mengakses skill tersebut.

Untuk produk multi-tenant, jangan menaruh skill milik semua tenant dalam satu workspace. Itu berisiko membuka akses data lintas tenant.

Gunakan satu workspace per tenant:

Tenant A → Workspace A → API key, Files, Skills A
Tenant B → Workspace B → API key, Files, Skills B
Enter fullscreen mode Exit fullscreen mode

Workspace adalah batas isolasi untuk key, file, dan skill. Setiap organisasi dapat memiliki hingga 100 workspace sebelum perlu berbicara dengan tim akun.

Menangani eksekusi panjang dengan pause_turn

Eksekusi skill dapat berlangsung lebih dari satu giliran model. Gunakan pause_turn untuk melanjutkan proses dari sandbox yang sama.

Jika respons berhenti dengan:

{
  "stop_reason": "pause_turn"
}
Enter fullscreen mode Exit fullscreen mode

Lakukan langkah berikut:

  1. Tambahkan konten respons asisten ke riwayat percakapan.
  2. Gunakan kembali container.id dari respons sebelumnya.
  3. Kirim request Messages berikutnya.

Konsepnya:

next_response = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    container={
        "id": previous_response.container.id,
    },
    messages=conversation_history,
    tools=[
        {
            "type": "code_execution_20250825",
            "name": "code_execution",
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

Penggunaan ulang container mempertahankan file yang terinstal dan state sandbox di seluruh percakapan. Sebagai contoh, skill dapat membuat spreadsheet pada giliran pertama lalu memperbaruinya pada giliran ketiga tanpa membangun ulang file dari awal.

Ini cocok dijadikan skenario regression test:

  1. Request pertama memverifikasi stop_reason.
  2. Script test menyimpan container.id.
  3. Request berikutnya menggunakan kembali container.id.
  4. Test terakhir memastikan file_id berhasil diunduh.

Anda dapat menjalankan skenario tersebut di CI menggunakan Apidog CLI. Untuk perbandingan dengan integrasi vendor lain, lihat ulasan skill Claude Postman.

Tempat skill dijalankan

Pada GA, Skills API tersedia melalui Claude API dan Microsoft Foundry. Namun, skill tetap berjalan di sandbox Anthropic.

Artinya, deployment skill hanya berupa upload. Anda tidak perlu mengelola:

  • Image container.
  • Runtime patching.
  • Autoscaling.
  • Infrastruktur sandbox.

Tetap perhatikan kompatibilitas model dengan code execution. Contoh dalam artikel ini menggunakan claude-opus-5. Jika Anda baru mulai menggunakan model tersebut, baca panduan Claude Opus 5 API.

FAQ

Apakah saya masih memerlukan header beta untuk Skills API?

Tidak. Sejak 20 Agustus 2026, /v1/skills dan container.skills dapat digunakan dengan header standar Claude API. Hapus flag beta yang sebelumnya tertanam saat Anda memperbarui SDK.

Dapatkah skill memanggil API eksternal?

Skill berjalan dalam sandbox code execution dengan batasan jaringan dari tool tersebut. Bundel dependensi yang diperlukan ke dalam folder skill dan tempatkan logika pemanggilan API eksternal di lapisan aplikasi Anda, tempat logika tersebut dapat diuji dan dikendalikan dengan lebih baik.

Berapa banyak skill yang dapat dimuat dalam satu request?

Maksimal 20 skill. Karena Claude menggunakan description untuk memilih skill, tulis deskripsi sebagai aturan routing, bukan sebagai copy pemasaran.

Apa bedanya dengan skill Claude Code?

Konsepnya sama, tetapi runtime-nya berbeda. Claude Code menemukan folder skill dari file system lokal, sedangkan Skills API menghosting skill di sisi server dan memberi Anda versioning untuk request Messages API.

Format folder dan frontmatter SKILL.md tetap sama, sehingga skill yang dibuat untuk Claude Code biasanya dapat dipindahkan dengan sedikit perubahan.

Ringkasan

Skills API GA menjadikan skill sebagai bagian operasional dari aplikasi agen: enam endpoint, versioning berbasis snapshot, isolasi workspace, dan integrasi dengan Files API untuk output.

Agar siap digunakan di production:

  1. Simpan source skill di repository.
  2. Unggah seluruh folder untuk setiap versi.
  3. Pin skver_* di production.
  4. Gunakan "latest" hanya untuk development.
  5. Pisahkan workspace untuk setiap tenant.
  6. Uji pause_turn, reuse container, dan unduhan file secara otomatis.

Modelkan keenam endpoint di Apidog, hubungkan upgrade skill ke skenario test CI, dan deteksi regresi sebelum generator dokumen Anda sampai ke pengguna. Unduh Apidog secara gratis untuk mulai membangun harness pengujian Anda.

Top comments (0)