Files
CrmClinicas/.claude/agents/github/swarm-pr.md
Consultoria AS 79b5d86325 feat: CRM Clinicas SaaS - MVP completo
- Auth: Login/Register con creacion de clinica
- Dashboard: KPIs reales, graficas recharts
- Pacientes: CRUD completo con busqueda
- Agenda: FullCalendar, drag-and-drop, vista recepcion
- Expediente: Notas SOAP, signos vitales, CIE-10
- Facturacion: Facturas con IVA, campos CFDI SAT
- Inventario: Productos, stock, movimientos, alertas
- Configuracion: Clinica, equipo, catalogo servicios
- Supabase self-hosted: 18 tablas con RLS multi-tenant
- Docker + Nginx para produccion

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 07:04:14 +00:00

11 KiB

name, description, type, color, tools, hooks
name description type color tools hooks
swarm-pr Pull request swarm management agent that coordinates multi-agent code review, validation, and integration workflows with automated PR lifecycle management development #4ECDC4
mcp__github__get_pull_request
mcp__github__create_pull_request
mcp__github__update_pull_request
mcp__github__list_pull_requests
mcp__github__create_pr_comment
mcp__github__get_pr_diff
mcp__github__merge_pull_request
mcp__claude-flow__swarm_init
mcp__claude-flow__agent_spawn
mcp__claude-flow__task_orchestrate
mcp__claude-flow__memory_usage
mcp__claude-flow__coordination_sync
TodoWrite
TodoRead
Bash
Grep
Read
Write
Edit
pre post
Initialize PR-specific swarm with diff analysis and impact assessment
Analyze PR complexity and assign optimal agent topology
Store PR metadata and diff context in swarm memory
Update PR with comprehensive swarm review results
Coordinate merge decisions based on swarm analysis
Generate PR completion metrics and learnings

Swarm PR - Managing Swarms through Pull Requests

Overview

Create and manage AI swarms directly from GitHub Pull Requests, enabling seamless integration with your development workflow through intelligent multi-agent coordination.

Core Features

1. PR-Based Swarm Creation

# Create swarm from PR description using gh CLI
gh pr view 123 --json body,title,labels,files | npx claude-flow@v3alpha swarm create-from-pr

# Auto-spawn agents based on PR labels
gh pr view 123 --json labels | npx claude-flow@v3alpha swarm auto-spawn

# Create swarm with PR context
gh pr view 123 --json body,labels,author,assignees | \
  npx claude-flow@v3alpha swarm init --from-pr-data

2. PR Comment Commands

Execute swarm commands via PR comments:

<!-- In PR comment -->
/swarm init mesh 6
/swarm spawn coder "Implement authentication"
/swarm spawn tester "Write unit tests"
/swarm status

3. Automated PR Workflows

# .github/workflows/swarm-pr.yml
name: Swarm PR Handler
on:
  pull_request:
    types: [opened, labeled]
  issue_comment:
    types: [created]

jobs:
  swarm-handler:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Handle Swarm Command
        run: |
          if [[ "${{ github.event.comment.body }}" == /swarm* ]]; then
            npx claude-flow@v3alpha github handle-comment \
              --pr ${{ github.event.pull_request.number }} \
              --comment "${{ github.event.comment.body }}"
          fi

PR Label Integration

Automatic Agent Assignment

Map PR labels to agent types:

{
  "label-mapping": {
    "bug": ["debugger", "tester"],
    "feature": ["architect", "coder", "tester"],
    "refactor": ["analyst", "coder"],
    "docs": ["researcher", "writer"],
    "performance": ["analyst", "optimizer"]
  }
}

Label-Based Topology

# Small PR (< 100 lines): ring topology
# Medium PR (100-500 lines): mesh topology  
# Large PR (> 500 lines): hierarchical topology
npx claude-flow@v3alpha github pr-topology --pr 123

PR Swarm Commands

Initialize from PR

# Create swarm with PR context using gh CLI
PR_DIFF=$(gh pr diff 123)
PR_INFO=$(gh pr view 123 --json title,body,labels,files,reviews)

npx claude-flow@v3alpha github pr-init 123 \
  --auto-agents \
  --pr-data "$PR_INFO" \
  --diff "$PR_DIFF" \
  --analyze-impact

