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

FieldWajibTipeTujuan
nameYastringIdentifier yang digunakan di log. Sebaiknya sama dengan nama file tanpa .md.
descriptionYastringBob menggunakan ini untuk mencocokkan persona ke sebuah tugas. Tulis sebagai pernyataan misi satu baris.
toolsTidaklistMembatasi 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

LokasiCakupanKasus penggunaan
<project>/.bob/agents/Hanya proyek iniPersona bersama tim yang di-commit ke repo
~/.bob/agents/Semua proyek di mesin iniPersona 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:

code-reviewer.md
pr-summariser.md
custom_modes.yaml

Membuat persona pertamamu

Buat direktori agents di root proyekmu:

mkdir -p .bob/agents

Buat file persona. Nama file (tanpa .md) harus sama dengan field name di front matter.

touch .bob/agents/code-reviewer.md

Tambahkan 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.

Catatan:

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

MekanismeCakupanYang dikontrolKapan digunakan
ModeSeluruh tugasBatas atas tool dan role definition untuk tugas utamaSaat agen utama membutuhkan posture berbeda, seperti read-only, docs-writer, atau security reviewer
RuleTugas atau modeInstruksi tetap yang dimuat ke system promptKonvensi tim, standar format, guardrail yang selalu berlaku
PersonaSatu subagentRole, fokus, format output, dan batasan tool untuk subagent yang di-spawnSaat helper membutuhkan fokus domain: review kode, merangkum perubahan, merencanakan pengujian
Bagaimana topik ini?