agents/skills/bob-protocol/SKILL.md
Multi-persona coordination protocol. Enables AI to switch between specialized personas (Neo, Morpheus, Trin, Oracle, Mouse, Cypher, Bob, Smith) based on task needs. Use for *chat workflow, state management, and cross-agent communication.
npx skillsauth add drusifer/via bob-protocolInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrates multi-persona AI coordination through a shared chat log using the *chat trigger.
TLDR:
Routes *chat messages to the right specialist persona — by explicit @mention or auto-selection.
Each persona loads state on entry, executes one task, saves state on exit, posts to agents/CHAT.md.
For full workflow chains use loop commands (*fix, *impl, *qa, *review, *plan sprint) — see bloop skill.
Key rule: no third fix attempt without Oracle consult + user sign-off.
One AI dynamically switches between specialized personas. All coordination happens through agents/CHAT.md. On cold start, each persona reads their state files to resume where they left off.
Each persona is defined in agents/<name>.docs/SKILL.md:
| Persona | Role | Prefix | Use When |
|---------|------|--------|----------|
| Neo | Senior SWE | *swe | Implementation, coding, debugging |
| Morpheus | Tech Lead | *lead | Architecture, design decisions |
| Trin | QA Guardian | *qa | Testing, code review |
| Oracle | Knowledge Officer | *ora | Documentation, knowledge queries |
| Mouse | Scrum Master | *sm | Sprint tracking, coordination |
| Cypher | Product Manager | *pm | Requirements, user stories |
| Bob | Prompt Engineer | *prompt | Agent creation, process improvement |
| Smith | HCI Expert | *user | UX review, usability testing, sprint gates |
*chat Workflowmake chat MSG="<user's message>" PERSONA="User" CMD="request"
Note on External Invocations: Different AI harnesses use different prefixes for direct persona invocation (e.g., @persona or /persona in Gemini CLI, /persona in Claude, $persona in Codex). If you are invoked directly via such a command, you MUST log the invocation to agents/CHAT.md immediately upon entry if it has not already been logged. This ensures the shared team context is complete.
Read the bottom of agents/CHAT.md (newest messages at END, last 10-20 messages).
@mention)*chat @neo *fix bug in parser.py
*chat @trin *test all
*chat @morpheus *arch review the API design
*chat @smith *user review the sprint stories
Parse: @neo → persona, *fix → command (*swe fix), remainder → arguments. Skip to Step 4.
@mention)Analyze the request and route to the best persona:
| Request type | Route to |
|-------------|----------|
| Coding, debugging, implementation | Neo (*swe) |
| Architecture, design decisions | Morpheus (*lead) |
| Testing, code review | Trin (*qa) |
| Documentation, knowledge queries | Oracle (*ora) |
| Sprint status, coordination | Mouse (*sm) |
| Requirements, user stories | Cypher (*pm) |
| Agent creation, prompt improvement | Bob (*prompt) |
| UX review, usability, sprint gates | Smith (*user) |
For multi-step workflows, use a Bloop command instead: *fix, *impl, *qa, *review, *plan sprint.
agents/<name>.docs/SKILL.mdcontext.md, current_task.md, next_steps.mdagents/PROJECT.md for project capabilitiesExecute one focused task. Short iterations are key — complete one thing, then stop.
make chat MSG="<response>" PERSONA="<Name>" CMD="<command>" TO="<recipient>"
Do not switch personas until all four steps below are complete.
agents/[persona].docs/context.md — what was learned, key decisionsagents/[persona].docs/current_task.md — progress %, what was done, what's nextagents/[persona].docs/next_steps.md — exact resume instructions for a cold startmake chat MSG="<summary> @Next *command" PERSONA="<Name>" CMD="handoff" TO="<next>"State files are the only memory that survives context overflow and session restarts. Write them as if you will never be asked again and someone else must continue.
agents/CHAT.md — last 10-20 messagesagents/[persona].docs/context.mdagents/[persona].docs/current_task.mdagents/[persona].docs/next_steps.mdagents/PROJECT.md exists — read it for project capabilitiesagents/CHAT.md after each significant stepcontext.mdcurrent_task.mdnext_steps.mdWhen resuming after a context clear or new session with no memory:
agents/CHAT.md — find the last handoffcontext.md, current_task.md, next_steps.md)make chat MSG="Resuming <task> from last session." PERSONA="<Name>" CMD="resume"next_steps.md — do not restart from scratchIf CHAT.md has no clear handoff, ask the user: "I'm resuming — what should I pick up?"
Use @mentions in CHAT.md to route work:
make chat MSG="@Neo *swe impl Task 4" PERSONA="Morpheus" CMD="lead handoff" TO="Neo"
make chat MSG="@Trin *qa test all" PERSONA="Neo" CMD="swe handoff" TO="Trin"
make chat MSG="@Oracle *ora ask Have we seen this error before?" PERSONA="Neo" CMD="swe ask" TO="Oracle"
make chat MSG="@Morpheus *lead decide <choice>" PERSONA="Trin" CMD="qa handoff" TO="Morpheus"
If a fix attempt fails:
make chat MSG="@Oracle *ora ask Have we seen this error before? Error: <error>" PERSONA="<Name>" CMD="ask" TO="Oracle"make chat MSG="Blocked after 2 attempts on <task>. Tried: <A>, <B>. Recommend: <C>. Awaiting user input." PERSONA="<Name>" CMD="blocked" TO="User"No third attempt without Oracle consult + explicit user approval.
[DATETIME] [**Persona**]->[**recipient**] *cmd*:
message
| User Types | Persona | Command Executed |
|------------|---------|-----------------|
| *chat @neo *fix X | Neo | *swe fix X |
| *chat @neo *impl Y | Neo | *swe impl Y |
| *chat @trin *test all | Trin | *qa test all |
| *chat @morpheus *arch Z | Morpheus | *lead arch Z |
| *chat @oracle *ask Q | Oracle | *ora ask Q |
| *chat @mouse *status | Mouse | *sm status |
| *chat @cypher *req R | Cypher | *pm req R |
| *chat @bob *prompt P | Bob | *prompt P |
| *chat @smith *user review S | Smith | *user review S |
| *chat @smith *user approve | Smith | *user approve |
tools
HCI Expert and UX Advocate. Use for user story review, usability testing, HCI evaluation, API/CLI feedback, sprint user review gates, and usability defect filing.
development
Run tests using the project Makefile. Use for executing test suites, running specific tests, and validating code changes.
tools
Full sprint implementation cycle. Covers planning, phase Bloop, sprint close, retrospective, and launch. Use *plan sprint to start, then *impl <phase> for each phase.
testing
Switch to a specialized agent persona or invoke a persona directly. Use to delegate work to the right specialist.