---
name: research-driven-planning
description: Loop 1 of the Three-Loop Integrated Development System. Research-driven requirements analysis with iterative risk mitigation through 5x pre-mortem cycles using multi-agent consensus. Feeds validated, risk-mitigated plans to parallel-swarm-implementation. Use when starting new features or projects requiring comprehensive planning with <3% failure confidence and evidence-based technology selection.
---

# Research-Driven Planning (Loop 1)

## Purpose

Comprehensive planning with research-backed solutions and iterative risk mitigation that prevents 85-95% of problems before coding begins.

## Specialist Agent Coordination

I coordinate multi-agent research and planning swarms using **explicit agent SOPs** from Claude-Flow's 86-agent ecosystem.

**Methodology** (SOP: Specification → Research → Planning → Execution → Knowledge):
1. **Specification Phase**: Requirements capture with structured SPEC.md
2. **Research Phase**: 6-agent parallel research with self-consistency validation
3. **Planning Phase**: MECE task decomposition with research integration
4. **Execution Phase**: 8-agent Byzantine consensus pre-mortem (5 iterations)
5. **Knowledge Phase**: Planning package generation for Loop 2 integration

**Integration**: Loop 1 of 3. Feeds → `parallel-swarm-implementation` (Loop 2), Receives ← `cicd-intelligent-recovery` (Loop 3) failure patterns.

---

## When to Use This Skill

Activate this skill when:
- Starting a new feature or project requiring comprehensive planning
- Need to prevent problems before coding begins (85-95% failure prevention)
- Want research-backed solutions instead of assumptions (30-60% time savings)
- Require risk analysis with <3% failure confidence
- Building something complex with multiple failure modes
- Need evidence-based planning that feeds into implementation

**DO NOT** use this skill for:
- Quick fixes or trivial changes (use direct implementation)
- Well-understood repetitive tasks (use existing patterns)
- Emergency hotfixes (skip to Loop 2)

---

## Input Contract

```yaml
input:
  project_description: string (required)
    # High-level description of what needs to be built

  requirements:
    functional: array[string] (required)
      # Core features and capabilities
    non_functional: object (optional)
      performance: string
      security: string
      scalability: string

  constraints:
    technical: array[string] (stack, framework, dependencies)
    timeline: string (deadlines, milestones)
    resources: object (team, budget, infrastructure)

  options:
    research_depth: enum[quick, standard, comprehensive] (default: standard)
    premortem_iterations: number (default: 5, range: 3-10)
    failure_threshold: number (default: 3, target: <3%)
```

## Output Contract

```yaml
output:
  specification:
    spec_file: path  # SPEC.md location
    requirements_complete: boolean
    success_criteria: array[string]

  research:
    evidence_sources: number  # Total research sources
    recommendations: array[object]
      solution: string
      confidence: number (0-100)
      evidence: array[url]
    risk_landscape: array[object]
      risk: string
      severity: enum[low, medium, high, critical]
      mitigation: string

  planning:
    enhanced_plan: path  # plan-enhanced.json location
    total_tasks: number
    task_dependencies: object
    estimated_complexity: string

  risk_analysis:
    premortem_iterations: number
    final_failure_confidence: number  # Target: <3%
    critical_risks_mitigated: number
    defense_strategies: array[string]

  integration:
    planning_package: path  # loop1-planning-package.json
    memory_namespace: string  # integration/loop1-to-loop2
    ready_for_loop2: boolean
```

---

## SOP Phase 1: Specification

**Objective**: Define initial requirements with clarity and structure.

### Create SPEC.md

Generate a comprehensive specification document in the project root:

```markdown
# Project Specification

## Overview
[High-level description of what needs to be built]

## Requirements
### Functional Requirements
1. [Core feature 1]
2. [Core feature 2]
...

### Non-Functional Requirements
- Performance: [metrics]
- Security: [requirements]
- Scalability: [targets]
- Compliance: [standards]

## Constraints
- Technical: [language, framework, dependencies]
- Timeline: [deadlines, milestones]
- Resources: [team size, budget, infrastructure]

## Success Criteria
1. [Measurable outcome 1]
2. [Measurable outcome 2]
...

## Out of Scope
- [Explicitly excluded features]
```

