research-integration
Research a vendor, product, or feature to collect all information needed before building an Elastic integration. Investigates data collection methods, API or log documentation, sample data formats, field schemas, ECS mapping candidates, and configuration requirements. Outputs a structured research b
By elastic · 452 installs
npx skills add elastic/integration-skills --skill research-integration
Source repository · Upstream listing
Research Integration
You are the research orchestrator . Your job is to thoroughly investigate a vendor, product, or feature and produce a structured research brief that a downstream integration builder can use as the primary input for /create integration .
You delegate parallel research and analysis to research subagents, synthesize their findings with any locally provided reference material and your own grounded knowledge, and write the final brief to disk.
Each research subagent is dispatched via the platform's generic / general purpose subagent (Cursor: generalPurpose Task agent; Claude Code: general purpose Task agent; or the equivalent on other platforms). The subagent reads its operating manual ( references/research subagent guidance.md ) itself when dispatched — the orchestrator passes only the path in the task prompt, never the file's contents. See "Before you start" below.
Research subagents are write capable they can download repositories, install packages, run Python analysis scripts, and write findings to files on disk. This is by design: many data sources have schemas, SDKs, or specifications too large to return inline.
What you provide
Include any combination of the following when you invoke this command.
Use @ mentions for files/folders and paste links inline.
Input How to provide Examples
Product / vendor / feature free text "Checkpoint Harmony Endpoint", "Okta System Log", "AWS CloudTrail via S3"
Known collection method free text (optional) "REST API", "syslog", "S3/SQS", "Azure Event Hub"
Documentation URLs paste URLs https://docs.vendor.com/api/v2 , https://docs.vendor.com/logging guide
Local reference material @ mention files @samples/vendor event.json , @notes/vendor api notes.md
Scope constraints free text "only the alerts API", "focus on firewall logs", "audit events only"
Output name override free text "checkpoint harmony" (defaults to sanitized product name)
Anything typed after /research integration is your research goal.
Invocation examples
Before you start load references
Read these reference files from this skill's directory to guide your research strategy:
1. references/data collection methods.md understand input types and what to investigate for each
2. references/research output template.md the structure your final brief must follow
3. Based on the identified collection method, read the applicable checklist:
references/api research checklist.md for REST API / CEL based collection
references/log file research checklist.md for syslog, file based, and local log collection
references/cloud ingest research checklist.md for S3/SQS, Event Hub, Pub/Sub, and similar cloud delivery
4. If the collection method is (or turns out to be) API based, also read:
references/test api script spec.md specification for the API test script generated in Phase 7
If the collection method is unknown at invocation time, read all three checklists part of your job is to determine the method.
Also load:
5. ecs field mappings skill for ECS field mapping guidance during the analysis phase
6. entity mappings/references/entity datastream classification.md read this yourself so you can classify each proposed data stream as event vs entity (apply the research time rule in that file). Do NOT load the rest of the entity mappings skill — the field catalog and pipeline patterns are implementation material and must not be loaded during research.
7. references/market coverage checklist.md read this yourself so you know what to pass through; when dispatching the Track E subagent, point it at this file by path (do NOT paste its contents into the task prompt). The Track E subagent will read it in its own fresh context.
8. references/research subagent guidance.md the operating manual every research subagent needs. Do NOT read this file yourself unless you specifically need to debug a subagent's behaviour. Instead, point every research subagent at this file by path in its task prompt and instruct it to read the file end to end before doing any other work. Embedding the file verbatim doubles its context cost.
Do not load other integration building skills (CEL, pipelines, ecs field mappings implementation details, entity mappings field catalog, etc.). Those are for implementation, not research.
Downstream tooling note: The research workflow itself has no CEL tooling requirements. However, if the recommended collection method turns out to be API based (CEL input), the downstream /create integration run will need mito , celfmt , ceplx , and stream installed. Surface this in the Phase 8 summary so the user can verify their toolchain before switching to build mode.
Output location
Write all research output to:
Where <product slug is a lowercase, underscore separated identifier derived from the product name (e.g., checkpoint harmony endpoint , palo alto cortex xdr , cisco meraki ). The user may override this with the "Output name override" input.
Create this directory structure:
Not all files are required create only what applies to the product's collection method.
Important: the temp/ directory is used by subagents to download git repositories, SDK sources, large schema files, and other raw artifacts they need to analyze. Do not delete temp/ after research completes it serves as a reference for the human and may be useful for follow up work.
Workflow
Phase 1: Parse and plan
1. Extract from the user message: product name, vendor, known collection method (if any), documentation URLs, local reference files, and scope constraints.
2. Read any @ mentioned local files.
3. Fetch any documentation URLs provided inline to get initial context.
4. Determine the output slug and create the output directory.
5. Identify which research tracks to pursue based on what is known and unknown.
Phase 2: Parallel research
Launch multiple research subagents in parallel using the platform's generic / general purpose subagent (see the dispatch description at the top of this skill). Each subagent focuses on a specific research track. You should launch as many parallel subagents as makes sense for the product typically 2 4 subagents, plus the always on Track E, and Track F when any data stream was classified as entity in Before you start.
IMPORTANT subagent context and capabilities:
Subagents cannot see your conversation or access @ mentioned files directly. Include any relevant content from local reference files and fetched URLs in the task prompt.
Subagents are write capable . Always tell each subagent its working directory ( research results/<product slug / ) so it can write to temp/ and references/ within it.
Subagents can download resources : clone git repos, install pip/npm packages, fetch large files all into temp/ under the working directory.
Subagents can run Python scripts (or other tools) to analyze large artifacts like JSON schemas, OpenAPI specs, or SDK model files. Encourage this for any data source with schemas that have hundreds of fields.
Subagents should write large findings to files in references/ or temp/ and return a concise summary with file paths rather than returning everything inline. This keeps context manageable.
Required structure for every research subagent task prompt:
1. Begin with an instruction to read references/research subagent guidance.md (relative to the research integration skill) end to end before doing any other work. That file is the subagent's operating manual — methodology, temp/ usage, Python analysis idiom, result delivery contract, quality standards, and anonymization conventions. Pass only the path; do NOT paste/embed the file's contents into the task prompt — the subagent must load it in its own fresh context to avoid doubling the context cost. Track E follows the same pattern for the market coverage checklist.
2. State the working directory explicitly so the subagent knows where to write:
3. Include the track specific investigation items (see Tracks A–E below) — what to research, what details to focus on, what output structure you expect back.
4. Include any relevant local reference content the user provided via @ mentions (the subagent cannot see your conversation).
5. Include any documentation URLs the user provided inline.
Research Track A: Product overview and data collection methods
Instruct the subagent to investigate:
What the product/feature is and what kind of data it generates
All available methods for collecting/exporting data (API, syslog, file export, cloud streaming, SIEM forwarding, etc.)
Which method is best suited for an Elastic integration and why
Official vendor documentation links for each collection method
Any known limitations, rate limits, or licensing requirements for data access
Provide: product name, vendor, any known collection method, any documentation URLs.
Research Track B: Data source deep dive
Instruct the subagent to investigate the specifics of the data source based on the most likely collection method:
For APIs:
Base URL and endpoint paths
Authentication method (API key, OAuth2, Bearer token, Basic auth, custom headers)
OAuth2 deep dive (critical): If the API uses OAuth2, identify ALL supported grant types (client credentials, authorization code, etc.) and capture the full flow details (authorization URL, token URL, refresh URL, scopes, client registration). Do NOT settle for "manual token generation" if a proper OAuth2 flow exists — many vendors document both a PAT/manual token page and a standard OAuth2 authorization code flow on separate documentation pages. See api research checklist.md for the detailed OAuth2 investigation checklist.
Pagination pattern (offset, cursor, link header, token based, keyset)
Rate limiting details
Request and response structure with field level detail
Available query parameters and filters (especially time based filtering)
API versioning approach
Complete request/response examples for each relevant endpoint
If the vendor publishes an OpenAPI/Swagger spec or SDK , instruct the subagent to download it into temp/ and use Python to extract endpoint details, request/response schemas, and parameter definitions
For logs/syslog:
Log format (syslog RFC 3164/5424, CEF, LEEF, key value, JSON, CSV, multiline)
Default log file paths per OS
Syslog facility and severity usage
Message structure and delimiters
Sample log lines for each event type
For cloud ingest (S3/SQS, Event Hub, Pub/Sub, etc.):
Delivery mechanism configuration
Message/object format and structure
Path/prefix patterns
Notification configuration requirements
If the vendor provides schema definitions in a repository (e.g., AWS OCSF schemas, Azure resource schemas), instruct the subagent to clone the repo into temp/ and analyze the schemas programmatically
Provide: product name, likely collection method, any documentation URLs, any local reference material content.
Research Track C: Event types and field schema
Instruct the subagent to investigate:
All distinct event types, categories, or log sources the product generates
Field names, types, and descriptions for each event type
Common fields across event types vs. type specific fields
Enumeration values for status, severity, action, and category fields
Timestamp formats and timezone handling
Nested object structures
Which events are highest value for security/observability use cases
For data sources with large schemas: Instruct the subagent to download the schema source (git repo, SDK package, JSON schema file) into temp/ and use Python to programmatically extract field inventories, type information, and enum values. The subagent should write the complete field analysis to references/field sch