Skip to content

ciscoittech/roocode-network-engineering

Repository files navigation

RooCode Network Engineering System

Complete network engineering orchestration for RooCode with offline capability

Version: 1.0 Date: October 2025 For: Network Engineers, VoIP Engineers, Security Engineers, AWS Cloud Engineers


🎯 What This System Does

Provides four main orchestrators that coordinate specialized agents for network engineering and cloud tasks:

Network & Infrastructure

  1. 🌐 Network Engineering Orchestrator - Routing (OSPF, BGP, EIGRP), Switching (VLANs, STP), Connectivity
  2. πŸ“ž VoIP Orchestrator - AWS Connect, CUCM, CUC, SIP, call quality
  3. πŸ”’ Security Orchestrator - ISE, Firewalls, NAC, authentication

AWS Cloud & DevOps

  1. ☁️ AWS Cloud Orchestrator - Lambda, DynamoDB, S3, API Gateway, Bedrock, AI Services, DevOps

Each orchestrator launches specialists for:

  • πŸ” Troubleshooting - Diagnose issues systematically
  • πŸ—οΈ Architecture - Design solutions
  • βš™οΈ Implementation - Provide configurations
  • πŸ“„ Documentation - Generate runbooks and diagrams

🌟 Key Features

1. Online Orchestration (Automated)

Orchestrators automatically launch specialists and aggregate results:

User: "OSPF neighbors not forming"

Network Orchestrator:
  β†’ Launches Network Troubleshooter
  β†’ Launches Packet Analyzer (if needed)
  β†’ Launches Network Architect (if redesign needed)
  β†’ Launches Network Engineer (implementation)
  β†’ Launches Runbook Generator (documentation)

Output: Complete analysis + solution + runbook

2. Offline Mode (Script Generation)

Generate diagnostic scripts with logging for offline environments:

User: "I need to troubleshoot BGP but I'll be offline"

Network Orchestrator:
  β†’ Generates diagnostic-bgp.sh with comprehensive logging
  β†’ Script collects: BGP neighbors, routes, config, connectivity
  β†’ User runs script offline β†’ Brings logs back

User: "Here are the logs: [paste]"

Network Orchestrator:
  β†’ Analyzes logs
  β†’ Identifies root cause
  β†’ Provides fix

3. Context-Aware Intelligence

Orchestrators ask clarifying questions when needed:

User: "Users can't authenticate"

Security Orchestrator:
  Asks: "What system?
    A) ISE (802.1X/MAB)
    B) Firewall (VPN)
    C) Both"

  Based on answer β†’ Launches appropriate specialists

4. Customer/Project Organization

Organize work by customer and project:

/network-projects/
β”œβ”€β”€ customer-acme/
β”‚   β”œβ”€β”€ .network-config/          # Customer-specific context
β”‚   β”‚   β”œβ”€β”€ customer-context.md
β”‚   β”‚   β”œβ”€β”€ network-topology.md
β”‚   β”‚   └── device-inventory.md
β”‚   β”œβ”€β”€ voip-migration/
β”‚   β”‚   β”œβ”€β”€ logs/                 # Offline script outputs
β”‚   β”‚   β”œβ”€β”€ scripts/              # Generated scripts
β”‚   β”‚   └── documentation/        # Runbooks, diagrams
β”‚   └── firewall-upgrade/
β”‚       β”œβ”€β”€ logs/
β”‚       β”œβ”€β”€ scripts/
β”‚       └── documentation/

πŸ“‚ Directory Structure