### Store Initial Context

```bash
npx claude-flow@alpha memory store \
  "project_spec" \
  "$(cat SPEC.md)" \
  --namespace "loop1/specification"
```

**Output**: Structured SPEC.md file and memory-stored specification

---

## SOP Phase 2: Research (Multi-Agent Evidence Collection)

**Objective**: Comprehensive solution discovery using evidence-based research with **self-consistency validation**.

### Execute 6-Agent Parallel Research SOP

**Agent Coordination Pattern** (Claude Code Task tool - Single Message):

```javascript
// RESEARCH PHASE: 6-Agent Parallel Evidence Collection
// Self-Consistency: Multiple research perspectives + cross-validation

[Single Message - All 6 Research Agents]:
  // Web Research Agents (3 perspectives for self-consistency)
  Task("Web Research Specialist 1",
    "Research [primary_technology] best practices 2024. Focus on: security patterns, industry standards, implementation approaches. Provide evidence with source URLs. Store findings in .claude/.artifacts/web-research-1.json. Use hooks: npx claude-flow@alpha hooks pre-task --description 'web research 1' && npx claude-flow@alpha hooks post-task --task-id 'web-research-1'",
    "researcher")

  Task("Web Research Specialist 2",
    "Research [technology] libraries comparison. Focus on: developer experience, community support, production reliability, security track record. Cross-validate findings from Specialist 1. Store in .claude/.artifacts/web-research-2.json. Use hooks for coordination.",
    "researcher")

  Task("Academic Research Agent",
    "Research [domain] security research papers and compliance requirements. Focus on: recent vulnerabilities, mitigation strategies, industry standards, regulatory requirements. Store in .claude/.artifacts/academic-research.json.",
    "researcher")

  // GitHub Analysis Agents (code quality perspective)
  Task("GitHub Quality Analyst",
    "Analyze top [technology] libraries on GitHub. Focus on: code quality metrics (test coverage, cyclomatic complexity), issue resolution time, commit frequency, maintainer responsiveness. Generate quality rankings. Store in .claude/.artifacts/github-quality.json.",
    "code-analyzer")

  Task("GitHub Security Auditor",
    "Audit [technology] library security. Focus on: vulnerability history, security advisories, patch response time, dependency security. Flag high-risk libraries. Store in .claude/.artifacts/github-security.json.",
    "security-review")

  // Synthesis Coordinator (Plan-and-Solve pattern)
  Task("Research Synthesis Coordinator",
    "Wait for all 5 research agents to complete. Synthesize findings using self-consistency validation: 1) Aggregate all evidence, 2) Cross-validate conflicting recommendations, 3) Calculate confidence scores based on source agreement, 4) Flag any contradictory evidence, 5) Generate ranked recommendations with evidence. Use Byzantine consensus for critical technology decisions (require 3/5 agent agreement). Store final synthesis in .claude/.artifacts/research-synthesis.json. Memory store: npx claude-flow@alpha memory store 'research_findings' \"$(cat .claude/.artifacts/research-synthesis.json)\" --namespace 'loop1/research'",
    "analyst")
```

**Evidence-Based Techniques Applied**:
- **Self-Consistency**: 3 web research agents + cross-validation
- **Plan-and-Solve**: Synthesis coordinator waits, then validates systematically
- **Program-of-Thought**: Explicit step-by-step synthesis workflow
- **Byzantine Consensus**: 3/5 agreement required for critical decisions

### Research Output

This produces:
- **Solution Rankings**: Best approaches with evidence and confidence scores
- **Pattern Library**: Proven implementation patterns from real codebases
- **Risk Identification**: Known pitfalls from real implementations
- **Technology Recommendations**: Evidence-based stack selection with justifications

**Validation Checkpoint**: Research synthesis must include ≥3 sources per major decision.

**Output**: Evidence-based solution landscape with ranked options and risk data

---

## SOP Phase 3: Planning

**Objective**: Generate structured implementation plans with comprehensive context.

### Step 1: Convert SPEC.md to Structured Plan

Use the spec-to-plan transformation:

```bash
/spec:plan
```

