Skip to main content
skill CX Codex

maintain-integration — Claude Code skill: review and install

Reviews and improves existing Elastic integration packages, covering manifests, pipelines, CEL programs, field mappings, and ECS categorization.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add elastic/integration-skills --skill maintain-integration -a claude-code
Open on GitHub

What maintain-integration does

This skill works with an existing Elastic integration package. It can run a read-only quality review, apply a targeted fix, or perform a full pass with analysis, edits, re-validation, and a report. Use create-integration for a new package or a new data stream.

Its workflows cover manifests, field mappings, ECS categorization, ingest pipelines, CEL programs, changelogs, and documentation. Specialist work is delegated to a general-purpose subagent with the relevant guidance file. Direct edits are followed by elastic-package lint and elastic-package check.

An existing package is required. That is a reason to check the task boundary before starting: new integration work belongs in create-integration. Test fixtures, sample events, and documentation examples must use anonymized data.

What it helps with

  • review an existing Elastic integration package
  • fix ingest pipeline and field mapping issues
  • check ECS categorization and CEL program logic
  • update manifests, changelogs, or documentation
  • re-validate a package after making fixes

Example prompts for the agent

  • Review this existing Elastic integration package in read-only mode and return severity-ranked findings.
  • Fix the CEL program issues in agent/stream/, then run validation and report the results.
  • Check the existing package manifest and changelog, apply minor fixes, then run elastic-package lint and elastic-package check.

How to install maintain-integration

1Skills CLI (Vercel)

npx skills add elastic/integration-skills --skill maintain-integration -a claude-code

2Manually: put the files in place

~/.claude/skills/maintain-integration/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/maintain-integration/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about maintain-integration

How do I install maintain-integration in Claude Code?

Run npx skills add elastic/integration-skills --skill maintain-integration -a claude-code, run the same command again, then check ~/.claude/skills/maintain-integration/SKILL.md.

What does maintain-integration do?

It reviews, fixes, and improves existing Elastic integration packages. Its workflows cover pipelines, field mappings, CEL programs, manifests, changelogs, ECS categorization, and re-validation.

Can maintain-integration create a new integration?

No. Use create-integration for a new package or a new data stream. maintain-integration is for packages that already exist.

Source text

SKILL.md · Apache-2.0
---
name: maintain-integration
description: "Use when reviewing, fixing, or improving an EXISTING Elastic integration package. Covers quality reviews, targeted fixes (pipelines, field mappings, CEL programs, manifests, changelogs), full improvement passes, and minor adjustments. Use create-integration instead when creating a new package or adding a new data stream from scratch."
license: Apache-2.0
metadata:
  author: elastic
  version: "1.0"
---

# maintain-integration

## When to use vs create-integration

Use this skill when the **package already exists**:
- reviewing quality, ECS compliance, or correctness of an existing package
- fixing specific issues: pipeline errors, field mappings, ECS categorization, CEL programs, manifests
- running a full quality improvement pass (review → fix → re-validate loop)
- making minor adjustments to existing data streams

Use `create-integration` instead when:
- creating a new integration package from scratch
- adding a new data stream to an existing package (`create-integration` → `references/add-datastream-workflow.md`)

## Modes

### Review only (read-only, no edits)

→ **Read `references/review-workflow.md` fully before starting.**

Run automated validation, delegate inspection to a subagent (see Dispatch convention in `references/review-workflow.md`) pointing it at `review-integration/references/reviewer-subagent-guidance.md` as its operating manual, present findings with no file changes.

### Full improvement pass (analyze → fix → re-validate)

→ **Read `references/improve-workflow.md` fully before starting.**

Analyze issues (from prior review or fresh reviewer run), prioritize by severity, fix directly or delegate to subagents, re-validate, and report.

### Minor direct fix (no subagents needed)

For small targeted changes you can handle inline without loading a full workflow:
- manifest field corrections (title, description, format_version, conditions, owner)
- changelog entries and version bumps — see `package-spec` skill
- documentation placeholder text in `_dev/build/docs/README.md`
- `_dev/build/build.yml` creation or ECS reference bump
- simple field file fixes (typos, missing entry, duplicate removal)
- CEL formatting only — run `celfmt -s -agent -i cel.yml.hbs -o cel.yml.hbs` in the stream's `agent/stream/` directory

Run `elastic-package lint` and `elastic-package check` after any direct edits to confirm no regressions.

## Skills to load for direct work

- `elastic-package-cli` — validation and test commands
- `package-spec` — manifest rules, version bumps, and changelog schema

Do **not** load domain-specific skills (pipelines, CEL, ECS, field mappings) into your own context. Delegate to subagents that already have that knowledge.

## Subagents

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-workflow detail live in `references/review-workflow.md` and `references/improve-workflow.md`.

| Subagent guidance file | Use for |
|----------|---------|
| `review-integration/references/reviewer-subagent-guidance.md` | Thorough read-only quality inspection: classifies files by domain, loads all relevant domain skills and checklists via the `review-integration` skill, returns severity-ranked, domain-tagged findings |
| `ingest-pipelines/references/builder-subagent-guidance.md` | Pipeline fixes: JSE00001, error handling, processor tags, ECS categorization, field definitions, test fixtures |
| `cel-programs/references/builder-subagent-guidance.md` | CEL fixes: program logic, cursor management, error handling, mito validation, mock API, `cel.yml.hbs` template, manifest var cleanup |

When delegating, provide the subagent with: package path, data stream path, specific issues to fix (paste findings), sample data if relevant, and any constraints.

## Data anonymization

All data committed must be fully anonymized — no real IPs, hostnames, emails, tokens, or org identifiers in any committed file. When fixing or adding test fixtures, mock responses, sample events, or documentation examples, verify all values are synthetic. Anonymize any real data found as part of the improvement pass.

## References

- `references/review-workflow.md` — read-only review workflow (phases 1–4, mandatory checklists, output format)
- `references/improve-workflow.md` — full improvement workflow (analyze → prioritize → fix → re-validate → report)

© elastic · Apache-2.0 · elastic/integration-skills

Similar skills

Everything for Code review and refactoring →

From the same set7

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor