home / skills / madappgang / claude-code / claudemem-orchestration

This skill coordinates multi-agent code analysis by running claudemem once and sharing results for parallel investigation and consensus.

npx playbooks add skill madappgang/claude-code --skill claudemem-orchestration

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
10.1 KB
---
name: claudemem-orchestration
description: Use when orchestrating multi-agent code analysis with claudemem. Run claudemem once, share output across parallel agents. Enables parallel investigation, consensus analysis, and role-based command mapping.
updated: 2026-01-20
keywords: claudemem, orchestration, multi-agent, parallel-execution, consensus
allowed-tools: Bash, Task, Read, Write, AskUserQuestion
skills: orchestration:multi-model-validation
---

# Claudemem Multi-Agent Orchestration

**Version:** 1.1.0
**Purpose:** Coordinate multiple agents using shared claudemem output

## Overview

When multiple agents need to investigate the same codebase:
1. **Run claudemem ONCE** to get structural overview
2. **Write output to shared file** in session directory
3. **Launch agents in parallel** - all read the same file
4. **Consolidate results** with consensus analysis

This pattern avoids redundant claudemem calls and enables consensus-based prioritization.

**For parallel execution patterns, see:** `orchestration:multi-model-validation` skill

## Claudemem-Specific Patterns

This skill focuses on claudemem-specific orchestration. For general parallel execution:
- **4-Message Pattern** - See `orchestration:multi-model-validation` Pattern 1
- **Session Setup** - See `orchestration:multi-model-validation` Pattern 0
- **Statistics Collection** - See `orchestration:multi-model-validation` Pattern 7

### Pattern 1: Shared Claudemem Output

**Purpose:** Run expensive claudemem commands ONCE, share results across agents.

```bash
# Create unique session directory (per orchestration:multi-model-validation Pattern 0)
SESSION_ID="analysis-$(date +%Y%m%d-%H%M%S)-$(head -c 4 /dev/urandom | xxd -p)"
SESSION_DIR="/tmp/${SESSION_ID}"
mkdir -p "$SESSION_DIR"

# Run claudemem ONCE, write to shared files
claudemem --agent map "feature area" > "$SESSION_DIR/structure-map.md"
claudemem --agent test-gaps > "$SESSION_DIR/test-gaps.md" 2>&1 || echo "No gaps found" > "$SESSION_DIR/test-gaps.md"
claudemem --agent dead-code > "$SESSION_DIR/dead-code.md" 2>&1 || echo "No dead code" > "$SESSION_DIR/dead-code.md"

# Export session info
echo "$SESSION_ID" > "$SESSION_DIR/session-id.txt"
```

**Why shared output matters:**
- Claudemem indexing is expensive (full AST parse)
- Same index serves all queries in session
- Parallel agents reading same file = no redundant computation

### Pattern 2: Role-Based Agent Distribution

After running claudemem, distribute to role-specific agents:

```
# Parallel Execution (ONLY Task calls - per 4-Message Pattern)
Task: architect-detective
  Prompt: "Analyze architecture from $SESSION_DIR/structure-map.md.
           Focus on layer boundaries and design patterns.
           Write findings to $SESSION_DIR/architect-analysis.md"
---
Task: tester-detective
  Prompt: "Analyze test gaps from $SESSION_DIR/test-gaps.md.
           Prioritize coverage recommendations.
           Write findings to $SESSION_DIR/tester-analysis.md"
---
Task: developer-detective
  Prompt: "Analyze dead code from $SESSION_DIR/dead-code.md.
           Identify cleanup opportunities.
           Write findings to $SESSION_DIR/developer-analysis.md"

All 3 execute simultaneously (3x speedup!)
```

### Pattern 3: Consolidation with Ultrathink

```
Task: ultrathink-detective
  Prompt: "Consolidate analyses from:
           - $SESSION_DIR/architect-analysis.md
           - $SESSION_DIR/tester-analysis.md
           - $SESSION_DIR/developer-analysis.md

           Create unified report with prioritized action items.
           Write to $SESSION_DIR/consolidated-analysis.md"
```

### Pattern 4: Consolidated Feedback Reporting (v0.8.0+)

When multiple agents perform searches, consolidate feedback for efficiency.

**Why Consolidate?**

- Avoid duplicate feedback submissions
- Single point of failure handling
- Cleaner session cleanup

**Shared Feedback Collection:**

Each agent writes feedback to a shared file in the session directory:

