import{_ as a,c as n,o as i,a0 as e}from"./chunks/framework.FdfEk_gD.js";const k=JSON.parse('{"title":"Crowd Workflows - Multi-Agent Collaboration Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user/crowd-mcp-integration.md","filePath":"user/crowd-mcp-integration.md"}'),t={name:"user/crowd-mcp-integration.md"};function l(p,s,o,r,h,c){return i(),n("div",null,[...s[0]||(s[0]=[e(`<h1 id="crowd-workflows-multi-agent-collaboration-guide" tabindex="-1">Crowd Workflows - Multi-Agent Collaboration Guide <a class="header-anchor" href="#crowd-workflows-multi-agent-collaboration-guide" aria-label="Permalink to &quot;Crowd Workflows - Multi-Agent Collaboration Guide&quot;">​</a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;">​</a></h2><p>Responsible-Vibe-MCP supports <strong>collaborative workflows</strong> that enable teams of specialized AI agents to work together on software development tasks. Each agent has a specific role (business-analyst, architect, developer) and follows the same workflow with role-appropriate instructions.</p><h2 id="quick-setup" tabindex="-1">Quick Setup <a class="header-anchor" href="#quick-setup" aria-label="Permalink to &quot;Quick Setup&quot;">​</a></h2><h3 id="_1-copy-agent-configurations" tabindex="-1">1. Copy Agent Configurations <a class="header-anchor" href="#_1-copy-agent-configurations" aria-label="Permalink to &quot;1. Copy Agent Configurations&quot;">​</a></h3><p>Use the CLI to copy pre-configured agent definitions to your project:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @codemcp/workflows@latest</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> agents</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> copy</span></span></code></pre></div><p>This creates three agent configurations in <code>.crowd/agents/</code>:</p><ul><li><code>business-analyst.yaml</code> - Requirements and specification expert</li><li><code>architect.yaml</code> - System design and planning expert</li><li><code>developer.yaml</code> - Implementation expert</li></ul><p>Each agent is pre-configured with:</p><ul><li><code>VIBE_ROLE</code> environment variable (business-analyst, architect, or developer)</li><li><code>WORKFLOW_DOMAINS=sdd-crowd</code> to access collaborative workflows</li><li>System prompts explaining team collaboration</li><li>MCP server connection to workflows server</li></ul><h3 id="_2-give-this-prompt-to-your-orchestrator" tabindex="-1">2. Give This Prompt to Your Orchestrator <a class="header-anchor" href="#_2-give-this-prompt-to-your-orchestrator" aria-label="Permalink to &quot;2. Give This Prompt to Your Orchestrator&quot;">​</a></h3><p>Copy this prompt and give it to your orchestrating agent (the one with access to crowd-mcp tools):</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>You are orchestrating a team of AI agents using crowd-mcp and the workflows server.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Agent Discovery</span></span>
<span class="line"><span></span></span>
<span class="line"><span>The project has three pre-configured agents:</span></span>
<span class="line"><span>- business-analyst</span></span>
<span class="line"><span>- architect</span></span>
<span class="line"><span>- developer</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Your Orchestration Process</span></span>
<span class="line"><span></span></span>
<span class="line"><span>When I ask you to start a collaborative development task:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>1. **Spawn the team** using spawn_agent() with the agent type matching the filename</span></span>
<span class="line"><span>   - spawn_agent(task=&quot;[task] - analysis&quot;, agentType=&quot;business-analyst&quot;)</span></span>
<span class="line"><span>   - spawn_agent(task=&quot;[task] - architecture&quot;, agentType=&quot;architect&quot;)</span></span>
<span class="line"><span>   - spawn_agent(task=&quot;[task] - implementation&quot;, agentType=&quot;developer&quot;)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>2. **Choose workflow** based on task type:</span></span>
<span class="line"><span>   - Feature development → sdd-feature-crowd (starts with business-analyst)</span></span>
<span class="line"><span>   - Bug fixing → sdd-bugfix-crowd (starts with developer)</span></span>
<span class="line"><span>   - New project → sdd-greenfield-crowd (starts with architect)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>3. **Kick off** by sending message to the starting agent:</span></span>
<span class="line"><span>   - send_message(to: [agent-id], content: &quot;Start [workflow-name] for [task description]&quot;)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>4. **Monitor** using get_messages() to see progress updates from agents.</span></span>
<span class="line"><span>IMPORTANT: The agents will work for long intervals. You may check as often as you like, but don&#39;t bother them with repeated questions or status updates</span></span>
<span class="line"><span></span></span>
<span class="line"><span>5. **Relay** when agents send_message_to_operator() with questions you cannot answer as they need more information on the context of the development.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Rules</span></span>
<span class="line"><span></span></span>
<span class="line"><span>- Spawn all three agents at start (they work as a persistent team)</span></span>
<span class="line"><span>- Agents will message each other directly - you monitor and intervene when needed</span></span>
<span class="line"><span>- When agents ask you questions, ask me and relay my answer</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Example</span></span>
<span class="line"><span></span></span>
<span class="line"><span>When I say: &quot;Build user authentication&quot;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>You should:</span></span>
<span class="line"><span>1. spawn_agent(task=&quot;Build user authentication - analysis&quot;, agentType=&quot;business-analyst&quot;)</span></span>
<span class="line"><span>2. spawn_agent(task=&quot;Build user authentication - architecture&quot;, agentType=&quot;architect&quot;)</span></span>
<span class="line"><span>3. spawn_agent(task=&quot;Build user authentication - implementation&quot;, agentType=&quot;developer&quot;)</span></span>
<span class="line"><span>4. send_message(to: business-analyst, content: &quot;Start sdd-feature-crowd for user authentication system&quot;)</span></span>
<span class="line"><span>5. Monitor messages and keep me updated</span></span></code></pre></div><h3 id="_3-start-collaborating" tabindex="-1">3. Start Collaborating <a class="header-anchor" href="#_3-start-collaborating" aria-label="Permalink to &quot;3. Start Collaborating&quot;">​</a></h3><p>Tell your orchestrator to start a development task:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Build a search feature for the product catalog</span></span></code></pre></div><p>The orchestrator will:</p><ul><li>Spawn the three agents</li><li>Start the business-analyst with sdd-feature-crowd workflow</li><li>Monitor progress and report back to you</li></ul><h2 id="available-workflows" tabindex="-1">Available Workflows <a class="header-anchor" href="#available-workflows" aria-label="Permalink to &quot;Available Workflows&quot;">​</a></h2><p><strong>sdd-crowd Domain</strong> - Collaborative specification-driven development workflows:</p><h4 id="sdd-feature-crowd" tabindex="-1">sdd-feature-crowd <a class="header-anchor" href="#sdd-feature-crowd" aria-label="Permalink to &quot;sdd-feature-crowd&quot;">​</a></h4><p>Collaborative feature development with full team participation.</p><p><strong>Phases</strong>: analyze → specify → clarify → plan → tasks → implement</p><p><strong>Role Flow</strong>:</p><ul><li><strong>Business-analyst</strong> drives: analyze, specify, clarify</li><li><strong>Architect</strong> drives: plan, tasks</li><li><strong>Developer</strong> drives: implement</li></ul><p><strong>Use when</strong>: Building new features or enhancing existing ones with a team</p><h4 id="sdd-bugfix-crowd" tabindex="-1">sdd-bugfix-crowd <a class="header-anchor" href="#sdd-bugfix-crowd" aria-label="Permalink to &quot;sdd-bugfix-crowd&quot;">​</a></h4><p>Collaborative bug fixing with systematic approach.</p><p><strong>Phases</strong>: reproduce → specify → test → plan → fix → verify</p><p><strong>Role Flow</strong>:</p><ul><li><strong>Developer</strong> drives: reproduce, test, fix, verify</li><li><strong>Business-analyst</strong> drives: specify</li><li><strong>Architect</strong> drives: plan</li></ul><p><strong>Use when</strong>: Fixing complex bugs that benefit from team expertise</p><h4 id="sdd-greenfield-crowd" tabindex="-1">sdd-greenfield-crowd <a class="header-anchor" href="#sdd-greenfield-crowd" aria-label="Permalink to &quot;sdd-greenfield-crowd&quot;">​</a></h4><p>Collaborative new project development from scratch.</p><p><strong>Phases</strong>: constitution → specify → plan → tasks → implement → document</p><p><strong>Role Flow</strong>:</p><ul><li><strong>Architect</strong> drives: constitution, plan, tasks</li><li><strong>Business-analyst</strong> drives: specify</li><li><strong>Developer</strong> drives: implement</li><li><strong>All contribute</strong> to: document</li></ul><p><strong>Use when</strong>: Starting new projects with comprehensive team planning</p><h2 id="how-collaboration-works" tabindex="-1">How Collaboration Works <a class="header-anchor" href="#how-collaboration-works" aria-label="Permalink to &quot;How Collaboration Works&quot;">​</a></h2><h3 id="the-rci-model" tabindex="-1">The RCI Model <a class="header-anchor" href="#the-rci-model" aria-label="Permalink to &quot;The RCI Model&quot;">​</a></h3><p>Each phase assigns agents one of three roles:</p><ul><li><strong>Responsible (R)</strong>: Primary driver <ul><li>Edits the plan file</li><li>Calls <code>proceed_to_phase()</code> to advance</li><li>Drives the work forward</li></ul></li><li><strong>Consulted (C)</strong>: Available for questions <ul><li>Monitors messages</li><li>Provides expert input when asked</li><li>Cannot edit plan or proceed</li></ul></li><li><strong>Informed (I)</strong>: Passive monitoring <ul><li>Stays aware of progress</li><li>No active participation required</li></ul></li></ul><p><strong>Note</strong>: The human operator is always implicitly informed.</p><h3 id="role-assignment-examples" tabindex="-1">Role Assignment Examples <a class="header-anchor" href="#role-assignment-examples" aria-label="Permalink to &quot;Role Assignment Examples&quot;">​</a></h3><p><strong>sdd-feature-crowd specify phase</strong>:</p><ul><li>Business-analyst: <strong>RESPONSIBLE</strong> (drives specification)</li><li>Architect: <strong>CONSULTED</strong> (answers technical feasibility questions)</li><li>Developer: <strong>CONSULTED</strong> (provides complexity estimates)</li></ul><p><strong>sdd-feature-crowd implement phase</strong>:</p><ul><li>Developer: <strong>RESPONSIBLE</strong> (drives implementation)</li><li>Architect: <strong>CONSULTED</strong> (answers design questions)</li><li>Business-analyst: <strong>CONSULTED</strong> (clarifies requirements)</li></ul><h3 id="collaboration-protocol" tabindex="-1">Collaboration Protocol <a class="header-anchor" href="#collaboration-protocol" aria-label="Permalink to &quot;Collaboration Protocol&quot;">​</a></h3><p><strong>1. Handoff Pattern</strong>:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Business-analyst (RESPONSIBLE in specify phase):</span></span>
<span class="line"><span>  1. Completes specification work</span></span>
<span class="line"><span>  2. Sends: send_message(architect-id, &quot;Please take lead for plan phase&quot;)</span></span>
<span class="line"><span>  3. Reports: send_message_to_operator(&quot;Spec complete, handing to architect&quot;)</span></span>
<span class="line"><span>  4. Calls: proceed_to_phase(target_phase: &quot;plan&quot;)</span></span>
<span class="line"><span>  5. Becomes: CONSULTED in plan phase</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Architect (CONSULTED → RESPONSIBLE):</span></span>
<span class="line"><span>  1. Receives handoff message</span></span>
<span class="line"><span>  2. Becomes RESPONSIBLE in plan phase</span></span>
<span class="line"><span>  3. Drives planning work</span></span></code></pre></div><p><strong>2. Consultation Pattern</strong>:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Architect (RESPONSIBLE in plan phase):</span></span>
<span class="line"><span>  1. Has question about requirements</span></span>
<span class="line"><span>  2. Sends: send_message(business-analyst-id, &quot;What does requirement X mean?&quot;)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Business-analyst (CONSULTED in plan phase):</span></span>
<span class="line"><span>  1. Receives: get_my_messages()</span></span>
<span class="line"><span>  2. Responds: send_message(architect-id, &quot;Requirement X means...&quot;)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Architect:</span></span>
<span class="line"><span>  3. Continues planning with clarified information</span></span></code></pre></div><h2 id="agent-configuration" tabindex="-1">Agent Configuration <a class="header-anchor" href="#agent-configuration" aria-label="Permalink to &quot;Agent Configuration&quot;">​</a></h2><h3 id="system-prompts" tabindex="-1">System Prompts <a class="header-anchor" href="#system-prompts" aria-label="Permalink to &quot;System Prompts&quot;">​</a></h3><p>All agent system prompts follow the same pattern:</p><ul><li>Explain team structure and roles</li><li>Describe available tools (whats_next, send_message, etc.)</li><li>Emphasize important rules (only responsible edits plan, always call whats_next)</li><li>Keep role responsibilities generic (workflow provides specific tasks)</li></ul><h3 id="example-configuration" tabindex="-1">Example Configuration <a class="header-anchor" href="#example-configuration" aria-label="Permalink to &quot;Example Configuration&quot;">​</a></h3><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">business-analyst</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">displayName</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Business Analyst</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">systemPrompt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  You are working as a business-analyst in a collaborative team.</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  Your team: business-analyst (you), architect, developer</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  ## How Collaboration Works</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  You follow structured workflows. In each phase, you may be:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - RESPONSIBLE (driving), CONSULTED (answering questions), or INFORMED (monitoring)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  ## Available Tools</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - whats_next(): Get phase guidance (call after every message)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - proceed_to_phase(): Move forward (only when responsible)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - send_message(to, content): Collaborate with team</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - send_message_to_operator(content): Report to human</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  - get_my_messages(): Check for questions</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">mcpServers</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  responsible-vibe</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">stdio</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    command</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">npx</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    args</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [@</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">codemcp/workflows-server@latest</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    env</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">      VIBE_ROLE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">business-analyst</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">      WORKFLOW_DOMAINS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">sdd-crowd</span></span></code></pre></div><h2 id="workflow-features" tabindex="-1">Workflow Features <a class="header-anchor" href="#workflow-features" aria-label="Permalink to &quot;Workflow Features&quot;">​</a></h2><h3 id="vibe-role-variable" tabindex="-1">$VIBE_ROLE Variable <a class="header-anchor" href="#vibe-role-variable" aria-label="Permalink to &quot;$VIBE_ROLE Variable&quot;">​</a></h3><p>Workflows use <code>$VIBE_ROLE</code> for dynamic agent identification:</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">default_instructions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  You are $VIBE_ROLE working in a collaborative team.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  Current phase: SPECIFY</span></span></code></pre></div><p>Substituted at runtime:</p><ul><li>Business-analyst sees: &quot;You are business-analyst working...&quot;</li><li>Architect sees: &quot;You are architect working...&quot;</li></ul><h3 id="role-specific-instructions" tabindex="-1">Role-Specific Instructions <a class="header-anchor" href="#role-specific-instructions" aria-label="Permalink to &quot;Role-Specific Instructions&quot;">​</a></h3><p>Each transition provides role-appropriate guidance:</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">transitions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">trigger</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">spec_complete</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    to</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">plan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    role</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">business-analyst</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    additional_instructions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">      You are RESPONSIBLE. Create spec, then hand off.</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">trigger</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">spec_complete</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    to</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">plan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    role</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">architect</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">    additional_instructions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">      You are CONSULTED. Answer questions when asked.</span></span></code></pre></div><h3 id="transition-filtering" tabindex="-1">Transition Filtering <a class="header-anchor" href="#transition-filtering" aria-label="Permalink to &quot;Transition Filtering&quot;">​</a></h3><p>Each agent only sees transitions for their role:</p><ul><li>Business-analyst sees only <code>role: business-analyst</code> transitions</li><li>Architect sees only <code>role: architect</code> transitions</li><li>Developer sees only <code>role: developer</code> transitions</li><li>Transitions with no <code>role</code> shown to everyone</li></ul><h3 id="validation" tabindex="-1">Validation <a class="header-anchor" href="#validation" aria-label="Permalink to &quot;Validation&quot;">​</a></h3><p><strong>Tool Validation</strong> (<code>proceed_to_phase</code>):</p><ul><li>Verifies agent has valid transition to target phase</li><li>Prevents agents from proceeding when not responsible</li><li>Clear error messages when validation fails</li></ul><p><strong>Plan File Editing</strong>:</p><ul><li>Enforced via instructions (cannot validate at tool level)</li><li>RESPONSIBLE: &quot;Only you can edit the plan file&quot;</li><li>CONSULTED: &quot;Do NOT edit the plan file&quot;</li></ul><h2 id="usage-examples" tabindex="-1">Usage Examples <a class="header-anchor" href="#usage-examples" aria-label="Permalink to &quot;Usage Examples&quot;">​</a></h2><h3 id="starting-a-feature-with-team" tabindex="-1">Starting a Feature with Team <a class="header-anchor" href="#starting-a-feature-with-team" aria-label="Permalink to &quot;Starting a Feature with Team&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Human operator (via Claude Desktop + crowd-mcp):</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">&quot;Spawn business-analyst, architect, and developer agents to build user authentication&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Agents spawn and start sdd-feature-crowd workflow</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Each agent calls whats_next() and gets role-specific instructions</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Business-analyst (RESPONSIBLE in analyze):</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Analyzes</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> requirements</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> architect:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;What authentication patterns do we use?&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> developer:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;How complex is OAuth integration?&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Completes</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> analysis</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Hands</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> off</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> specify</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> phase</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Business-analyst (RESPONSIBLE in specify):</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Creates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> specification</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> team</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> for</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> review</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Hands</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> off</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> architect</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Architect (RESPONSIBLE in plan):</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Creates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> technical</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plan</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> developer</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> for</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> feedback</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Creates</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> task</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> breakdown</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Hands</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> off</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> developer</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Developer (RESPONSIBLE in implement):</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Implements</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> features</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> architect</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> with</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> design</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> questions</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Messages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> business-analyst</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> for</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> requirement</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clarifications</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">-</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Completes</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> implementation</span></span></code></pre></div><h3 id="agent-perspectives" tabindex="-1">Agent Perspectives <a class="header-anchor" href="#agent-perspectives" aria-label="Permalink to &quot;Agent Perspectives&quot;">​</a></h3><p><strong>What business-analyst sees in specify phase</strong>:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>You are RESPONSIBLE for the specify phase.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>You have exclusive control:</span></span>
<span class="line"><span>- Only you can edit the plan file</span></span>
<span class="line"><span>- Only you can proceed to next phase</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Tasks:</span></span>
<span class="line"><span>- Create specification...</span></span>
<span class="line"><span>- Use send_message to ask architect about technical feasibility</span></span>
<span class="line"><span>- Use send_message to ask developer about implementation complexity</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Before proceeding:</span></span>
<span class="line"><span>- Send handoff message to architect</span></span>
<span class="line"><span>- Report to operator</span></span>
<span class="line"><span>- Call proceed_to_phase</span></span></code></pre></div><p><strong>What architect sees in specify phase</strong>:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>You are CONSULTED during the specify phase.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Business-analyst is driving this work.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Your responsibilities:</span></span>
<span class="line"><span>- Monitor messages for questions</span></span>
<span class="line"><span>- Provide technical feasibility input</span></span>
<span class="line"><span>- Review specification when asked</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Constraints:</span></span>
<span class="line"><span>- Do NOT edit plan file</span></span>
<span class="line"><span>- Do NOT proceed to next phase</span></span></code></pre></div><h2 id="best-practices" tabindex="-1">Best Practices <a class="header-anchor" href="#best-practices" aria-label="Permalink to &quot;Best Practices&quot;">​</a></h2><h3 id="_1-always-call-whats-next" tabindex="-1">1. Always Call whats_next() <a class="header-anchor" href="#_1-always-call-whats-next" aria-label="Permalink to &quot;1. Always Call whats_next()&quot;">​</a></h3><p>Every agent should call <code>whats_next()</code> after each user message to get current phase guidance.</p><h3 id="_2-use-messaging-proactively" tabindex="-1">2. Use Messaging Proactively <a class="header-anchor" href="#_2-use-messaging-proactively" aria-label="Permalink to &quot;2. Use Messaging Proactively&quot;">​</a></h3><p>Agents should actively collaborate:</p><ul><li>Ask questions when uncertain</li><li>Request reviews before proceeding</li><li>Share information proactively</li><li>Keep operator informed of progress</li></ul><h3 id="_3-respect-role-boundaries" tabindex="-1">3. Respect Role Boundaries <a class="header-anchor" href="#_3-respect-role-boundaries" aria-label="Permalink to &quot;3. Respect Role Boundaries&quot;">​</a></h3><ul><li>Only RESPONSIBLE agent edits plan file</li><li>Only RESPONSIBLE agent calls proceed_to_phase</li><li>CONSULTED agents wait for questions</li><li>Clear communication about role transitions</li></ul><h3 id="_4-explicit-handoffs" tabindex="-1">4. Explicit Handoffs <a class="header-anchor" href="#_4-explicit-handoffs" aria-label="Permalink to &quot;4. Explicit Handoffs&quot;">​</a></h3><p>When transitioning phases:</p><ol><li>Complete your work</li><li>Send handoff message to next responsible agent</li><li>Notify other team members</li><li>Report to operator</li><li>Call proceed_to_phase</li></ol><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to &quot;Troubleshooting&quot;">​</a></h2><h3 id="agent-with-role-x-cannot-proceed" tabindex="-1">&quot;Agent with role &#39;X&#39; cannot proceed&quot; <a class="header-anchor" href="#agent-with-role-x-cannot-proceed" aria-label="Permalink to &quot;&quot;Agent with role &#39;X&#39; cannot proceed&quot;&quot;">​</a></h3><p><strong>Cause</strong>: Agent trying to proceed when not responsible for target phase</p><p><strong>Solution</strong>: Only the responsible agent can call <code>proceed_to_phase</code>. Check workflow to see who should be driving the target phase.</p><h3 id="agent-not-seeing-transitions" tabindex="-1">Agent Not Seeing Transitions <a class="header-anchor" href="#agent-not-seeing-transitions" aria-label="Permalink to &quot;Agent Not Seeing Transitions&quot;">​</a></h3><p><strong>Cause</strong>: <code>VIBE_ROLE</code> not set or doesn&#39;t match workflow roles</p><p><strong>Solution</strong>: Verify agent configuration has <code>VIBE_ROLE</code> environment variable set correctly.</p><h3 id="multiple-agents-editing-plan-file" tabindex="-1">Multiple Agents Editing Plan File <a class="header-anchor" href="#multiple-agents-editing-plan-file" aria-label="Permalink to &quot;Multiple Agents Editing Plan File&quot;">​</a></h3><p><strong>Cause</strong>: Agents not following role instructions</p><p><strong>Solution</strong>: Ensure agents read and follow their role-specific instructions. Only RESPONSIBLE agent should edit plan file.</p><h2 id="technical-details" tabindex="-1">Technical Details <a class="header-anchor" href="#technical-details" aria-label="Permalink to &quot;Technical Details&quot;">​</a></h2><h3 id="environment-variables" tabindex="-1">Environment Variables <a class="header-anchor" href="#environment-variables" aria-label="Permalink to &quot;Environment Variables&quot;">​</a></h3><ul><li><strong>VIBE_ROLE</strong>: Agent&#39;s role (business-analyst, architect, developer) <ul><li>Required for collaborative workflows</li><li>Optional for single-agent workflows</li></ul></li><li><strong>WORKFLOW_DOMAINS</strong>: Filter workflows by domain <ul><li>Set to <code>sdd-crowd</code> for collaborative workflows</li><li>Can combine: <code>sdd-crowd,sdd</code> for both</li></ul></li></ul><h3 id="workflow-schema" tabindex="-1">Workflow Schema <a class="header-anchor" href="#workflow-schema" aria-label="Permalink to &quot;Workflow Schema&quot;">​</a></h3><p>Collaborative workflows extend the standard workflow schema:</p><ul><li><code>role?: string</code> on transitions</li><li><code>collaboration?: boolean</code> in metadata</li><li><code>requiredRoles?: string[]</code> in metadata</li></ul><p>All fields optional - backward compatible with existing workflows.</p><h2 id="resources" tabindex="-1">Resources <a class="header-anchor" href="#resources" aria-label="Permalink to &quot;Resources&quot;">​</a></h2><ul><li><p><strong>Agent Templates</strong>: <code>.crowd/agents/</code></p><ul><li>business-analyst.yaml</li><li>architect.yaml</li><li>developer.yaml</li></ul></li><li><p><strong>Workflows</strong>: <code>resources/workflows/sdd-crowd/</code></p><ul><li>sdd-feature-crowd.yaml</li><li>sdd-bugfix-crowd.yaml</li><li>sdd-greenfield-crowd.yaml</li></ul></li><li><p><strong>Tests</strong>: <code>test/integration/crowd-workflows.test.ts</code></p><ul><li>11 tests covering all collaboration features</li></ul></li><li><p><strong>Integration</strong>: Designed for <a href="https://github.com/mrsimpson/crowd-mcp" target="_blank" rel="noreferrer">crowd-mcp</a></p></li></ul>`,115)])])}const g=a(t,[["render",l]]);export{k as __pageData,g as default};
