onboarding
Onboard an Elastic Cloud organization: configure the `elastic` CLI's Cloud context and API key, establish a default region, then…
Generate sample security events, attack scenarios, and synthetic alerts for Elastic Security. Use when demoing, populating dashboards, testing detection rules, or setting up a POC.
$ npx -y skills add elastic/agent-skills --skill generate-security-sample-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/generate-security-sample-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate sample security events, attack scenarios, and synthetic alerts for Elastic Security. Use when demoing, populating dashboards, testing detection rules, or setting up a POC.
name: security-generate-security-sample-data description: > Generate sample security events, attack scenarios, and synthetic alerts for Elastic Security. Use when demoing, populating dashboards, testing detection rules, or setting up a POC. compatibility: > Requires Node.js 22+, network access to Kibana and Elasticsearch. Environment variables: KIBANA_URL plus KIBANA_API_KEY or KIBANA_USERNAME/KIBANA_PASSWORD; ELASTICSEARCH_URL or ELASTICSEARCH_CLOUD_ID plus ELASTICSEARCH_API_KEY or ELASTICSEARCH_USERNAME/ELASTICSEARCH_PASSWORD. metadata: author: elastic version: 0.1.0
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](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
only deletes documents with this marker.
documents from the last 14 days.
Elastic Agent Skills — built by the people who built Elastic — deliver native platform expertise directly to your AI coding agent.
Onboard an Elastic Cloud organization: configure the `elastic` CLI's Cloud context and API key, establish a default region, then…
Provision and operate Elastic Cloud infrastructure: create, connect to, update, and delete Serverless projects (Elasticsearch,…
Explain Elasticsearch ML anomaly detection scores, model behavior, and result interpretation. Use when the user asks why a score…
Create and manage Elastic ML anomaly detection jobs via the API. Use when setting up jobs on an index or data stream, configuring…
Diagnose a non-green Elasticsearch cluster and surface the single most likely cause with remediation. Use when an operator…
Execute ES|QL (Elasticsearch Query Language) queries, use when the user wants to query Elasticsearch data, analyze logs,…