roocode-network-engineering/
β”œβ”€β”€ README.md (this file)
β”œβ”€β”€ INDEX.md (quick navigation)
β”œβ”€β”€ OFFLINE_MODE_GUIDE.md (offline workflow details)
β”‚
β”œβ”€β”€ orchestrators/
β”‚   β”œβ”€β”€ network-orchestrator-export.yaml
β”‚   β”œβ”€β”€ voip-orchestrator-export.yaml
β”‚   β”œβ”€β”€ security-orchestrator-export.yaml
β”‚   └── README.md
β”‚
β”œβ”€β”€ specialists/
β”‚   β”œβ”€β”€ troubleshooting/
β”‚   β”‚   β”œβ”€β”€ ise-troubleshooter-export.yaml
β”‚   β”‚   β”œβ”€β”€ voip-troubleshooter-export.yaml
β”‚   β”‚   β”œβ”€β”€ network-troubleshooter-export.yaml
β”‚   β”‚   β”œβ”€β”€ packet-analyzer-export.yaml
β”‚   β”‚   └── authentication-analyzer-export.yaml
β”‚   β”‚
β”‚   β”œβ”€β”€ architects/
β”‚   β”‚   β”œβ”€β”€ voip-architect-export.yaml
β”‚   β”‚   β”œβ”€β”€ network-architect-export.yaml
β”‚   β”‚   └── security-architect-export.yaml
β”‚   β”‚
β”‚   β”œβ”€β”€ implementation/
β”‚   β”‚   β”œβ”€β”€ voip-engineer-export.yaml
β”‚   β”‚   β”œβ”€β”€ network-engineer-export.yaml
β”‚   β”‚   └── security-engineer-export.yaml
β”‚   β”‚
β”‚   └── documentation/
β”‚       β”œβ”€β”€ runbook-generator-export.yaml
β”‚       β”œβ”€β”€ diagram-generator-export.yaml
β”‚       └── config-documenter-export.yaml
β”‚
β”œβ”€β”€ contexts/ (knowledge bases)
β”‚   β”œβ”€β”€ cucm-complete.md
β”‚   β”œβ”€β”€ sbc-complete.md
β”‚   β”œβ”€β”€ ise-complete.md
β”‚   β”œβ”€β”€ sip-complete.md
β”‚   β”œβ”€β”€ aws-connect.md
β”‚   β”œβ”€β”€ bgp-complete.md
β”‚   β”œβ”€β”€ ospf-complete.md
β”‚   └── README.md
β”‚
└── templates/
    └── customer-project-template/
        β”œβ”€β”€ .network-config/
        β”‚   β”œβ”€β”€ customer-context.md
        β”‚   β”œβ”€β”€ network-topology.md
        β”‚   └── device-inventory.md
        β”œβ”€β”€ logs/
        β”œβ”€β”€ scripts/
        └── documentation/

πŸš€ Quick Start

1. Import Modes into RooCode

Quick Import (All at Once):

# File already created: network-engineering-complete.yaml (300KB)
# Includes all 14 modes (3 orchestrators + 11 specialists)

# Import in RooCode:
# Settings β†’ Custom Modes β†’ Import β†’ network-engineering-complete.yaml

Selective Import:

