Tutorial ini menunjukkan kepada Anda cara menggunakan Agent Skills untuk membuat presentasi PowerPoint. Anda akan belajar cara mengaktifkan Skills, membuat permintaan sederhana, dan mengakses file yang dihasilkan.

Prasyarat

  • Kunci API Anthropic
  • Python 3.7+ atau curl terinstal
  • Keakraban dasar dengan membuat permintaan API

Apa itu Agent Skills?

Agent Skills yang telah dibangun sebelumnya memperluas kemampuan Claude dengan keahlian khusus untuk tugas-tugas seperti membuat dokumen, menganalisis data, dan memproses file. Anthropic menyediakan Agent Skills yang telah dibangun sebelumnya berikut ini di API:
  • PowerPoint (pptx): Buat dan edit presentasi
  • Excel (xlsx): Buat dan analisis spreadsheet
  • Word (docx): Buat dan edit dokumen
  • PDF (pdf): Hasilkan dokumen PDF
Ingin membuat Skills khusus? Lihat Agent Skills Cookbook untuk contoh membangun Skills Anda sendiri dengan keahlian khusus domain.

Langkah 1: Daftar Skills yang tersedia

Pertama, mari kita lihat Skills apa yang tersedia. Kami akan menggunakan Skills API untuk mendaftar semua Skills yang dikelola Anthropic:
import anthropic

client = anthropic.Anthropic()

# List Anthropic-managed Skills
skills = client.beta.skills.list(
    source="anthropic",
    betas=["skills-2025-10-02"]
)

for skill in skills.data:
    print(f"{skill.id}: {skill.display_title}")
Anda melihat Skills berikut: pptx, xlsx, docx, dan pdf. API ini mengembalikan metadata setiap Skill: nama dan deskripsinya. Claude memuat metadata ini saat startup untuk mengetahui Skills apa yang tersedia. Ini adalah tingkat pertama progressive disclosure, di mana Claude menemukan Skills tanpa memuat instruksi lengkap mereka terlebih dahulu.

Langkah 2: Buat presentasi

Sekarang kami akan menggunakan PowerPoint Skill untuk membuat presentasi tentang energi terbarukan. Kami menentukan Skills menggunakan parameter container di Messages API:
import anthropic

client = anthropic.Anthropic()

# Create a message with the PowerPoint Skill
response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "pptx",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "Create a presentation about renewable energy with 5 slides"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

print(response.content)
Mari kita uraikan apa yang dilakukan setiap bagian:
  • container.skills: Menentukan Skills mana yang dapat digunakan Claude
  • type: "anthropic": Menunjukkan ini adalah Skill yang dikelola Anthropic
  • skill_id: "pptx": Pengenal PowerPoint Skill
  • version: "latest": Versi Skill diatur ke yang paling baru dipublikasikan
  • tools: Mengaktifkan eksekusi kode (diperlukan untuk Skills)
  • Header Beta: code-execution-2025-08-25 dan skills-2025-10-02
Ketika Anda membuat permintaan ini, Claude secara otomatis mencocokkan tugas Anda dengan Skill yang relevan. Karena Anda meminta presentasi, Claude menentukan bahwa PowerPoint Skill relevan dan memuat instruksi lengkapnya: tingkat kedua progressive disclosure. Kemudian Claude mengeksekusi kode Skill untuk membuat presentasi Anda.

Langkah 3: Unduh file yang dibuat

Presentasi dibuat dalam wadah eksekusi kode dan disimpan sebagai file. Respons mencakup referensi file dengan ID file. Ekstrak ID file dan unduh menggunakan Files API:
# Extract file ID from response
file_id = None
for block in response.content:
    if block.type == 'tool_use' and block.name == 'code_execution':
        # File ID is in the tool result
        for result_block in block.content:
            if hasattr(result_block, 'file_id'):
                file_id = result_block.file_id
                break

if file_id:
    # Download the file
    file_content = client.beta.files.download(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )

    # Save to disk
    with open("renewable_energy.pptx", "wb") as f:
        file_content.write_to_file(f.name)

    print(f"Presentation saved to renewable_energy.pptx")
Untuk detail lengkap tentang bekerja dengan file yang dihasilkan, lihat dokumentasi alat eksekusi kode.

Coba lebih banyak contoh

Sekarang setelah Anda membuat dokumen pertama Anda dengan Skills, coba variasi ini:

Buat spreadsheet

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "xlsx",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "Create a quarterly sales tracking spreadsheet with sample data"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

Buat dokumen Word

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "docx",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "Write a 2-page report on the benefits of renewable energy"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

Hasilkan PDF

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "pdf",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "Generate a PDF invoice template"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

Langkah berikutnya

Sekarang setelah Anda menggunakan Agent Skills yang telah dibangun sebelumnya, Anda dapat: