Panduan ini menunjukkan cara membuat, menggunakan, dan mengelola Agent Skills di Claude Code. Skills adalah kemampuan modular yang memperluas fungsionalitas Claude melalui folder terorganisir yang berisi instruksi, skrip, dan sumber daya.

Prasyarat

  • Claude Code versi 1.0 atau yang lebih baru
  • Keakraban dasar dengan Claude Code

Apa itu Agent Skills?

Agent Skills mengemas keahlian menjadi kemampuan yang dapat ditemukan. Setiap Skill terdiri dari file SKILL.md dengan instruksi yang dibaca Claude saat relevan, ditambah file pendukung opsional seperti skrip dan template. Cara Skills dipanggil: Skills adalah model-invoked—Claude secara otonom memutuskan kapan menggunakannya berdasarkan permintaan Anda dan deskripsi Skill. Ini berbeda dari slash commands, yang user-invoked (Anda secara eksplisit mengetik /command untuk memicunya). Manfaat:
  • Memperluas kemampuan Claude untuk alur kerja spesifik Anda
  • Berbagi keahlian di seluruh tim Anda melalui git
  • Mengurangi prompting berulang
  • Menggabungkan beberapa Skills untuk tugas kompleks
Pelajari lebih lanjut di Ikhtisar Agent Skills.
Untuk pendalaman mendalam tentang arsitektur dan aplikasi dunia nyata dari Agent Skills, baca blog engineering kami: Equipping agents for the real world with Agent Skills.

Membuat Skill

Skills disimpan sebagai direktori yang berisi file SKILL.md.

Personal Skills

Personal Skills tersedia di semua proyek Anda. Simpan di ~/.claude/skills/:
mkdir -p ~/.claude/skills/my-skill-name
Gunakan personal Skills untuk:
  • Alur kerja dan preferensi individu Anda
  • Skills eksperimental yang sedang Anda kembangkan
  • Alat produktivitas pribadi

Project Skills

Project Skills dibagikan dengan tim Anda. Simpan di .claude/skills/ dalam proyek Anda:
mkdir -p .claude/skills/my-skill-name
Gunakan project Skills untuk:
  • Alur kerja dan konvensi tim
  • Keahlian spesifik proyek
  • Utilitas dan skrip bersama
Project Skills di-check in ke git dan otomatis tersedia untuk anggota tim.

Plugin Skills

Skills juga dapat berasal dari plugin Claude Code. Plugin dapat menggabungkan Skills yang otomatis tersedia saat plugin diinstal. Skills ini bekerja dengan cara yang sama seperti personal dan project Skills. Buat file SKILL.md dengan frontmatter YAML dan konten Markdown:
---
name: Your Skill Name
description: Brief description of what this Skill does and when to use it
---

# Your Skill Name

## Instructions
Provide clear, step-by-step guidance for Claude.

## Examples
Show concrete examples of using this Skill.
Field description sangat penting bagi Claude untuk menemukan kapan menggunakan Skill Anda. Ini harus mencakup baik apa yang dilakukan Skill maupun kapan Claude harus menggunakannya. Lihat panduan praktik terbaik untuk panduan penulisan lengkap.

Menambahkan file pendukung

Buat file tambahan bersama SKILL.md:
my-skill/
├── SKILL.md (wajib)
├── reference.md (dokumentasi opsional)
├── examples.md (contoh opsional)
├── scripts/
│   └── helper.py (utilitas opsional)
└── templates/
    └── template.txt (template opsional)
Referensikan file-file ini dari SKILL.md:
Untuk penggunaan lanjutan, lihat [reference.md](reference.md).

Jalankan skrip helper:
```bash
python scripts/helper.py input.txt
```
Claude membaca file-file ini hanya saat diperlukan, menggunakan progressive disclosure untuk mengelola konteks secara efisien.

Membatasi akses tool dengan allowed-tools

Gunakan field frontmatter allowed-tools untuk membatasi tool mana yang dapat digunakan Claude saat Skill aktif:
---
name: Safe File Reader
description: Read files without making changes. Use when you need read-only file access.
allowed-tools: Read, Grep, Glob
---

# Safe File Reader

This Skill provides read-only file access.

## Instructions
1. Use Read to view file contents
2. Use Grep to search within files
3. Use Glob to find files by pattern
Saat Skill ini aktif, Claude hanya dapat menggunakan tool yang ditentukan (Read, Grep, Glob) tanpa perlu meminta izin. Ini berguna untuk:
  • Skills read-only yang tidak boleh memodifikasi file
  • Skills dengan cakupan terbatas (misalnya, hanya analisis data, tidak ada penulisan file)
  • Alur kerja sensitif keamanan di mana Anda ingin membatasi kemampuan