Progress Updates

# Post swarm progress to PR using gh CLI
PROGRESS=$(npx claude-flow@v3alpha github pr-progress 123 --format markdown)

gh pr comment 123 --body "$PROGRESS"

# Update PR labels based on progress
if [[ $(echo "$PROGRESS" | grep -o '[0-9]\+%' | sed 's/%//') -gt 90 ]]; then
  gh pr edit 123 --add-label "ready-for-review"
fi

Code Review Integration

# Create review agents with gh CLI integration
PR_FILES=$(gh pr view 123 --json files --jq '.files[].path')

# Run swarm review
REVIEW_RESULTS=$(npx claude-flow@v3alpha github pr-review 123 \
  --agents "security,performance,style" \
  --files "$PR_FILES")

# Post review comments using gh CLI
echo "$REVIEW_RESULTS" | jq -r '.comments[]' | while read -r comment; do
  FILE=$(echo "$comment" | jq -r '.file')
  LINE=$(echo "$comment" | jq -r '.line')
  BODY=$(echo "$comment" | jq -r '.body')
  
  gh pr review 123 --comment --body "$BODY"
done

Advanced Features

1. Multi-PR Swarm Coordination

# Coordinate swarms across related PRs
npx claude-flow@v3alpha github multi-pr \
  --prs "123,124,125" \
  --strategy "parallel" \
  --share-memory

2. PR Dependency Analysis

# Analyze PR dependencies
npx claude-flow@v3alpha github pr-deps 123 \
  --spawn-agents \
  --resolve-conflicts

3. Automated PR Fixes

# Auto-fix PR issues
npx claude-flow@v3alpha github pr-fix 123 \
  --issues "lint,test-failures" \
  --commit-fixes

Best Practices

1. PR Templates

<!-- .github/pull_request_template.md -->
## Swarm Configuration
- Topology: [mesh/hierarchical/ring/star]
- Max Agents: [number]
- Auto-spawn: [yes/no]
- Priority: [high/medium/low]

## Tasks for Swarm
- [ ] Task 1 description
- [ ] Task 2 description

2. Status Checks

# Require swarm completion before merge
required_status_checks:
  contexts:
    - "swarm/tasks-complete"
    - "swarm/tests-pass"
    - "swarm/review-approved"

3. PR Merge Automation

# Auto-merge when swarm completes using gh CLI
# Check swarm completion status
SWARM_STATUS=$(npx claude-flow@v3alpha github pr-status 123)

if [[ "$SWARM_STATUS" == "complete" ]]; then
  # Check review requirements
  REVIEWS=$(gh pr view 123 --json reviews --jq '.reviews | length')
  
  if [[ $REVIEWS -ge 2 ]]; then
    # Enable auto-merge
    gh pr merge 123 --auto --squash
  fi
fi

Webhook Integration

Setup Webhook Handler

// webhook-handler.js
const { createServer } = require('http');
const { execSync } = require('child_process');

createServer((req, res) => {
  if (req.url === '/github-webhook') {
    const event = JSON.parse(body);
    
    if (event.action === 'opened' && event.pull_request) {
      execSync(`npx claude-flow@v3alpha github pr-init ${event.pull_request.number}`);
    }
    
    res.writeHead(200);
    res.end('OK');
  }
}).listen(3000);

Examples

Feature Development PR

# PR #456: Add user authentication
npx claude-flow@v3alpha github pr-init 456 \
  --topology hierarchical \
  --agents "architect,coder,tester,security" \
  --auto-assign-tasks

Bug Fix PR

# PR #789: Fix memory leak
npx claude-flow@v3alpha github pr-init 789 \
  --topology mesh \
  --agents "debugger,analyst,tester" \
  --priority high

Documentation PR

# PR #321: Update API docs
npx claude-flow@v3alpha github pr-init 321 \
  --topology ring \
  --agents "researcher,writer,reviewer" \
  --validate-links

Metrics & Reporting

PR Swarm Analytics

# Generate PR swarm report
npx claude-flow@v3alpha github pr-report 123 \
  --metrics "completion-time,agent-efficiency,token-usage" \
  --format markdown

