Persona agen
Buat file persona yang dapat digunakan ulang untuk membentuk peran, fokus, dan akses tool subagent. Tentukan apa yang dicari subagent, bagaimana ia memformat outputnya, dan apa yang tidak boleh ia lakukan.
Persona agen adalah file markdown yang mengonfigurasi peran dan perilaku subagent yang di-spawn. Jika custom mode membentuk cara tugas utama berjalan, persona membentuk cara subagent pendamping bekerja. Persona mengontrol identitas, checklist, format output, dan batasan subagent.
Cara kerja persona
Saat Bob me-spawn subagent, Bob memeriksa .bob/agents/ untuk file persona yang deskripsinya cocok dengan tugas tersebut. Jika ditemukan, persona dimuat sebagai mode subagent: isi role disuntikkan ke system prompt subagent dan dilapiskan di atas instruksi dasarnya.
Persona tidak dimuat otomatis ke percakapan utama. Persona hanya berlaku saat subagent di-spawn, baik oleh Bob atas inisiatifnya sendiri maupun saat kamu meminta Bob mendelegasikan tugas tertentu.
Format file persona
File persona menggunakan YAML front matter yang diikuti isi role dalam bentuk bebas:
---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
- read
---
You are a senior software engineer conducting a structured code review.
Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic
Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.
Do not suggest fixes. Describe issues only.Field front matter
| Field | Wajib | Tipe | Tujuan |
|---|---|---|---|
name | Ya | string | Identifier yang digunakan di log. Sebaiknya sama dengan nama file tanpa .md. |
description | Ya | string | Bob menggunakan ini untuk mencocokkan persona ke sebuah tugas. Tulis sebagai pernyataan misi satu baris. |
tools | Tidak | list | Membatasi kelompok tool yang bisa dipakai subagent. Hilangkan jika ingin mewarisi default. |
Kelompok tool
Field tools menerima kelompok yang sama seperti custom mode: read, edit, command, browser, mcp.
Untuk persona read-only seperti reviewer, planner, dan summarizer, set tools: [read] agar edit tidak terjadi tanpa sengaja.
Field tools adalah batas atas, bukan pemberian izin. Menyetel tools: [edit] pada persona tidak berpengaruh jika tugas aktif tidak memiliki izin Edit yang diaktifkan. Persona hanya bisa membatasi akses tool, tidak pernah memperluasnya melebihi yang diizinkan tugas.
Penempatan file
| Lokasi | Cakupan | Kasus penggunaan |
|---|---|---|
<project>/.bob/agents/ | Hanya proyek ini | Persona bersama tim yang di-commit ke repo |
~/.bob/agents/ | Semua proyek di mesin ini | Persona pribadi yang berlaku lintas repo |
Jika kedua lokasi berisi persona dengan nama yang sama, file tingkat proyek akan diprioritaskan.
Direktori .bob/ kamu bisa menyimpan persona bersama konfigurasi lainnya:
Membuat persona pertamamu
Buat direktori agents di root proyekmu:
mkdir -p .bob/agentsBuat file persona. Nama file (tanpa .md) harus sama dengan field name di front matter.
touch .bob/agents/code-reviewer.mdTambahkan front matter dan isi role. Lihat Format file persona di atas untuk strukturnya.
Commit file itu ke repositorimu agar timmu berbagi persona yang sama.
Contoh persona
code-reviewer.md
Meninjau source file untuk correctness, readability, dan maintainability. Menghasilkan tabel temuan yang diurutkan berdasarkan severity dan tidak menyarankan perbaikan.
---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
- read
---
You are a senior software engineer conducting a structured code review.
Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic
Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.
Do not suggest fixes. Describe issues only.
If a file has no findings, list it explicitly as clean.pr-summarizer.md
Membaca sekumpulan file yang berubah lalu menghasilkan deskripsi pull request terstruktur yang mencakup apa yang berubah, kemungkinan niatnya, dan area yang perlu diperhatikan reviewer.
---
name: pr-summarizer
description: Reads changed files and produces a structured pull request description. Read-only.
tools:
- read
---
You are a developer writing a pull request description for a teammate.
Read the provided files and produce a PR description with these sections:
**Summary**: One or two sentences describing what this change does.
**Why**: The likely motivation, inferred from the code changes.
**What changed**: A bullet list of the key changes, grouped by area if there are several.
**Reviewer notes**: Anything the reviewer should pay particular attention to, including edge cases, intentional trade-offs, or areas of uncertainty.
Write in plain, direct language. Do not pad the description.
Do not list every file changed. Focus on what matters to the reviewer.Menggunakan persona
Rujuk persona berdasarkan nama saat meminta Bob mendelegasikan tugas:
Use the code-reviewer persona to review the files in src/auth/.Spawn a subagent using the pr-summarizer persona.
Read the changed files in this branch and produce a PR description.Bob akan memuat persona yang cocok dari .bob/agents/ dan menerapkannya ke subagent yang di-spawn.
Persona inline
Untuk tugas sekali pakai, kamu bisa mendeskripsikan perannya langsung di prompt tanpa membuat file:
Spawn an Explore subagent with this role:
You are a naming auditor. Read all files under src/ and flag variable and
function names that use abbreviations or are misleading. Return a table:
File, Line, Current Name, Issue.Role inline bekerja sama baiknya dengan persona berbasis file untuk satu tugas. File persona layak dibuat saat kamu ingin menggunakan ulang role yang sama di banyak tugas atau membagikannya ke timmu.
Meneruskan riwayat percakapan
Secara default, subagent hanya menerima deskripsi tugas. Ia tidak melihat giliran percakapanmu sebelumnya. Ini membuat konteksnya tetap kecil dan fokus.
Saat subagent perlu mengikuti keputusan atau batasan dari bagian percakapan sebelumnya, tulis prompt-mu agar merujuk ke konteks sebelumnya:
Use the code-reviewer persona to review src/payments/.
Take into account what we discussed about the error handling approach.Bob menyimpulkan fork_context: true dari frasa seperti "what we discussed" atau "our earlier decision", lalu meneruskan riwayat percakapan ke subagent.
Meneruskan riwayat percakapan menyalin seluruh percakapanmu ke context window subagent. Pada percakapan yang panjang, ini menambah biaya token secara berarti. Sebaiknya gunakan default-nya (tanpa forked context) kecuali subagent benar-benar membutuhkan konteks sebelumnya untuk mengerjakan tugasnya.
Persona, mode, dan rule
| Mekanisme | Cakupan | Yang dikontrol | Kapan digunakan |
|---|---|---|---|
| Mode | Seluruh tugas | Batas atas tool dan role definition untuk tugas utama | Saat agen utama membutuhkan posture berbeda, seperti read-only, docs-writer, atau security reviewer |
| Rule | Tugas atau mode | Instruksi tetap yang dimuat ke system prompt | Konvensi tim, standar format, guardrail yang selalu berlaku |
| Persona | Satu subagent | Role, fokus, format output, dan batasan tool untuk subagent yang di-spawn | Saat helper membutuhkan fokus domain: review kode, merangkum perubahan, merencanakan pengujian |