Jika allowed-tools tidak ditentukan, Claude akan meminta izin untuk menggunakan tool seperti biasa, mengikuti model izin standar.
allowed-tools hanya didukung untuk Skills di Claude Code.

Melihat Skills yang tersedia

Skills secara otomatis ditemukan oleh Claude dari tiga sumber:
  • Personal Skills: ~/.claude/skills/
  • Project Skills: .claude/skills/
  • Plugin Skills: digabungkan dengan plugin yang diinstal
Untuk melihat semua Skills yang tersedia, tanya Claude langsung:
What Skills are available?
atau
List all available Skills
Ini akan menampilkan semua Skills dari semua sumber, termasuk plugin Skills. Untuk memeriksa Skill tertentu, Anda juga dapat memeriksa filesystem:
# List personal Skills
ls ~/.claude/skills/

# List project Skills (jika dalam direktori proyek)
ls .claude/skills/

# Lihat konten Skill tertentu
cat ~/.claude/skills/my-skill/SKILL.md

Menguji Skill

Setelah membuat Skill, uji dengan mengajukan pertanyaan yang sesuai dengan deskripsi Anda. Contoh: Jika deskripsi Anda menyebutkan “file PDF”:
Can you help me extract text from this PDF?
Claude secara otonom memutuskan untuk menggunakan Skill Anda jika sesuai dengan permintaan—Anda tidak perlu secara eksplisit memanggilnya. Skill mengaktifkan secara otomatis berdasarkan konteks pertanyaan Anda.

Debug Skill

Jika Claude tidak menggunakan Skill Anda, periksa masalah umum ini:

Buat deskripsi spesifik

Terlalu samar:
description: Helps with documents
Spesifik:
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
Sertakan baik apa yang dilakukan Skill maupun kapan menggunakannya dalam deskripsi.

Verifikasi path file

Personal Skills: ~/.claude/skills/skill-name/SKILL.md Project Skills: .claude/skills/skill-name/SKILL.md Periksa file ada:
# Personal
ls ~/.claude/skills/my-skill/SKILL.md

# Project
ls .claude/skills/my-skill/SKILL.md

Periksa sintaks YAML

YAML yang tidak valid mencegah Skill dimuat. Verifikasi frontmatter:
cat SKILL.md | head -n 10
Pastikan:
  • Pembuka --- di baris 1
  • Penutup --- sebelum konten Markdown
  • Sintaks YAML yang valid (tidak ada tab, indentasi yang benar)

Lihat error

Jalankan Claude Code dengan mode debug untuk melihat error pemuatan Skill:
claude --debug

Berbagi Skills dengan tim Anda

Pendekatan yang direkomendasikan: Distribusikan Skills melalui plugin. Untuk berbagi Skills melalui plugin:
  1. Buat plugin dengan Skills di direktori skills/
  2. Tambahkan plugin ke marketplace
  3. Anggota tim menginstal plugin
Untuk instruksi lengkap, lihat Tambahkan Skills ke plugin Anda. Anda juga dapat berbagi Skills langsung melalui repositori proyek:

Langkah 1: Tambahkan Skill ke proyek Anda

Buat project Skill:
mkdir -p .claude/skills/team-skill
# Buat SKILL.md

Langkah 2: Commit ke git

git add .claude/skills/
git commit -m "Add team Skill for PDF processing"
git push

Langkah 3: Anggota tim mendapatkan Skills secara otomatis

Saat anggota tim menarik perubahan terbaru, Skills langsung tersedia:
git pull
claude  # Skills sekarang tersedia

Memperbarui Skill

Edit SKILL.md langsung:
# Personal Skill
code ~/.claude/skills/my-skill/SKILL.md

# Project Skill
code .claude/skills/my-skill/SKILL.md
Perubahan berlaku saat Anda memulai Claude Code berikutnya. Jika Claude Code sudah berjalan, restart untuk memuat pembaruan.

Menghapus Skill

Hapus direktori Skill:
# Personal
rm -rf ~/.claude/skills/my-skill

# Project
rm -rf .claude/skills/my-skill
git commit -m "Remove unused Skill"

Praktik terbaik

Jaga Skills tetap fokus

Satu Skill harus menangani satu kemampuan: Fokus:
  • “PDF form filling”
  • “Excel data analysis”
  • “Git commit messages”
Terlalu luas:
  • “Document processing” (pisahkan menjadi Skills terpisah)
  • “Data tools” (pisahkan berdasarkan jenis data atau operasi)

Tulis deskripsi yang jelas

Bantu Claude menemukan kapan menggunakan Skills dengan menyertakan pemicu spesifik dalam deskripsi Anda: Jelas:
description: Analyze Excel spreadsheets, create pivot tables, and generate charts. Use when working with Excel files, spreadsheets, or analyzing tabular data in .xlsx format.
Samar:
description: For files

Uji dengan tim Anda