This auto-generates `plan.json` with:
- **Task Breakdown**: Hierarchical task decomposition (MECE: Mutually Exclusive, Collectively Exhaustive)
- **Dependencies**: Task ordering and prerequisites
- **Resource Estimates**: Time, complexity, agent assignments
- **Risk Flags**: Tasks identified as high-risk

### Step 2: Enhance Plan with Research Context

Enrich the plan with research findings:

```bash
# Integration script
node <<'EOF'
const plan = require('./plan.json');
const research = require('./.claude/.artifacts/research-synthesis.json');

// Merge research recommendations into plan tasks
plan.tasks.forEach(task => {
  const relevantPatterns = research.patterns.filter(p =>
    p.relevance.includes(task.domain)
  );
  task.recommendedApproaches = relevantPatterns;
  task.knownRisks = research.risks.filter(r => r.applies_to.includes(task.type));
  task.evidenceSources = relevantPatterns.flatMap(p => p.sources);
});

require('fs').writeFileSync('plan-enhanced.json', JSON.stringify(plan, null, 2));
console.log('✅ Plan enhanced with research context');
EOF
```

### Step 3: Store Enhanced Plan

```bash
npx claude-flow@alpha memory store \
  "enhanced_plan" \
  "$(cat plan-enhanced.json)" \
  --namespace "loop1/planning"
```

**Validation Checkpoint**: Enhanced plan must cover all SPEC.md requirements with research-backed approaches.

**Output**: Structured, research-backed implementation plan

---

## SOP Phase 4: Execution (5-Iteration Byzantine Consensus Pre-mortem)

**Objective**: Identify and mitigate failure modes until <3% failure confidence is achieved using **multi-agent Byzantine consensus**.

### 8-Agent Pre-mortem SOP (5 Iterations)

**Agent Coordination Pattern** (Iterative with Consensus):

