Claude Code Plugins

Community-maintained marketplace

Feedback

agent-coordination-patterns

@nbarthel/claudy
0
0

Optimal multi-agent coordination strategies for the rails-architect

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name agent-coordination-patterns
description Optimal multi-agent coordination strategies for the rails-architect
auto_invoke true
trigger_for rails-architect
tags coordination, orchestration, multi-agent, workflow, parallel, sequential
priority 1
version 2

Agent Coordination Patterns Skill

Provides optimal coordination strategies for multi-agent Rails workflows.

What This Skill Does

For Rails Architect:

  • Parallel vs sequential execution decisions
  • Dependency management between agents
  • Error recovery across agent handoffs
  • State management in multi-agent workflows

Auto-invokes: Only for rails-architect agent Purpose: Optimize agent coordination for efficiency

Coordination Strategies

1. Parallel Execution

When to use:

  • Tasks are independent
  • No shared dependencies
  • Can execute simultaneously

Example:

Feature: Blog with posts and comments

Parallel execution:
├── Agent 1: Create Post model
└── Agent 2: Create Comment model

Both can start immediately (independent models)

Pattern:

Task tool invocations:
1. Invoke rails-model-specialist (Post) - don't wait
2. Invoke rails-model-specialist (Comment) - don't wait
3. Wait for both completions
4. Proceed with next phase

Benefits:

  • 2x faster for 2 independent tasks
  • Better resource utilization
  • Faster user feedback

2. Sequential Execution

When to use:

  • Task B depends on Task A output
  • Shared state modification
  • Order matters for correctness

Example:

Feature: API endpoint for posts

Sequential execution:
1. Create Post model (needed by controller)
2. Wait for completion
3. Create PostsController (uses Post model)
4. Wait for completion
5. Create tests (test both model + controller)

Pattern:

Task tool invocations:
1. Invoke rails-model-specialist (Post)
2. Wait for completion
3. Invoke rails-controller-specialist (uses Post)
4. Wait for completion
5. Invoke rails-test-specialist

Benefits:

  • Ensures correct dependency order
  • Avoids race conditions
  • Clearer error attribution

3. Hybrid Execution

When to use:

  • Mix of dependent and independent tasks
  • Optimize for maximum parallelism

Example:

Feature: Complete e-commerce order flow

Phase 1 (Parallel):
├── Create Order model
├── Create OrderItem model
└── Create Product model (if needed)

Phase 2 (Sequential after Phase 1):
├── Create OrderProcessingService (needs Order, OrderItem, Product)

Phase 3 (Parallel):
├── Create OrdersController
└── Create API serializers

Phase 4 (Sequential):
└── Create comprehensive tests

Pattern:

# Phase 1
parallel_invoke([
  rails-model-specialist(Order),
  rails-model-specialist(OrderItem),
  rails-model-specialist(Product)
])
wait_all()

# Phase 2
invoke(rails-service-specialist(OrderProcessingService))
wait()

# Phase 3
parallel_invoke([
  rails-controller-specialist(OrdersController),
  rails-view-specialist(Serializers)
])
wait_all()

# Phase 4
invoke(rails-test-specialist(ComprehensiveTests))

Benefits:

  • Maximizes parallelism
  • Respects dependencies
  • Optimal execution time

Dependency Analysis

Dependency Types

1. Model Dependencies:

User model → Post model (belongs_to :user)
Post model → Comment model (has_many :comments)

Order: User → Post → Comment (sequential)

2. Controller Dependencies:

Model exists → Controller can be created
Routes defined → Controller actions valid

Order: Model → Controller (sequential)

3. View Dependencies:

Controller exists → Views can reference actions
Model exists → Views can access attributes

Order: Model + Controller → Views (sequential after both)

4. Test Dependencies:

Implementation exists → Tests can be written

Order: Feature implementation → Tests (sequential)
Exception: TDD approach inverts this (tests first)

Dependency Detection

Automatic detection:

# Code analysis
class Post < ApplicationRecord
  belongs_to :user  # Depends on User model
end

# Architect detects:
# - User model must exist before Post
# - Sequential: User → Post

Manual specification:

User specifies: "Create Order with OrderItems"

Architect infers:
- OrderItem references Order (foreign key)
- Order must be created first
- Sequential: Order → OrderItem

Error Recovery Patterns

Pattern 1: Retry with Fix

Scenario: Agent fails with correctable error

Strategy:

1. Agent fails (e.g., missing gem)
2. Analyze error message
3. Apply fix (add gem to Gemfile)
4. Retry same agent
5. Success

Max retries: 3 per agent

Pattern 2: Alternative Approach

Scenario: Agent fails, different approach needed

Strategy:

1. Agent fails (e.g., complex service object too ambitious)
2. Analyze failure reason
3. Switch to simpler pattern (extract to concern instead)
4. Invoke different agent or modify parameters
5. Success

Pattern 3: Graceful Degradation

Scenario: Agent fails, feature can be partial

Strategy:

1. Core agent succeeds (Model created)
2. Enhancement agent fails (Serializer generation)
3. Decision: Ship core functionality
4. Log TODO for enhancement
5. Continue with partial implementation

State Management

Passing Context Between Agents

Problem: Agent B needs info from Agent A

Solution 1: File system state

1. Agent A creates Model file
2. Agent B reads Model file
3. Agent B uses Model info (class name, associations)

Solution 2: Explicit parameter passing

1. Agent A returns: { model_name: "Post", attributes: [...] }
2. Architect stores in context
3. Agent B receives context: create_controller(context[:model_name])

Shared State Conflicts

Problem: Two agents modify same file

Solution: Sequential execution

Scenario: Two agents both need to modify routes.rb

Wrong (parallel):
├── Agent A: adds posts routes
└── Agent B: adds comments routes
Result: Race condition, lost changes

Correct (sequential):
1. Agent A: adds posts routes
2. Wait for completion
3. Agent B: adds comments routes (reads latest routes.rb)
Result: Both changes preserved

Performance Optimization

Parallelism Limits

Don't over-parallelize:

Bad: Spawn 10 agents simultaneously
- Resource contention
- Harder to debug
- Diminishing returns

Good: Spawn 2-3 agents per phase
- Manageable
- Clear progress
- Easier error tracking

Execution Time Estimates

Sequential baseline:

7 agents × 5 min each = 35 min total

With optimal parallelism:

Phase 1: 2 agents parallel = 5 min
Phase 2: 3 agents parallel = 5 min
Phase 3: 2 agents parallel = 5 min
Total: 15 min (2.3x faster)

Configuration

# .agent-coordination.yml
execution:
  max_parallel_agents: 3
  retry_limit: 3
  timeout_per_agent: 300  # 5 min

dependencies:
  auto_detect: true
  strict_ordering: false

error_recovery:
  retry_on_failure: true
  alternative_approaches: true
  graceful_degradation: true

References

  • Orchestration Pattern: Used by rails-architect agent
  • Task Tool: Native Claude Code multi-agent support
  • Pattern Library: /patterns/api-patterns.md for feature patterns

This skill helps the architect coordinate agents efficiently for fast, reliable implementations.