Create modular, composable virtualized roles and services for cyber range simulations. Generates complete, deployable components that combine into larger exercise environments. Triggers on "create a simulated X", "build me a fake Y", "generate org content", or requests for DNS infrastructure, realistic web content, email infrastructure, Active Directory population, NPC personas, or combining services into coherent simulations. Outputs: Docker containers, zone files, web content, AD population scripts, NPC configs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/simulation-components:simulation-componentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create modular, deployable virtualized services that combine into coherent cyber range simulations.
Create modular, deployable virtualized services that combine into coherent cyber range simulations.
Cyber range exercises require realistic organizational infrastructure -- DNS, web services, email, Active Directory -- but building these from scratch for every exercise is time-consuming and produces inconsistent, low-fidelity environments. Without parameterized, composable building blocks that generate contextually appropriate content for a given industry and organization, exercise environments feel artificial and fail to train defenders on realistic scenarios.
Simulation components are self-contained, parameterized building blocks that:
┌─────────────────────────────────────────────────────────────────────┐
│ COMPONENT COMPOSITION │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ DNS │ + │ WEB │ + │ EMAIL │ + │ AD │ = SIMULATION
│ │Component│ │Component│ │Component│ │Component│ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │ │ │
│ └─────────────┴──────┬──────┴─────────────┘ │
│ │ │
│ ┌────────┴────────┐ │
│ │ Organization │ │
│ │ Context │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
| Component | Purpose | Output |
|---|---|---|
dns-org | Organization DNS (external + internal) | Docker + zone files |
web-org | Organization website | Docker + HTML/CSS |
ad-population | AD users, groups, OUs | PowerShell + CSV |
email-org | Email infrastructure | Docker + configs |
npc-personas | User profiles for traffic gen | YAML configs |
file-share | Sample documents | Office docs, PDFs |
| Sector | Content Generated |
|---|---|
financial_services | Trading systems, client portals, wire rooms, Bloomberg/Reuters |
healthcare | EHR, PACS, pharmacy, patient portals, telehealth |
manufacturing | SCADA, MES, ERP, PLM, quality systems |
defense | C2, SIPR gateway, intel, logistics, training |
energy | SCADA, EMS, OMS, DMS, GIS, metering |
retail | POS, inventory, ecommerce, loyalty, warehouse |
generic | Standard corporate services |
# Use a template or create custom
cp templates/financial-services.yaml my-org.yaml
# Edit to customize
# Generate all components
python generators/orchestrate.py \
--context my-org.yaml \
--output ./my-simulation/
# Or generate specific components
python generators/gen_dns_org.py --context my-org.yaml --output ./dns/
python generators/gen_web_org.py --context my-org.yaml --output ./web/
python generators/gen_ad_population.py --context my-org.yaml --output ./ad/
cd my-simulation
docker compose up -d
# AD population (on domain controller)
powershell -File Populate-AD.ps1
Add content templates to the relevant generator scripts (gen_web_org.py, gen_dns_org.py). See reference.md for detailed examples.
--context and --output argumentsreference.md for registration pattern)See generators/ directory:
gen_dns_org.py - DNS infrastructure generatorgen_web_org.py - Website content generatorgen_ad_population.py - AD population generatororchestrate.py - Multi-component orchestratorSee templates/ directory:
financial-services.yaml - Investment bank templatehealthcare.yaml - Hospital system templatedefense-contractor.yaml - Defense company templatemanufacturing.yaml - Manufacturing company templateenergy.yaml - Utility company templateSee examples/ directory:
complete-simulation/ - Full multi-component examplegrey-zone-internet/ - Internet simulation exampledocker compose up -d completes with exit code 0 and all services show "running" in docker compose ps.dig @<dns-container-ip> www.<domain> returns the expected A record from the generated zone file.curl http://<web-container-ip>/ returns HTML with the organization name and branding colors from the context file.Populate-AD.ps1 creates the expected number of users, groups, and OUs matching the organization context headcounts.reference.mdCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub dmaynor/dmaynor-skills-marketplace --plugin simulation-components