From elastic-agent-skills
Generates ECS-compliant security events, attack scenarios, and synthetic alerts for Elastic Security. Useful for demos, testing detection rules, and populating dashboards.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elastic-agent-skills:generate-security-sample-dataThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate ECS-compliant security events, multi-step attack scenarios, and synthetic alert documents that populate Elastic
Generate ECS-compliant security events, multi-step attack scenarios, and synthetic alert documents that populate Elastic Security dashboards, the Alerts tab, and Attack Discovery.
For a zero-friction experience that generates everything and opens Kibana:
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js
- [ ] Step 1: Set environment variables
- [ ] Step 2: Generate sample data
- [ ] Step 3: Explore in Kibana
- [ ] Step 4: Clean up when done
export ELASTICSEARCH_URL="https://your-project.es.region.aws.elastic.cloud"
export ELASTICSEARCH_USERNAME="admin"
export ELASTICSEARCH_PASSWORD="your-password"
export KIBANA_URL="https://your-project.kb.region.aws.elastic.cloud"
node skills/security/generate-security-sample-data/scripts/sample-data.js \
system endpoint okta aws windows --scenarios --alerts
node skills/security/generate-security-sample-data/scripts/sample-data.js \
system endpoint --count 100
node skills/security/generate-security-sample-data/scripts/sample-data.js --scenarios
node skills/security/generate-security-sample-data/scripts/sample-data.js --alerts
After generating data, direct the user to these pages:
node skills/security/generate-security-sample-data/scripts/sample-data.js --cleanup
Sample data spans 5 packages (system, endpoint, windows, aws, okta) and 4 focused attack scenarios covering the most
common demo themes: Windows credential theft, AWS cloud privilege escalation, Okta identity takeover, and a full
ransomware kill chain. Synthetic alert documents are indexed into .alerts-security.alerts-default with MITRE ATT&CK
mappings, severity levels, and risk scores.
All events use RFC 5737 / RFC 2606 safe addresses. For full tables of packages, scenarios, and alerts see references/sample-data-reference.md.
Stream events to simulate a live environment:
node skills/security/generate-security-sample-data/scripts/sample-data.js \
--continuous --interval 15
Every 5th batch includes an attack scenario; every 10th batch adds synthetic alerts. Press Ctrl+C to stop.
| Flag | Description |
|---|---|
--count, -n | Events per package (default: 50) |
--scenarios | Run all attack simulation scenarios |
--scenario NAME | Run a specific scenario |
--alerts | Generate synthetic alert documents |
--cleanup | Remove all sample data and alerts |
--continuous | Stream live events (Ctrl+C to stop) |
--interval N | Seconds between continuous batches (default: 30) |
--json, -j | Output results as JSON |
--yes, -y | Skip confirmation prompts |
Zero-friction runner that generates everything and opens Kibana.
| Flag | Description |
|---|---|
--cleanup | Remove all sample data, alerts, case |
--continuous | Generate then stream live events |
--count N | Events per package (default: 50) |
--interval N | Seconds between batches (default: 30) |
"Set up a demo environment so I can show Attack Discovery to my VP."
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js
"Generate only the ransomware attack chain to test our detection rules."
node skills/security/generate-security-sample-data/scripts/sample-data.js \
--scenario ransomwareChain --alerts
"Keep generating events so the dashboards stay active during the demo."
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js --continuous
"Remove all sample data from my project."
node skills/security/generate-security-sample-data/scripts/sample-data.js --cleanup
tags: ["elastic-security-sample-data"] for safe cleanup. The cleanup command
only deletes documents with this marker._source.tags for matching sample
documents from the last 14 days..alerts-security.alerts-default — they do not require detection rules to
be installed or enabled.case-management skill for creating investigation cases from alerts.generate, --cleanup, --continuous) prompt for confirmation. Pass --yes or -y to skip
when called by an agent.--cleanup runs deleteByQuery across all sample data indices — verify environment variables point to the intended
cluster before running.--continuous mode indexes events indefinitely until manually stopped with Ctrl+C.| Variable | Required | Description |
|---|---|---|
ELASTICSEARCH_URL | Yes | Elasticsearch URL |
ELASTICSEARCH_API_KEY | Yes* | Elasticsearch API key |
ELASTICSEARCH_USERNAME | Yes* | Elasticsearch username (alternative) |
ELASTICSEARCH_PASSWORD | Yes* | Elasticsearch password (alternative) |
KIBANA_URL | No | Kibana URL (for case creation and links) |
KIBANA_USERNAME | No | Kibana username (if using Kibana features) |
KIBANA_PASSWORD | No | Kibana password (if using Kibana features) |
*Either API key or username/password is required for Elasticsearch.
2plugins reuse this skill
First indexed Jul 8, 2026
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin elastic-agent-skillsTriages Elastic Security alerts by gathering context, classifying threats, creating cases, and acknowledging alerts. Requires Node.js 22+, Elasticsearch, and Kibana access.
Performs systematic alert triage in Elastic Security SIEM using Kibana panels, ES|QL queries, and ECS fields to classify, prioritize, and investigate SOC alerts.
Performs systematic alert triage in Elastic Security SIEM to classify, prioritize, and investigate security alerts for SOC operations.