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
| Feld | Erforderlich | Typ | Zweck |
|---|---|---|---|
name | Ja | string | Bezeichner in Logs. Sollte dem Dateinamen ohne .md entsprechen. |
description | Ja | string | Bob verwendet diese Angabe, um die Persona einer Aufgabe zuzuordnen. Schreibe sie als einzeilige Aufgabenbeschreibung. |
tools | Nein | list | Schrä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
| Speicherort | Geltungsbereich | Anwendungsfall |
|---|---|---|
<projekt>/.bob/agents/ | Nur dieses Projekt | Team-geteilte Personas, die ins Repository eingecheckt werden |
~/.bob/agents/ | Alle Projekte auf diesem Rechner | Persö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:
Erste Persona erstellen
Erstelle das Agents-Verzeichnis im Projektstamm:
mkdir -p .bob/agentsErstelle eine Persona-Datei. Der Dateiname (ohne .md) sollte dem Feld name im Front-Matter entsprechen.
touch .bob/agents/code-reviewer.mdFü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.
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
| Mechanismus | Geltungsbereich | Was er steuert | Wann verwenden |
|---|---|---|---|
| Modus | Gesamte Aufgabe | Tool-Obergrenze und Rollendefinition für die Hauptaufgabe | Wenn der Hauptagent eine andere Haltung braucht, z. B. schreibgeschützt, Docs-Autor oder Security-Reviewer |
| Regel | Aufgabe oder Modus | Dauerhafte Anweisungen, die in den System-Prompt geladen werden | Team-Konventionen, Formatierungsstandards, Leitplanken, die jedes Mal gelten |
| Persona | Ein subagent | Rolle, Fokus, Ausgabeformat und Tool-Einschränkungen für einen gespawnten subagent | Wenn ein Helfer einen Domänenfokus benötigt: Code reviewen, Änderungen zusammenfassen, Tests planen |
Benutzerdefinierte Modi
Passe Bobs Verhalten an, indem du benutzerdefinierte Modi mit spezialisierten Rollen, Werkzeugeinschränkungen und Team-Workflows erstellst. Konfiguriere sie global oder pro Projekt im YAML-Format.
Benutzerdefinierte Regeln
Benutzerdefinierte Regeln beeinflussen, wie Bob auf Ihre Anfragen reagiert, und richten die Ausgabe an Ihren spezifischen Präferenzen und Projektanforderungen aus. Konfigurieren Sie benutzerdefinierte Regeln, um Bobs Codierungsstil, Dokumentationsansatz und Entscheidungsprozesse zu steuern.