```bash
# Agent writes feedback entry (atomic with flock)
report_agent_feedback() {
  local query="$1"
  local helpful="$2"
  local unhelpful="$3"

  # Use file locking to prevent race conditions
  (
    flock -x 200
    printf '%s|%s|%s\n' "$query" "$helpful" "$unhelpful" >> "$SESSION_DIR/feedback.log"
  ) 200>"$SESSION_DIR/feedback.lock"
}

# Usage in agent
report_agent_feedback "$SEARCH_QUERY" "$HELPFUL_IDS" "$UNHELPFUL_IDS"
```

**Orchestrator Consolidation:**

After all agents complete, the orchestrator submits all feedback:

```bash
consolidate_feedback() {
  local session_dir="$1"
  local feedback_log="$session_dir/feedback.log"

  # Skip if no feedback collected
  [ -f "$feedback_log" ] || return 0

  # Check if feedback command available (v0.8.0+)
  if ! claudemem feedback --help 2>&1 | grep -qi "feedback"; then
    echo "Note: Search feedback requires claudemem v0.8.0+"
    return 0
  fi

  local success=0
  local failed=0

  while IFS='|' read -r query helpful unhelpful; do
    # Skip empty lines
    [ -n "$query" ] || continue

    if timeout 5 claudemem feedback \
      --query "$query" \
      --helpful "$helpful" \
      --unhelpful "$unhelpful" 2>/dev/null; then
      ((success++))
    else
      ((failed++))
    fi
  done < "$feedback_log"

  echo "Feedback: $success submitted, $failed failed"

  # Cleanup
  rm -f "$feedback_log" "$session_dir/feedback.lock"
}

# Call after consolidation
consolidate_feedback "$SESSION_DIR"
```

**Multi-Agent Workflow Integration:**

```
Phase 1: Session Setup
  └── Create SESSION_DIR with feedback.log

Phase 2: Parallel Agent Execution
  └── Agent 1: Search → Track → Write feedback entry
  └── Agent 2: Search → Track → Write feedback entry
  └── Agent 3: Search → Track → Write feedback entry

Phase 3: Results Consolidation
  └── Consolidate agent outputs

Phase 4: Feedback Consolidation (NEW)
  └── Read all feedback entries from log
  └── Submit each to claudemem
  └── Report success/failure counts

Phase 5: Cleanup
  └── Remove SESSION_DIR (includes feedback files)
```

**Best Practices Update:**

**Do:**
- Use file locking for concurrent writes (`flock -x`)
- Consolidate feedback AFTER agent completion
- Report success/failure counts
- Clean up feedback files after submission

**Don't:**
- Submit feedback from each agent individually
- Skip the version check
- Block on feedback submission failures
- Track feedback for non-search commands (map, symbol, callers, etc.)

## Role-Based Command Mapping

| Agent Role | Primary Commands | Secondary Commands | Focus |
|------------|------------------|-------------------|-------|
| Architect | `map`, `dead-code` | `context` | Structure, cleanup |
| Developer | `callers`, `callees`, `impact` | `symbol` | Modification scope |
| Tester | `test-gaps` | `callers` | Coverage priorities |
| Debugger | `context`, `impact` | `symbol`, `callers` | Error tracing |
| Ultrathink | ALL | ALL | Comprehensive |

## Sequential Investigation Flow

For complex bugs or features requiring ordered investigation:

```
Phase 1: Architecture Understanding
  claudemem --agent map "problem area"  Identify high-PageRank symbols (> 0.05)

Phase 2: Symbol Deep Dive
  For each high-PageRank symbol:
    claudemem --agent context <symbol>    Document dependencies and callers

Phase 3: Impact Assessment (v0.4.0+)
  claudemem --agent impact <primary-symbol>  Document full blast radius

Phase 4: Gap Analysis (v0.4.0+)
  claudemem --agent test-gaps --min-pagerank 0.01  Identify coverage holes in affected code

Phase 5: Action Planning
  Prioritize by: PageRank * impact_depth * test_coverage
```

## Agent System Prompt Integration

When an agent needs deep code analysis, it should reference the claudemem skill:

```yaml
---
skills: code-analysis:claudemem-search, code-analysis:claudemem-orchestration
---
```

The agent then follows this pattern:

1. **Check claudemem status**: `claudemem status`
2. **Index if needed**: `claudemem index`
3. **Run appropriate command** based on role
4. **Write results to session file** for sharing
5. **Return brief summary** to orchestrator

## Best Practices

**Do:**
- Run claudemem ONCE per investigation type
- Write all output to session directory
- Use parallel execution for independent analyses (see `orchestration:multi-model-validation`)
- Consolidate with ultrathink for cross-perspective insights
- Handle empty results gracefully