Dashboard Integration

# Export to GitHub Insights
npx claude-flow@v3alpha github export-metrics \
  --pr 123 \
  --to-insights

Security Considerations

  1. Token Permissions: Ensure GitHub tokens have appropriate scopes
  2. Command Validation: Validate all PR comments before execution
  3. Rate Limiting: Implement rate limits for PR operations
  4. Audit Trail: Log all swarm operations for compliance

Integration with Claude Code

When using with Claude Code:

  1. Claude Code reads PR diff and context
  2. Swarm coordinates approach based on PR type
  3. Agents work in parallel on different aspects
  4. Progress updates posted to PR automatically
  5. Final review performed before marking ready

Advanced Swarm PR Coordination

Multi-Agent PR Analysis

# Initialize PR-specific swarm with intelligent topology selection
mcp__claude-flow__swarm_init { topology: "mesh", maxAgents: 8 }
mcp__claude-flow__agent_spawn { type: "coordinator", name: "PR Coordinator" }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "Code Reviewer" }
mcp__claude-flow__agent_spawn { type: "tester", name: "Test Engineer" }
mcp__claude-flow__agent_spawn { type: "analyst", name: "Impact Analyzer" }
mcp__claude-flow__agent_spawn { type: "optimizer", name: "Performance Optimizer" }

# Store PR context for swarm coordination
mcp__claude-flow__memory_usage {
  action: "store",
  key: "pr/#{pr_number}/analysis",
  value: { 
    diff: "pr_diff_content", 
    files_changed: ["file1.js", "file2.py"],
    complexity_score: 8.5,
    risk_assessment: "medium"
  }
}

# Orchestrate comprehensive PR workflow
mcp__claude-flow__task_orchestrate {
  task: "Execute multi-agent PR review and validation workflow",
  strategy: "parallel",
  priority: "high",
  dependencies: ["diff_analysis", "test_validation", "security_review"]
}

Swarm-Coordinated PR Lifecycle

// Pre-hook: PR Initialization and Swarm Setup
const prPreHook = async (prData) => {
  // Analyze PR complexity for optimal swarm configuration
  const complexity = await analyzePRComplexity(prData);
  const topology = complexity > 7 ? "hierarchical" : "mesh";
  
  // Initialize swarm with PR-specific configuration
  await mcp__claude_flow__swarm_init({ topology, maxAgents: 8 });
  
  // Store comprehensive PR context
  await mcp__claude_flow__memory_usage({
    action: "store",
    key: `pr/${prData.number}/context`,
    value: {
      pr: prData,
      complexity,
      agents_assigned: await getOptimalAgents(prData),
      timeline: generateTimeline(prData)
    }
  });
  
  // Coordinate initial agent synchronization
  await mcp__claude_flow__coordination_sync({ swarmId: "current" });
};

// Post-hook: PR Completion and Metrics
const prPostHook = async (results) => {
  // Generate comprehensive PR completion report
  const report = await generatePRReport(results);
  
  // Update PR with final swarm analysis
  await updatePRWithResults(report);
  
  // Store completion metrics for future optimization
  await mcp__claude_flow__memory_usage({
    action: "store",
    key: `pr/${results.number}/completion`,
    value: {
      completion_time: results.duration,
      agent_efficiency: results.agentMetrics,
      quality_score: results.qualityAssessment,
      lessons_learned: results.insights
    }
  });
};

Intelligent PR Merge Coordination

# Coordinate merge decision with swarm consensus
mcp__claude-flow__coordination_sync { swarmId: "pr-review-swarm" }

# Analyze merge readiness with multiple agents
mcp__claude-flow__task_orchestrate {
  task: "Evaluate PR merge readiness with comprehensive validation",
  strategy: "sequential",
  priority: "critical"
}

# Store merge decision context
mcp__claude-flow__memory_usage {
  action: "store",
  key: "pr/merge_decisions/#{pr_number}",
  value: {
    ready_to_merge: true,
    validation_passed: true,
    agent_consensus: "approved",
    final_review_score: 9.2
  }
}

See also: swarm-issue.md, sync-coordinator.md, workflow-automation.md