```bash
#!/bin/bash
# PRE-MORTEM EXECUTION: 5 Iterations with Byzantine Consensus

for ITERATION in {1..5}; do
  echo "=== Pre-mortem Iteration $ITERATION/5 ==="

  # PARALLEL 8-AGENT RISK ANALYSIS (Single Message)
  # Byzantine Consensus: Require 2/3 agreement on risk severity

  Task("Failure Mode Analyst (Optimistic)",
    "Identify failure modes assuming best-case scenarios. What could still go wrong? Consider: integration failures, performance issues, security vulnerabilities, user experience problems. Store in .claude/.artifacts/premortem-iter-$ITERATION-optimistic.json",
    "analyst")

  Task("Failure Mode Analyst (Pessimistic)",
    "Identify failure modes assuming worst-case scenarios. What disasters lurk? Consider: cascade failures, data corruption, security breaches, scalability collapse. Store in .claude/.artifacts/premortem-iter-$ITERATION-pessimistic.json",
    "analyst")

  Task("Failure Mode Analyst (Realistic)",
    "Identify failure modes based on historical data from Loop 3 feedback (if available). What actually fails in practice? Load historical failures: npx claude-flow@alpha memory query 'loop3_failure_patterns' --namespace 'integration/loop3-feedback'. Store in .claude/.artifacts/premortem-iter-$ITERATION-realistic.json",
    "analyst")

  Task("Root Cause Detective 1",
    "For each identified failure, trace back to root causes using 5-Whys methodology. Distinguish symptoms from actual causes. Store causal chains in .claude/.artifacts/premortem-iter-$ITERATION-causes-1.json",
    "researcher")

  Task("Root Cause Detective 2",
    "Cross-validate root causes using fishbone analysis. Identify systemic vs isolated causes. Compare with Detective 1 findings. Store in .claude/.artifacts/premortem-iter-$ITERATION-causes-2.json",
    "analyst")

  Task("Defense Architect",
    "Design defense-in-depth mitigation strategies. Multiple layers of protection per risk. Prioritize by impact: 1) Prevent failure, 2) Detect early, 3) Recover gracefully. Store in .claude/.artifacts/premortem-iter-$ITERATION-mitigations.json",
    "system-architect")

  Task("Cost-Benefit Analyzer",
    "Evaluate mitigation strategies by cost/benefit ratio. Consider: implementation cost, maintenance cost, risk reduction, performance impact. Generate ROI rankings. Store in .claude/.artifacts/premortem-iter-$ITERATION-cba.json",
    "analyst")

  # BYZANTINE CONSENSUS COORDINATOR (waits for all 7 agents)
  Task("Byzantine Consensus Coordinator",
    "Wait for all 7 agents. Apply Byzantine fault-tolerant consensus: 1) Aggregate all identified risks, 2) Require 2/3 agreement (5/7 agents) on risk severity classification, 3) Cross-validate root causes (both detectives must agree), 4) Select mitigations with positive ROI, 5) Calculate overall failure confidence score. Generate consolidated risk registry. Store in .claude/.artifacts/premortem-iter-$ITERATION-consensus.json. Memory store: npx claude-flow@alpha memory store 'premortem_iteration_$ITERATION' \"$(cat .claude/.artifacts/premortem-iter-$ITERATION-consensus.json)\" --namespace 'loop1/execution'",
    "byzantine-coordinator")

  # Calculate iteration confidence
  CONFIDENCE=$(jq '.consensus.failure_confidence' .claude/.artifacts/premortem-iter-$ITERATION-consensus.json)
  AGREEMENT=$(jq '.consensus.agreement_rate' .claude/.artifacts/premortem-iter-$ITERATION-consensus.json)

  echo "Iteration $ITERATION: Failure Confidence = $CONFIDENCE%, Agreement Rate = $AGREEMENT%"

  # Convergence criteria
  if (( $(echo "$CONFIDENCE < 3" | bc -l) )) && (( $(echo "$AGREEMENT > 66" | bc -l) )); then
    echo "✅ <3% failure confidence achieved with 2/3+ Byzantine consensus at iteration $ITERATION"
    break
  fi

  if [ $ITERATION -eq 5 ] && (( $(echo "$CONFIDENCE >= 3" | bc -l) )); then
    echo "⚠️ Warning: Failed to reach <3% confidence after 5 iterations"
    echo "Consider: 1) Breaking down tasks further, 2) Adding constraints to SPEC.md, 3) Running additional iterations"
  fi
done

# Generate final pre-mortem report
node <<'EOF'
const fs = require('fs');
const iterations = [];
for (let i = 1; i <= 5; i++) {
  try {
    iterations.push(JSON.parse(fs.readFileSync(`.claude/.artifacts/premortem-iter-${i}-consensus.json`, 'utf8')));
  } catch {}
}

const finalReport = {
  iterations_completed: iterations.length,
  final_failure_confidence: iterations[iterations.length - 1].consensus.failure_confidence,
  final_agreement_rate: iterations[iterations.length - 1].consensus.agreement_rate,
  total_risks_identified: iterations.reduce((sum, iter) => sum + iter.risks.length, 0),
  critical_risks_mitigated: iterations[iterations.length - 1].mitigations.filter(m => m.priority === 'critical').length,
  convergence_achieved: iterations[iterations.length - 1].consensus.failure_confidence < 3
};

fs.writeFileSync('.claude/.artifacts/premortem-final.json', JSON.stringify(finalReport, null, 2));
console.log('✅ Pre-mortem complete:', JSON.stringify(finalReport, null, 2));
EOF
```

**Evidence-Based Techniques Applied**:
- **Self-Consistency**: 3 failure mode analysts with different perspectives (optimistic/pessimistic/realistic)
- **Byzantine Consensus**: Fault-tolerant agreement on risk severity (2/3 required)
- **Program-of-Thought**: Explicit 5-Whys + fishbone analysis methodology
- **Iterative Refinement**: 5 cycles with convergence criteria

**Convergence Criteria**:
- Failure confidence < 3%
- Byzantine consensus agreement > 66% (2/3+ agents agree)
- No new high-severity risks identified
- All critical risks have mitigation strategies with positive ROI

**Validation Checkpoint**: Pre-mortem must achieve <3% failure confidence or explain why not.

**Output**: Risk-mitigated plan with <3% failure confidence and comprehensive defense-in-depth strategies

---

## SOP Phase 5: Knowledge (Planning Package Generation)

