Konfiguration

Agent-Personas

Erstelle wiederverwendbare Persona-Dateien, die die Rolle, den Fokus und den Tool-Zugriff eines subagents festlegen. Definiere, worauf ein subagent achtet, wie er seine Ausgabe formatiert und was er nicht tun darf.

Agent-Personas sind Markdown-Dateien, die die Rolle und das Verhalten eines gespawnten subagents konfigurieren. Während ein benutzerdefinierter Modus beeinflusst, wie die Hauptaufgabe funktioniert, legt eine Persona fest, wie ein Hilfs-subagent arbeitet. Sie kontrolliert die Identität, die Checkliste, das Ausgabeformat und die Einschränkungen des subagents.

Wie Personas funktionieren

Wenn Bob einen subagent spawnt, prüft er .bob/agents/ auf eine Persona-Datei, deren Beschreibung zur Aufgabe passt. Wird eine gefunden, wird die Persona als Modus des subagents geladen: Der Rolleninhalt wird in den System-Prompt des subagents injiziert und ergänzt dessen Basisanweisungen.

Personas werden nicht automatisch in die Hauptkonversation geladen. Sie wirken sich nur aus, wenn ein subagent gespawnt wird – entweder auf Bobs eigene Initiative oder wenn du Bob bittest, eine bestimmte Aufgabe zu delegieren.

Format der Persona-Datei

Persona-Dateien verwenden YAML-Front-Matter gefolgt von einem freien Rolleninhalt:

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

Front-Matter-Felder

FeldErforderlichTypZweck
nameJastringBezeichner in Logs. Sollte dem Dateinamen ohne .md entsprechen.
descriptionJastringBob verwendet diese Angabe, um die Persona einer Aufgabe zuzuordnen. Schreibe sie als einzeilige Aufgabenbeschreibung.
toolsNeinlistSchränkt ein, welche Tool-Gruppen der subagent verwenden kann. Weglassen, um die Standardeinstellungen zu übernehmen.

Tool-Gruppen

Das Feld tools akzeptiert dieselben Gruppen wie benutzerdefinierte Modi: read, edit, command, browser, mcp.

Für schreibgeschützte Personas wie Reviewer, Planer und Zusammenfasser setze tools: [read], um versehentliche Änderungen zu verhindern.

Das Feld tools ist eine Obergrenze, keine Berechtigung. Das Setzen von tools: [edit] bei einer Persona hat keine Auswirkung, wenn die aktive Aufgabe keine Edit-Berechtigung hat. Eine Persona kann den Tool-Zugriff nur einschränken, nie über die Aufgabenberechtigung hinaus erweitern.

Dateispeicherort

SpeicherortGeltungsbereichAnwendungsfall
<projekt>/.bob/agents/Nur dieses ProjektTeam-geteilte Personas, die ins Repository eingecheckt werden
~/.bob/agents/Alle Projekte auf diesem RechnerPersönliche Personas, die projektübergreifend gelten

Wenn beide Speicherorte eine Persona mit demselben Namen enthalten, hat die projektlokale Datei Vorrang.

Das Verzeichnis .bob/ kann Personas zusammen mit anderen Konfigurationsdateien enthalten:

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

Erste Persona erstellen

Erstelle das Agents-Verzeichnis im Projektstamm:

mkdir -p .bob/agents

Erstelle eine Persona-Datei. Der Dateiname (ohne .md) sollte dem Feld name im Front-Matter entsprechen.

touch .bob/agents/code-reviewer.md

Füge Front-Matter und Rolleninhalt hinzu. Siehe Format der Persona-Datei oben für die Struktur.

Checke die Datei in dein Repository ein, damit dein Team dieselben Personas nutzt.

Beispiel-Personas

code-reviewer.md

Prüft Quelldateien auf Korrektheit, Lesbarkeit und Wartbarkeit. Erstellt eine nach Schweregrad sortierte Fundtabelle und schlägt keine Korrekturen vor.

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

Liest eine Reihe geänderter Dateien und erstellt eine strukturierte Pull-Request-Beschreibung, die Änderungen, die wahrscheinliche Absicht und Bereiche umfasst, auf die der Reviewer besonders achten sollte.

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

Eine Persona verwenden

Referenziere eine Persona beim Namen, wenn du Bob bittest, eine Aufgabe zu delegieren:

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 lädt die passende Persona aus .bob/agents/ und wendet sie auf den gespawnten subagent an.

Inline-Personas

Für eine einmalige Aufgabe kannst du die Rolle direkt in deinem Prompt beschreiben, ohne eine Datei zu erstellen:

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.

Inline-Rollen funktionieren für eine einzelne Aufgabe genauso gut wie dateibasierte Personas. Persona-Dateien lohnen sich, wenn du dieselbe Rolle für mehrere Aufgaben wiederverwenden oder mit deinem Team teilen möchtest.

Konversationsverlauf übergeben

Standardmäßig erhält ein subagent nur die Aufgabenbeschreibung. Er sieht deine vorherigen Konversationsrunden nicht. Das hält seinen Kontext klein und fokussiert.

Wenn ein subagent frühere Entscheidungen oder Einschränkungen aus der Konversation berücksichtigen muss, formuliere deinen Prompt mit einem Verweis auf den früheren Kontext:

Use the code-reviewer persona to review src/payments/.
Take into account what we discussed about the error handling approach.

Bob leitet fork_context: true aus Formulierungen wie „what we discussed" oder „our earlier decision" ab und übergibt den Konversationsverlauf an den subagent.

Hinweis:

Das Übergeben des Konversationsverlaufs kopiert die gesamte Konversation in das context window des subagents. Bei einer langen Konversation entstehen dadurch erhebliche Token-Kosten. Bevorzuge die Standardeinstellung (kein geforkter Kontext), außer der subagent benötigt den früheren Kontext wirklich für seine Aufgabe.

Personas, Modi und Regeln

MechanismusGeltungsbereichWas er steuertWann verwenden
ModusGesamte AufgabeTool-Obergrenze und Rollendefinition für die HauptaufgabeWenn der Hauptagent eine andere Haltung braucht, z. B. schreibgeschützt, Docs-Autor oder Security-Reviewer
RegelAufgabe oder ModusDauerhafte Anweisungen, die in den System-Prompt geladen werdenTeam-Konventionen, Formatierungsstandards, Leitplanken, die jedes Mal gelten
PersonaEin subagentRolle, Fokus, Ausgabeformat und Tool-Einschränkungen für einen gespawnten subagentWenn ein Helfer einen Domänenfokus benötigt: Code reviewen, Änderungen zusammenfassen, Tests planen
Wie ist dieses Thema?