Skills
pi dapat menciptakan keterampilan. Mintalah untuk membuat satu untuk kasus penggunaan Anda.
Skills adalah paket kemampuan mandiri yang dimuat agen sesuai permintaan. Keterampilan menyediakan alur kerja khusus, instruksi pengaturan, skrip pembantu, dan dokumentasi referensi untuk tugas tertentu.
Pi menerapkan Agent Skills standard, memperingatkan tentang sebagian besar pelanggaran namun tetap bersikap lunak. Pi memperbolehkan nama keterampilan berbeda dari direktori induknya meskipun standar tidak mengizinkannya; aturan tersebut kurang optimal untuk direktori keterampilan bersama yang digunakan di beberapa kelompok agen.
Daftar isi
- Locations
- How Skills Work
- Skill Commands
- Skill Structure
- Frontmatter
- Validation
- Example
- Skill Repositories
Lokasi
Keamanan: Skills dapat memerintahkan model untuk melakukan tindakan apa pun dan mungkin menyertakan kode yang dapat dieksekusi yang dipanggil model. Tinjau konten keterampilan sebelum digunakan.
Pi memuat keterampilan dari:
- Global:
~/.pi/agent/skills/~/.agents/skills/
- Proyek (hanya setelah proyek dipercaya):
.pi/skills/.agents/skills/dicwddan direktori leluhur (hingga git repo root, atau root sistem file jika tidak ada dalam repo)
- Paket:
skills/direktori ataupi.skillsentri dipackage.json - Pengaturan:
skillsarray dengan file atau direktori - CLI:
--skill <path>(dapat diulang, bahkan ditambah dengan--no-skills)
Aturan penemuan:
- Dalam
~/.pi/agent/skills/dan.pi/skills/, file root langsung.mdditemukan sebagai keterampilan individu - Di semua lokasi keterampilan, direktori yang berisi
SKILL.mdditemukan secara rekursif - Di
~/.agents/skills/dan proyek.agents/skills/, file root.mddiabaikan
Nonaktifkan penemuan dengan --no-skills (jalur eksplisit --skill masih dimuat).
Menggunakan Skills dari Harnes Lainnya
Untuk menggunakan keterampilan dari Claude Code atau OpenAI Codex, tambahkan direktorinya ke pengaturan:
{
"skills": [
"~/.claude/skills",
"~/.codex/skills"
]
}Untuk skill Claude Code tingkat proyek, tambahkan ke .pi/settings.json:
{
"skills": ["../.claude/skills"]
}Bagaimana Skills Bekerja
- Saat startup, pi memindai lokasi keterampilan dan mengekstrak nama dan deskripsi
- Perintah sistem mencakup keterampilan yang tersedia dalam format XML per specification
- Ketika tugas cocok, agen menggunakan
readuntuk memuat SKILL.md lengkap (model tidak selalu melakukan ini; gunakan perintah atau/skill:nameuntuk memaksanya) - Agen mengikuti instruksi, menggunakan jalur relatif ke skrip referensi dan aset
Ini adalah pengungkapan progresif: hanya deskripsi yang selalu sesuai konteks, instruksi lengkap dimuat sesuai permintaan.
Perintah Keterampilan
Skills mendaftar sebagai perintah /skill:name:
/skill:brave-search # Load and execute the skill
/skill:pdf-tools extract # Load skill with argumentsArgumen setelah perintah ditambahkan ke konten keterampilan sebagai User: <args>.
Alihkan perintah keterampilan melalui /settings dalam mode interaktif atau di settings.json:
{
"enableSkillCommands": true
}Struktur Keterampilan
Keterampilan adalah direktori dengan file SKILL.md. Segala sesuatu yang lain berbentuk bebas.
my-skill/
├── SKILL.md # Required: frontmatter + instructions
├── scripts/ # Helper scripts
│ └── process.sh
├── references/ # Detailed docs loaded on-demand
│ └── api-reference.md
└── assets/
└── template.jsonFormat KETERAMPILAN.md
---
name: my-skill
description: What this skill does and when to use it. Be specific.
---
# My Skill
## Setup
Run once before first use:
```bash
cd /path/ke/skill && npm instal
```
## Usage
```bash
./scripts/process.sh <input>
```Gunakan jalur relatif dari direktori keterampilan:
See [the reference guide](references/REFERENCE.md) for details.Masalah depan
Berdasarkan Agent Skills specification:
| Bidang | Diperlukan | Keterangan |
|---|---|---|
name |
Ya | Maks 64 karakter. Huruf kecil a-z, 0-9, tanda hubung. Berbeda dengan standar, Pi tidak mengharuskan ini cocok dengan direktori induk karena persyaratan standar tersebut kurang optimal untuk direktori keterampilan bersama. |
description |
Ya | Maks 1024 karakter. Apa yang dilakukan keterampilan itu dan kapan menggunakannya. |
license |
TIDAK | Nama lisensi atau referensi ke file yang dibundel. |
compatibility |
TIDAK | Maks 500 karakter. Persyaratan lingkungan. |
metadata |
TIDAK | Pemetaan nilai kunci sewenang-wenang. |
allowed-tools |
TIDAK | Daftar alat yang telah disetujui sebelumnya dan dibatasi spasi (eksperimental). |
disable-model-invocation |
TIDAK | Ketika true, keterampilan disembunyikan dari prompt sistem. Pengguna harus menggunakan /skill:name. |
Aturan Nama
- 1-64 karakter
- Huruf kecil, angka, tanda hubung saja
- Tidak ada tanda hubung awal/akhir
- Tidak ada tanda hubung berturut-turut Pi tidak memerlukan nama yang cocok dengan direktori induk. Standar Agen Skills dapat melakukannya, namun persyaratan tersebut kurang optimal untuk direktori keterampilan bersama yang digunakan oleh banyak alat.
Sah: pdf-processing, data-analysis, code-review
Tidak valid: PDF-Processing, -pdf, pdf--processing
Deskripsi Praktik Terbaik
Deskripsi menentukan kapan agen memuat keterampilannya. Bersikaplah spesifik.
Bagus:
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.Miskin:
description: Helps with PDFs.Validasi
Pi memvalidasi keterampilan terhadap standar Agen Skills. Sebagian besar masalah menghasilkan peringatan tetapi masih memuat keterampilan:
- Nama melebihi 64 karakter atau mengandung karakter tidak valid
- Nama dimulai/diakhiri dengan tanda hubung atau memiliki tanda hubung yang berurutan
- Deskripsi melebihi 1024 karakter
Bidang frontmatter yang tidak diketahui akan diabaikan.
Pengecualian: Skills dengan deskripsi yang hilang tidak dimuat.
Tabrakan nama (nama yang sama dari lokasi berbeda) memperingatkan dan menjaga agar keterampilan pertama tetap ditemukan.
Contoh
brave-search/
├── SKILL.md
├── search.js
└── content.js** KETERAMPILAN.md: **
---
name: brave-search
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
---
# Brave Search
## Setup
```bash
cd /path/ke/brave-search && npm instal
```
## Search
```bash
./search.js "query" # Pencarian dasar
./search.js "query" --content # Sertakan konten halaman
```
## Extract Page Content
```bash
./content.js https://example.com
```Repositori Keterampilan
- Anthropic Skills - Pemrosesan dokumen (docx, pdf, pptx, xlsx), pengembangan web
- Pi Skills - Pencarian web, otomatisasi browser, Google APIs, transkripsi