**Objective**: Package and persist validated planning data for Loop 2 and future iterations.

### Step 1: Generate Planning Package

Create comprehensive planning artifact for Loop 2 integration:

```bash
node <<'EOF'
const fs = require('fs');

const planningPackage = {
  metadata: {
    loop: 1,
    phase: 'research-driven-planning',
    timestamp: new Date().toISOString(),
    nextLoop: 'parallel-swarm-implementation',
    version: '1.0.0'
  },
  specification: {
    file: 'SPEC.md',
    content: fs.readFileSync('SPEC.md', 'utf8'),
    requirements_count: (fs.readFileSync('SPEC.md', 'utf8').match(/^###/gm) || []).length
  },
  research: {
    synthesis: JSON.parse(fs.readFileSync('.claude/.artifacts/research-synthesis.json', 'utf8')),
    evidence_sources: JSON.parse(fs.readFileSync('.claude/.artifacts/research-synthesis.json', 'utf8')).total_sources,
    confidence_score: JSON.parse(fs.readFileSync('.claude/.artifacts/research-synthesis.json', 'utf8')).overall_confidence
  },
  planning: {
    enhanced_plan: JSON.parse(fs.readFileSync('plan-enhanced.json', 'utf8')),
    total_tasks: JSON.parse(fs.readFileSync('plan-enhanced.json', 'utf8')).tasks.length,
    estimated_complexity: JSON.parse(fs.readFileSync('plan-enhanced.json', 'utf8')).metadata.complexity
  },
  risk_analysis: {
    premortem: JSON.parse(fs.readFileSync('.claude/.artifacts/premortem-final.json', 'utf8')),
    final_failure_confidence: JSON.parse(fs.readFileSync('.claude/.artifacts/premortem-final.json', 'utf8')).final_failure_confidence,
    critical_risks_mitigated: JSON.parse(fs.readFileSync('.claude/.artifacts/premortem-final.json', 'utf8')).critical_risks_mitigated
  },
  integrationPoints: {
    feedsTo: 'parallel-swarm-implementation',
    receivesFrom: 'cicd-intelligent-recovery',
    memoryNamespaces: {
      specification: 'loop1/specification',
      research: 'loop1/research',
      planning: 'loop1/planning',
      execution: 'loop1/execution',
      output: 'integration/loop1-to-loop2',
      feedback: 'integration/loop3-feedback'
    }
  }
};

fs.writeFileSync(
  '.claude/.artifacts/loop1-planning-package.json',
  JSON.stringify(planningPackage, null, 2)
);

console.log('✅ Planning package created for Loop 2 integration');
console.log(`   Location: .claude/.artifacts/loop1-planning-package.json`);
console.log(`   Research sources: ${planningPackage.research.evidence_sources}`);
console.log(`   Tasks: ${planningPackage.planning.total_tasks}`);
console.log(`   Failure confidence: ${planningPackage.risk_analysis.final_failure_confidence}%`);
EOF
```

### Step 2: Store in Cross-Loop Memory

```bash
# Store for Loop 2 consumption
npx claude-flow@alpha memory store \
  "loop1_complete" \
  "$(cat .claude/.artifacts/loop1-planning-package.json)" \
  --namespace "integration/loop1-to-loop2"

# Tag for Loop 3 feedback integration
npx claude-flow@alpha memory store \
  "loop1_baseline" \
  "$(cat .claude/.artifacts/loop1-planning-package.json)" \
  --namespace "integration/loop3-feedback"

echo "✅ Planning package stored in cross-loop memory"
echo "   Namespace: integration/loop1-to-loop2"
```

### Step 3: Generate Loop 1 Report

Create human-readable summary:

```bash
cat > docs/loop1-report.md <<'EOF'
# Loop 1: Research-Driven Planning - Complete

## Specification Summary
$(head -20 SPEC.md | tail -15)

## Research Findings
- **Evidence Sources**: $(jq '.research.evidence_sources' .claude/.artifacts/loop1-planning-package.json) sources
- **Top Solution**: $(jq -r '.research.synthesis.recommendations[0].solution' .claude/.artifacts/loop1-planning-packag