Minta rekan tim menggunakan Skills dan memberikan umpan balik:
  • Apakah Skill mengaktifkan saat diharapkan?
  • Apakah instruksinya jelas?
  • Apakah ada contoh atau kasus edge yang hilang?

Dokumentasikan versi Skill

Anda dapat mendokumentasikan versi Skill dalam konten SKILL.md Anda untuk melacak perubahan dari waktu ke waktu. Tambahkan bagian riwayat versi:
# My Skill

## Version History
- v2.0.0 (2025-10-01): Breaking changes to API
- v1.1.0 (2025-09-15): Added new features
- v1.0.0 (2025-09-01): Initial release
Ini membantu anggota tim memahami apa yang berubah antar versi.

Troubleshooting

Claude tidak menggunakan Skill saya

Gejala: Anda mengajukan pertanyaan yang relevan tetapi Claude tidak menggunakan Skill Anda. Periksa: Apakah deskripsinya cukup spesifik? Deskripsi yang samar membuat penemuan sulit. Sertakan baik apa yang dilakukan Skill maupun kapan menggunakannya, dengan istilah kunci yang akan disebutkan pengguna. Terlalu generik:
description: Helps with data
Spesifik:
description: Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with Excel files, spreadsheets, or .xlsx files.
Periksa: Apakah YAML valid? Jalankan validasi untuk memeriksa error sintaks:
# Lihat frontmatter
cat .claude/skills/my-skill/SKILL.md | head -n 15

# Periksa masalah umum
# - Pembuka atau penutup --- yang hilang
# - Tab alih-alih spasi
# - String tanpa tanda kutip dengan karakter khusus
Periksa: Apakah Skill di lokasi yang benar?
# Personal Skills
ls ~/.claude/skills/*/SKILL.md

# Project Skills
ls .claude/skills/*/SKILL.md

Skill memiliki error

Gejala: Skill dimuat tetapi tidak bekerja dengan benar. Periksa: Apakah dependensi tersedia? Claude akan secara otomatis menginstal dependensi yang diperlukan (atau meminta izin untuk menginstalnya) saat membutuhkannya. Periksa: Apakah skrip memiliki izin eksekusi?
chmod +x .claude/skills/my-skill/scripts/*.py
Periksa: Apakah path file benar? Gunakan garis miring ke depan (gaya Unix) di semua path: Benar: scripts/helper.py Salah: scripts\helper.py (gaya Windows)

Beberapa Skills konflik

Gejala: Claude menggunakan Skill yang salah atau tampak bingung antara Skills yang serupa. Jadilah spesifik dalam deskripsi: Bantu Claude memilih Skill yang tepat dengan menggunakan istilah pemicu yang berbeda dalam deskripsi Anda. Alih-alih:
# Skill 1
description: For data analysis

# Skill 2
description: For analyzing data
Gunakan:
# Skill 1
description: Analyze sales data in Excel files and CRM exports. Use for sales reports, pipeline analysis, and revenue tracking.

# Skill 2
description: Analyze log files and system metrics data. Use for performance monitoring, debugging, and system diagnostics.

Contoh

Skill sederhana (file tunggal)

commit-helper/
└── SKILL.md
---
name: Generating Commit Messages
description: Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
---

# Generating Commit Messages

## Instructions

1. Run `git diff --staged` to see changes
2. I'll suggest a commit message with:
   - Summary under 50 characters
   - Detailed description
   - Affected components

## Best practices

- Use present tense
- Explain what and why, not how

Skill dengan izin tool

code-reviewer/
└── SKILL.md
---
name: Code Reviewer
description: Review code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
allowed-tools: Read, Grep, Glob
---

# Code Reviewer

## Review checklist

1. Code organization and structure
2. Error handling
3. Performance considerations
4. Security concerns
5. Test coverage

## Instructions

1. Read the target files using Read tool
2. Search for patterns using Grep
3. Find related files using Glob
4. Provide detailed feedback on code quality

Skill multi-file

pdf-processing/
├── SKILL.md
├── FORMS.md
├── REFERENCE.md
└── scripts/
    ├── fill_form.py
    └── validate.py
SKILL.md:
---
name: PDF Processing
description: Extract text, fill forms, merge PDFs. Use when working with PDF files, forms, or document extraction. Requires pypdf and pdfplumber packages.
---

# PDF Processing

## Quick start

Extract text:
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
    text = pdf.pages[0].extract_text()
```

For form filling, see [FORMS.md](FORMS.md).
For detailed API reference, see [REFERENCE.md](REFERENCE.md).

## Requirements

Packages must be installed in your environment:
```bash
pip install pypdf pdfplumber
```
Daftarkan paket yang diperlukan dalam deskripsi. Paket harus diinstal di lingkungan Anda sebelum Claude dapat menggunakannya.
Claude memuat file tambahan hanya saat diperlukan.

Langkah selanjutnya