# Just orchestrators (69KB)
cat orchestrators/*.yaml > orchestrators-only.yaml

# Just troubleshooting (89KB)
cat specialists/troubleshooting/*.yaml > troubleshooting-only.yaml

# Just architects (79KB)
cat specialists/architects/*.yaml > architects-only.yaml

# Just implementation (76KB)
cat specialists/implementation/*.yaml > implementation-only.yaml

See IMPORT_GUIDE.md for:

  • Detailed import instructions
  • Switching between network engineering and development modes
  • Mode groups setup
  • Troubleshooting import issues

2. Set Up Customer/Project Structure

# Copy template for new customer
cp -r templates/customer-project-template/ ~/network-projects/customer-newco/

# Customize customer context
cd ~/network-projects/customer-newco/.network-config/
# Edit customer-context.md, network-topology.md, device-inventory.md

3. Start Using

Online Troubleshooting:

Switch to: network-orchestrator mode in RooCode

"OSPF neighbors down on core routers"

Orchestrator automatically:
β†’ Launches troubleshooters
β†’ Analyzes issue
β†’ Provides solution
β†’ Generates runbook

Offline Troubleshooting:

Switch to: network-orchestrator mode in RooCode

"BGP issues at remote site, no connectivity to generate offline script"

Orchestrator generates:
β†’ diagnostic-bgp.sh with logging
β†’ Instructions for running offline
β†’ What to look for in logs

Run script offline β†’ Bring logs back β†’ Paste to orchestrator

πŸ“– How It Works

Online Mode Example: OSPF Troubleshooting

User: @network-orchestrator "OSPF neighbors not forming between R1 and R2"

Orchestrator: I'll help troubleshoot. Are you online or offline?

User: "Online"

Orchestrator:
  [Step 1] Launching Network Troubleshooter...

  Network Troubleshooter analyzes:
  - OSPF neighbor requirements
  - Common failure points
  - Diagnostic commands needed

  Result: "Check OSPF network statements and interface configuration"

  [Step 2] Packet capture not needed (configuration issue)

  [Step 3] Launching Network Engineer for implementation...

  Network Engineer provides:
  - Configuration commands to fix
  - Validation commands
  - Rollback procedure

  [Step 4] Launching Runbook Generator...

  Result: Complete runbook saved to documentation/

Orchestrator Final Report:
  Problem: OSPF neighbors not forming
  Root Cause: Mismatched network statements
  Solution: [Configuration fix]
  Validation: [Commands to verify]
  Runbook: [Link to generated doc]

Offline Mode Example: BGP Troubleshooting

User: @network-orchestrator "BGP peers down, I'll be offline"

Orchestrator: I'll generate an offline diagnostic script.

What protocols are affected?
  - BGP
  - Routing in general
  - Connectivity to specific IPs

User: "BGP to ISP"

Orchestrator generates script:

#!/bin/bash
# BGP Diagnostic Script
# Logs to: bgp-diagnostic-YYYYMMDD-HHMMSS.log

[Script checks:]
- show ip bgp summary
- show ip bgp neighbors
- show ip route bgp
- show run | section router bgp
- ping/traceroute to ISP
- Interface status

[User runs offline]

User returns online: "Here are the logs: [paste 500 lines]"

Orchestrator:
  [Analyzing logs...]

  Found in logs:
  - BGP neighbor state: Idle
  - TCP connection failing
  - Interface shows up/down

  Root Cause: Interface flapping due to cable issue

  Solution: Replace cable, verify BGP re-establishes

  Validation: show ip bgp summary (should show Established)

🎯 Workflow Patterns

Pattern 1: Troubleshooting β†’ Fix

User has problem β†’
  Orchestrator launches troubleshooter β†’
    Identifies root cause β†’
      Launches implementation engineer β†’
        Provides fix β†’
          Generates runbook

Pattern 2: Design β†’ Implement

User needs solution β†’
  Orchestrator launches architect β†’
    Designs solution β†’
      Launches implementation engineer β†’
        Provides step-by-step config β†’
          Launches documentation β†’
            Creates as-built docs

Pattern 3: Offline β†’ Analyze β†’ Fix

User going offline β†’
  Orchestrator generates diagnostic script β†’
    User runs offline β†’
      Brings logs back β†’
        Orchestrator analyzes β†’
          Identifies root cause β†’
            Provides fix

πŸ”§ Customization

Add Customer-Specific Context

Edit .network-config/customer-context.md for each customer:

# Customer: ACME Corp

## Network Overview
- 3 data centers (DC1, DC2, DC3)
- MPLS WAN with BGP
- Cisco 9300 switches, ASR routers
- ISE for NAC

## Contact Information
- Network Team: network@acme.com
- On-call: +1-555-0100

## Special Considerations
- Change window: Sunday 2-6 AM
- Always test in DC1 first
- Dual-vendor firewall (Cisco + Palo Alto)

Customize Offline Scripts

Offline scripts can be customized per customer:

# Save customer-specific script template
cp generated-script.sh ~/network-projects/customer-acme/scripts/bgp-diagnostic-template.sh

# Customize for customer environment
# Add customer-specific IPs, device names, etc.

# Reuse for future BGP issues

πŸ“Š Comparison: Online vs Offline

Feature Online Mode Offline Mode
Specialist Launching Automatic N/A (script generation)
Real-time Analysis Yes No (log analysis later)
Requires Connectivity Yes No
Output Interactive analysis + solution Script + logs + analysis later
Use Case Live troubleshooting Remote sites, no internet
Time to Resolution Faster (real-time) Slower (round-trip required)
Documentation Auto-generated Auto-generated after logs analyzed

πŸŽ“ Learning Path

For New Users:

  1. Read this README
  2. Import orchestrators only
  3. Try online troubleshooting with Network Orchestrator
  4. Try offline mode with script generation
  5. Import specialists for deeper dives

For Advanced Users:

  • Customize orchestrators for your workflows
  • Add customer/project-specific contexts
  • Create reusable offline script templates
  • Build runbook library

πŸ› Troubleshooting

Issue: Orchestrator not launching specialists

  • Check that specialist modes are imported into RooCode
  • Verify specialist slug matches what orchestrator calls

Issue: Offline script not working

  • Ensure script has execute permissions: chmod +x script.sh
  • Check device CLI access (SSH, console)
  • Verify commands work manually first

Issue: Log analysis incomplete

  • Provide complete log file (don't truncate)
  • Include timestamps in logs
  • Paste logs in code blocks for proper formatting

πŸ“š Resources

RooCode Documentation:

Network Engineering Contexts:

  • See contexts/ folder for protocol references
  • CUCM, ISE, SIP, OSPF, BGP documentation included

Related Systems:


🀝 Contributing

To add new specialists or orchestrators:

  1. Follow existing YAML structure
  2. Include offline capability where applicable
  3. Add comprehensive customInstructions
  4. Test with real scenarios
  5. Document in README

πŸŽ‰ What Makes This Different

vs Manual Troubleshooting:

  • Automated specialist coordination
  • Comprehensive logging
  • Reusable runbooks
  • Offline capability

vs GitHub Copilot Chat Modes:

  • Orchestration (auto-launches specialists)
  • Parallel analysis (multiple specialists simultaneously)
  • Result aggregation
  • Offline script generation

vs Claude Code Agents:

  • Affordable (RooCode free + Copilot $10/mo)
  • Network engineering focused
  • Customer/project organization
  • Offline workflows built-in

Next: See INDEX.md for quick navigation or OFFLINE_MODE_GUIDE.md for detailed offline workflows.

Status: Phase 5 Complete βœ…

  • βœ… Phase 1: Network Orchestrator + README + Templates
  • βœ… Phase 2: VoIP & Security Orchestrators + 5 Troubleshooting Specialists + Context Files
  • βœ… Phase 3: 3 Architect Specialists (Network, VoIP, Security Architecture Design)
  • βœ… Phase 4: 3 Implementation Specialists (Network, VoIP, Security Engineers)
  • βœ… Phase 5: AWS Cloud System (1 Orchestrator + 9 Specialists + AWS Context)

What's Included:

Network & Infrastructure (Phases 1-4)

  • 3 Orchestrators: Network, VoIP, Security (with offline capability)
  • 11 Specialists:
    • Troubleshooting (5): Network, VoIP, ISE, Packet Analyzer, Authentication Analyzer
    • Architects (3): Network Architect, VoIP Architect, Security Architect
    • Implementation (3): Network Engineer, VoIP Engineer, Security Engineer
  • 7 Context Files: ISE, Routing (OSPF/BGP/EIGRP), CUCM, SBC, SIP, AWS Connect, general README

AWS Cloud & DevOps (Phase 5)

  • 1 Orchestrator: AWS Cloud Orchestrator (Lambda, DynamoDB, AI services coordination)
  • 9 Specialists:
    • Troubleshooting (4): Lambda, Database (DynamoDB), Integration (API Gateway/Step Functions/EventBridge), AI Services (Bedrock/Lex)
    • Architects (3): Serverless Architect, Contact Center Architect, AI Solutions Architect
    • DevOps (2): Cloud Engineer (IaC/CI/CD), Cost Optimizer
  • 1 Context File: AWS Services Reference (Lambda, DynamoDB, S3, API Gateway, Bedrock, IAM)

Total System: 4 Orchestrators + 20 Specialists + 8 Context Files

Import Options:

Ready to use! Import for complete network engineering, cloud architecture, and DevOps workflows. πŸš€

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published