**Don't:**
- Run same claudemem command multiple times
- Let each agent run its own claudemem (wasteful)
- Skip the consolidation step
- Forget to clean up session directory (automatic TTL cleanup via `session-start.sh`)

## Session Lifecycle Management

**Automatic TTL Cleanup:**

The `session-start.sh` hook automatically cleans up expired session directories:
- Default TTL: 24 hours
- Runs at session start
- Cleans `/tmp/analysis-*`, `/tmp/review-*` directories older than TTL
- See `plugins/code-analysis/hooks/session-start.sh` for implementation

**Manual Cleanup:**

```bash
# Clean up specific session
rm -rf "$SESSION_DIR"

# Clean all old sessions (24+ hours)
find /tmp -maxdepth 1 -name "analysis-*" -o -name "review-*" -mtime +1 -exec rm -rf {} \;
```

## Error Handling Templates

For robust orchestration, handle common claudemem errors. See `claudemem-search` skill for complete error handling templates:

### Empty Results
```bash
RESULT=$(claudemem --agent map "query" 2>/dev/null)
if [ -z "$RESULT" ] || echo "$RESULT" | grep -q "No results found"; then
  echo "No results - try broader keywords or check index status"
fi
```

### Version Compatibility
```bash
# Check if command is available (v0.4.0+ commands)
if claudemem --agent dead-code 2>&1 | grep -q "unknown command"; then
  echo "dead-code requires claudemem v0.4.0+"
  echo "Fallback: Use map command instead"
fi
```

### Index Status
```bash
# Verify index before running commands
if ! claudemem status 2>&1 | grep -qE "[0-9]+ (chunks|symbols)"; then
  echo "Index not found - run: claudemem index"
  exit 1
fi
```

**Reference:** For complete error handling patterns, see templates in `code-analysis:claudemem-search` skill (Templates 1-5)

---

**Maintained by:** MadAppGang
**Plugin:** code-analysis v2.8.0
**Last Updated:** December 2025 (v1.1.0 - Search feedback protocol support)

Overview

This skill coordinates multi-agent code analysis by running claudemem once and sharing its output across parallel agents. It creates a session directory to store claudemem outputs, enables role-based agent distribution, and consolidates results into a prioritized action plan. The pattern reduces redundant indexing and speeds investigations through parallelism and consensus aggregation.

How this skill works

Create a unique session directory and run claudemem commands a single time to produce shared artifacts (structure map, test gaps, dead-code, etc.). Launch multiple agents in parallel; each agent reads the shared files, performs its role-specific analysis, and writes findings back to the session directory. After agents finish, an orchestrator consolidates agent outputs and optionally submits aggregated feedback to claudemem using a safe, version-checked feedback workflow.

When to use it

  • Investigating a codebase where multiple perspectives (architecture, testing, developers) are needed simultaneously
  • When claudemem indexing is expensive and you want to avoid repeated full-index computations
  • To speed triage by running independent analyses in parallel (3x or more speedup)
  • When you need consensus-driven prioritization and a single consolidated action plan
  • Collecting distributed search feedback safely before submitting to claudemem

Best practices

  • Run claudemem ONCE per session and write outputs to a session directory for all agents to read
  • Use file locking (flock) for atomic concurrent writes to feedback or result logs
  • Distribute role-specific commands to agents (architect, tester, developer, debugger, ultrathink)
  • Consolidate agent analyses with an aggregator agent to prioritize action items and handle conflicts
  • Check claudemem version before calling feedback and handle empty results or unknown commands gracefully

Example use cases

  • Run claudemem map, test-gaps, and dead-code once, then run architect/tester/developer agents in parallel to produce targeted analyses
  • Perform sequential deep-dive: map → context for high-PageRank symbols → impact → test-gaps → prioritized action plan
  • Collect search feedback from multiple agents into a locked feedback.log and submit all entries in a single consolidator job
  • Use ultrathink agent to merge perspectives and produce a unified remediation roadmap with prioritized tasks
  • Temporary session directories with TTL cleanup for short-lived investigations to avoid storage buildup

FAQ

What if claudemem is missing commands or returns empty results?

Check claudemem version and index status before running commands. Fallback to broader queries or alternate commands if a specific agent command is unavailable or returns no results.

Should each agent submit feedback directly to claudemem?

No. Agents should append feedback entries to a locked session feedback log. The orchestrator should perform version-checked bulk submission to avoid duplicate or failed submissions.