create-integration — Claude Code skill: what it does, install
This skill creates Elastic integration packages, sets up data streams, and coordinates CEL, pipeline, and system-test work.
npx skills add elastic/integration-skills --skill create-integration -a claude-codeWhat create-integration does
create-integration helps build a new Elastic integration package or add data streams to an existing one. It covers package topology, file placement, manifest.yml structure, scaffold commands, and edits made after scaffolding.
The skill delegates specialist work to subagents. Separate stages handle CEL programs, data-collection setup, pipelines, field definitions, system tests, and the final integration review. You can provide a package name, product, delivery method, API or log documentation, sample files, and constraints.
For aws-s3, gcs, azure-blob-storage, and azure-eventhub inputs, data-collection setup and system tests are skipped. Check the input type first if those checks are part of your workflow.
What it helps with
- create a new Elastic integration package
- add data streams to an existing package
- clarify package layout and
manifest.ymlstructure - build CEL programs and ingest pipelines
- run system tests and review the integration
Example prompts for the agent
- Create a new
acme_firewallintegration for Acme Firewall appliance using the API documentation and@samples/acme_events.json. - Add an
auditstream to@packages/acme_firewallwith acelinput and@samples/acme_audit.json. - Build the
logandtrafficstreams, then run the full Elastic integration workflow and review the package.
How to install create-integration
1Skills CLI (Vercel)
npx skills add elastic/integration-skills --skill create-integration -a claude-code2Manually: put the files in place
~/.claude/skills/create-integration/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/create-integration/
1Skills CLI (Vercel)
npx skills add elastic/integration-skills --skill create-integration -a codex2Manually: put the files in place
.agents/skills/create-integration/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add elastic/integration-skills --skill create-integration -a cursor2Manually: put the files in place
.cursor/skills/create-integration/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install elastic/integration-skills create-integration2Manually: put the files in place
.github/skills/create-integration/SKILL.md1Skills CLI (Vercel)
npx skills add elastic/integration-skills --skill create-integration -a gemini-cli2Platform CLI
gemini skills install https://github.com/elastic/integration-skills --path skills/create-integrationManually: put the files in place
.devin/skills/create-integration/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add elastic/integration-skills --skill create-integration -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about create-integration
How do I install create-integration in Claude Code?
Run npx skills add elastic/integration-skills --skill create-integration -a claude-code, run npx skills add elastic/integration-skills --skill create-integration -a claude-code again, then check ~/.claude/skills/create-integration/SKILL.md.
What does create-integration do?
It creates Elastic integration packages, adds data streams, explains package structure, and coordinates subagents for CEL, pipelines, testing, and review.
Which input types does create-integration support?
It covers CEL, tcp, udp, filestream, http_endpoint, aws-s3, gcs, azure-blob-storage, and azure-eventhub. Data-collection setup and system tests are skipped for cloud storage inputs.
Source text
SKILL.md · Apache-2.0
--- name: create-integration description: "Use when creating a new Elastic integration package, scaffolding data streams, answering package layout or structure questions, or running the end-to-end integration build workflow. Covers package topology, scaffold commands, post-scaffold edits, and full orchestration of CEL/pipeline/test subagents." license: Apache-2.0 metadata: author: elastic version: "1.0" --- # create-integration ## When to use Use this skill when tasks include: - creating a new integration package from scratch - scaffolding data streams and applying post-scaffold edits - understanding package topology, file placement, and manifest patterns - running the end-to-end build workflow (scaffold → data collection setup → pipeline → system tests → review) - questions about package structure, layout, or `manifest.yml` shape ## IMPORTANT: Loading references This skill has four reference files. Load the appropriate one(s) based on your task: **When creating a full integration (end-to-end):** → **MUST read `references/create-workflow.md` fully before starting.** This contains the complete orchestration workflow, all phases, subagent delegation instructions, and guardrails. **When adding data streams to an existing package:** → **MUST read `references/add-datastream-workflow.md` fully before starting.** This covers verifying the package, scaffolding streams, and the CEL → pipeline → system-test sequence. **When scaffolding a package or data stream, or applying post-scaffold edits:** → Read `references/scaffold-commands.md` for the scaffold commands, post-scaffold checklist, and common pitfalls. **When reviewing or understanding package topology and file layout:** → Read `references/package-layout.md` for canonical trees, manifest patterns, and review checklists for both integration and input packages. ## What to provide when creating an integration Include any combination of the following: | Input | How to provide | Examples | |-------|----------------|----------| | Package name | free text | `my_vendor` | | Product / vendor | free text | "Acme Firewall appliance" | | Data delivery method | free text | "REST API with pagination", "syslog over TCP/UDP", "S3 bucket" | | API / log documentation | paste URLs | `https://docs.acme.com/api/v2` | | Sample data | `@`-mention files | `@samples/acme_event.json` | | Research brief | `@`-mention file | `@notes/acme-research-brief.md` | | Constraints | free text | "CEL input only", "single data stream" | ### Example invocations ``` Create a new "acme_firewall" integration for Acme Firewall appliance. API docs: https://docs.acme.com/api/v2/events Auth: Bearer token header. Pagination: offset-based with total_count. @samples/acme_events.json. Single data stream "event" using cel input. ``` ``` New syslog integration "my_appliance" with tcp,udp inputs. @notes/research-brief.md. Two streams: "log" (syslog) and "traffic" (syslog). ``` ## What to provide when adding data streams to an existing package Use `@`-mentions for files/folders and paste links inline. | Input | How to provide | Examples | |-------|----------------|----------| | Target package | free text or `@`-mention | `acme_firewall`, `@packages/acme_firewall` | | Stream name | free text | `audit`, `traffic`, `alert` | | Stream type | free text | `logs` (default) or `metrics` | | Input type(s) | free text | `cel`, `tcp,udp`, `filestream`, `http_endpoint`, `aws-s3` | | API / log docs | paste URLs | `https://docs.acme.com/api/audit` | | Sample data | `@`-mention files | `@samples/audit_event.json`, `@samples/traffic.log` | | Research brief | `@`-mention file | `@notes/acme-audit-brief.md` | | Constraints | free text | "reuse package-level auth vars", "separate pipeline per event type" | | Acceptance criteria | free text | "parse all syslog fields, map to ECS" | ### Example invocations ``` Add "audit" stream to @packages/acme_firewall using cel input. API endpoint: /api/v2/audit_logs Pagination: timestamp cursor. @samples/acme_audit.json ``` ``` Add "traffic" and "threat" streams to acme_firewall. Both use tcp,udp inputs (syslog). @samples/traffic.log @samples/threat.log ``` ## Subagents overview Do **not** load CEL, pipeline, ECS, or field-mapping skills yourself. Delegate to subagents that load their own domain skills. All specialised work is delegated to the platform's **generic / general-purpose subagent** (Cursor: `generalPurpose` Task agent; Claude Code: `general-purpose` Task agent; or the equivalent on other platforms). Each task prompt must **point the subagent at the relevant `*-subagent-guidance.md` file by path** and instruct it to read that file (plus the skill SKILL.md it lists in "First steps") end-to-end before doing any other work. **Do NOT read the guidance file yourself or paste its contents into the task prompt** — that doubles its context cost. Pass only the path plus the task-specific context. The subagent will load the manual itself in its own fresh context. Full dispatch rules and per-step detail live in `references/create-workflow.md` and `references/add-datastream-workflow.md`. | Subagent guidance file | When to use | |----------|-------------| | `/research-integration` skill (orchestrates its own research subagents) | Vendor/API research before building, when no research brief is provided | | `cel-programs/references/builder-subagent-guidance.md` | Each CEL data stream — mock API, CEL program (incremental mito build), `cel.yml.hbs` template, manifest vars, initial field mappings | | `integration-testing/references/builder-setup-subagent-guidance.md` | Each non-CEL data stream — data collection setup (docker-compose, sample logs, agent stream template, system test config, manifest var cleanup) | | `ingest-pipelines/references/builder-subagent-guidance.md` | Each data stream's pipeline and field definitions | | `integration-testing/references/builder-system-test-subagent-guidance.md` | System test execution after pipeline work completes, for any testable input (CEL, tcp, udp, http_endpoint, logfile, kafka, pubsub) | | `review-integration/references/reviewer-subagent-guidance.md` | Quality review after all streams are built — classifies files by domain, loads relevant domain skills and checklists via the `review-integration` skill, returns severity-ranked, domain-tagged findings | For **cloud storage inputs** (aws-s3, gcs, azure-blob-storage, azure-eventhub): skip data collection setup and system tests. The scaffold provides a usable template; trim vars to match needs. See `references/create-workflow.md` for details. ## References - `references/create-workflow.md` — full phases 1–8 for creating a new integration, subagent instructions, guardrails, data anonymization - `references/add-datastream-workflow.md` — phases 1–4 for adding data streams to an existing package, CEL/pipeline/system-test sequence - `references/scaffold-commands.md` — scaffold commands, post-scaffold edits, base-fields.yml format - `references/package-layout.md` — integration and input package topology, manifest patterns
© elastic · Apache-2.0 · elastic/integration-skills