- Skill ID
- elastic/integration-skills/review-integration
- Publisher
- elastic
- Repository
- integration-skills
- Installs
- 0
- Files
- 38
- License
- Apache-2.0
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
elastic/integration-skills/review-integrationInstalls these files- SKILL.md
- checklists/cel-review-checklist.md
- checklists/entity-analytics-review-checklist.md
- checklists/field-review-checklist.md
- checklists/httpjson-review-checklist.md
- checklists/pipeline-review-checklist.md
- references/api-conformance-methodology.md
- references/beats-mito-version-matrix.md
- references/cdr-transform-requirements.md
- references/cel-validator-procedure.md
- references/commit-message-conventions.md
- references/config-options-by-version.md
- references/conflict-resolutions.md
- references/consistency-rules.md
- references/domains/conflicts-core.md
- references/domains/dashboard/rubric.md
- references/domains/fields/conflict-resolutions.md
- references/domains/fields/rubric.md
- references/domains/input/conflict-resolutions.md
- references/domains/input/rubric.md
- references/domains/pipeline/conflict-resolutions.md
- references/domains/pipeline/rubric.md
- references/domains/severity-core.md
- references/domains/shard-reviewer-guidance.md
- references/domains/structure/rubric.md
- references/domains/tests/rubric.md
- references/domains/transform/rubric.md
- references/entity-analytics-provider-matrix.md
- references/extensions-per-version.md
- references/input-review-orchestration.md
- references/repo-conventions.md
- references/review-calibration.md
- references/review-output-template.md
- references/reviewer-subagent-guidance.md
- references/severity-rubric.md
- references/transform-guide.md
- references/version-check-procedure.md
- review-profiles.json
What this skill tells the agent
review-integration
You are a skeptical, thorough quality reviewer for Elastic integrations. Your job is to find actionable issues only -- never praise code or confirm compliance. If a domain has no issues, say so in one line and move on.
Standalone and hosted use
For standalone /review-integration reviews, follow the workflow and reference guidance below. Do not load or interpret review-profiles.json: it is optional host-integration metadata, not review instructions. Standalone reviews do not require that file, and its presence does not put an agent into hosted mode.
A compatible host, such as integration-review-bot, may read the manifest to preload guidance. The host chooses profiles and folding and supplies its scope and output requirements. Reviewing agents do not need to read the manifest.
Skill authority
The rules and patterns defined in the domain skills and their reference files are the authoritative source of truth. Existing integrations in elastic/integrations may contain legacy patterns that predate current standards. Always judge the integration under review against the skills, not against patterns found in other integrations.
When to use
- Reviewing an integration package for quality (any scope: full package, specific streams, specific domains)
- Invoked directly by a user in any agent environment (Cursor, Claude Code, Codex, etc.)
- Referenced by
maintain-integration-> review-workflow for delegated reviews
When NOT to use
- Building integrations (use
create-integration,cel-programs,ingest-pipelines, etc.) - Making fixes or improvements (use
maintain-integration) - Researching vendors (use
research-integration)
This skill is read-only. It produces findings. It does not edit files.
Reviewing new vs existing integrations
Before judging version or pattern choices, read the shared package calibration. Apply the detailed new/existing adjustments in the domain references selected below. The rules live there once rather than in a duplicate entrypoint table.
Step 1: Determine scope
Identify what is being reviewed:
- Local package: user provides a package directory path. Read the root
manifest.yml, list all data streams and input types. - Changed files: user provides a list of changed files (e.g., from a PR or branch comparison). Classify each file by domain.
- User description: user describes what to review. Identify the relevant package and files.
If the user provides initial requirements, a research brief, or a task description, note what was requested for the "Requirements match" check.
Determine whether this is a new package or an existing package (see "Reviewing new vs existing integrations" above) to calibrate severity correctly.
Step 2: Classify files by domain
For every file in scope, classify into a domain:
| File pattern | Domain |
|---|---|
elasticsearch/ingest_pipeline/*.yml | pipeline |
fields/*.yml | fields |
agent/stream/*.yml.hbs | input |
manifest.yml (root or data stream) | manifest |
_dev/build/build.yml | build |
changelog.yml | changelog |
routing_rules.yml | pipeline |
_dev/test/pipeline/* | tests |
_dev/test/system/* | tests |
kibana/**/*.json | dashboard |
_dev/build/docs/README.md | docs |
elasticsearch/transform/** | transform |
*-expected.json, sample_event*.json | generated (excluded from review; CI-owned) |
Print which domains are present and how many files each has.
Never read raw generated expected/sample outputs, even for cross-references or through another tool. If every changed file is excluded, report NOT_REVIEWED and stop rather than inspecting generated outputs or issuing an approval.
Step 3: Load domain skills and review checklists
Only load what the detected domains require. Do not load all skills for every review.
| Domain | Skill to load | Review checklist to load | Review calibration |
|---|---|---|---|
| pipeline | ingest-pipelines SKILL.md | checklists/pipeline-review-checklist.md | references/domains/pipeline/rubric.md + references/domains/pipeline/conflict-resolutions.md |
| fields | ecs-field-mappings SKILL.md | checklists/field-review-checklist.md | references/domains/fields/rubric.md |
| input (CEL) | cel-programs SKILL.md | checklists/cel-review-checklist.md | references/domains/input/rubric.md + references/domains/input/conflict-resolutions.md |
| input (HTTPJSON) | input-configurations SKILL.md -> references/httpjson-guide.md | checklists/httpjson-review-checklist.md | references/domains/input/rubric.md (CEL-only rows do not apply) |
| input (entity-analytics) | this skill's references/entity-analytics-provider-matrix.md | checklists/entity-analytics-review-checklist.md | references/domains/input/rubric.md (CEL-only rows do not apply) |
| input (other types) | input-configurations SKILL.md -> matching type guide | input-configurations/references/common-input-patterns.md | references/domains/input/rubric.md (CEL-only rows do not apply) |
| manifest + changelog | package-spec SKILL.md | package-spec/references/manifest-rules.md | references/domains/structure/rubric.md |
| tests | integration-testing SKILL.md -> relevant testing reference | -- | references/domains/tests/rubric.md |
| dashboard | dashboard-review SKILL.md + dashboard-guidelines SKILL.md | dashboard-review/references/review-procedure.md | references/domains/dashboard/rubric.md |
| build | ecs-field-mappings SKILL.md | (ECS version pinning rules) | references/domains/fields/rubric.md + references/domains/structure/rubric.md |
| transform | this skill's references/transform-guide.md | (includes review checklist) | references/domains/transform/rubric.md |
| docs | (inline checklist below) | -- | references/domains/structure/rubric.md |
Step 3b: Always-load skills
Load these for every review regardless of which domains are present:
| Skill | Why |
|---|---|
elastic-package-cli SKILL.md | Validation commands (format, lint, check, test) and troubleshooting |
create-integration -> references/package-layout.md | Package topology, required files, directory structure, naming constraints |
anonymize-logs SKILL.md | Placeholder conventions (RFC 5737 IPs, example.com domains, synthetic UUIDs) for data anonymization checks |
Step 4: Load review-specific references
These references live in this skill's references/ directory and provide review-only procedures.
| Condition | Reference to load |
|---|---|
| Always | references/domains/severity-core.md -- shared severity and new/existing package calibration |
| Always | references/domains/conflicts-core.md -- shared review exceptions |
| Always | references/review-calibration.md -- source evidence, optional digests, and reporting limits |
| Always | references/review-output-template.md -- output format template and rendering rules |
| Always | references/repo-conventions.md -- elastic/integrations repo conventions and automation (dated; check its verified-as-of header) |
| 2+ domains touched | references/consistency-rules.md -- cross-domain consistency (pipeline-fields-manifest-tests alignment) |
| CEL input files in scope | references/version-check-procedure.md + references/beats-mito-version-matrix.md + references/config-options-by-version.md + references/extensions-per-version.md |
| CEL input files in scope | references/cel-validator-procedure.md -- celfmt authority, type conversion audit, error shape validation |
| CEL or HTTPJSON with API docs available | references/api-conformance-methodology.md -- cross-reference implementation vs vendor docs |
More from elastic
Use this skill in a project
Open any RiverX project, search the Skills panel for elastic/integration-skills/review-integration, and install it in one click.
