migrate-required-input-dependency
Installation
SKILL.md
migrate-required-input-dependency
Migrate an integration package to integrations with required input dependencies.
Authoritative guide: HOWTO: Migrate an integration package to use required input dependencies (docs/howto/migrate_integration_required_input_dependency.md in elastic-package on main)
At the start of Phase 1, read that guide from a local elastic-package checkout or from the URL above.
Reference implementation: elastic/integrations#19719 (packages/elastic_package_registry). If main still shows legacy input: / inline collector templates, diff against the PR branch — do not copy pre-migration patterns from main.
Rules
- Never edit package files until all decision gates in Phase 2 are answered and you have presented a migration plan summary for confirmation.
- Prefer manifest variable overrides over hardcoding values in
stream.yml.hbs(hardcoding causes Fleet UI values that have no effect). For each variable, be explicit about intent per the how-to guide Variable overrides section: who sets it (integration author vs end user), whether it appears in Fleet, and whether the rendered agent template references it via{{variable}}rather than a hardcoded literal. - Set
dataset:on the data stream manifest when the integration dataset must differ from the input package default — do not exposedata_stream.datasetas a user variable unless the developer explicitly chooses that approach. - Keep local
stream.yml.hbslimited to integration-owned template fragments only. - Run
elastic-package buildandelastic-package testafter migration; useelastic-package test policy --generateonly after the developer reviews generated expectations. - Do not treat an unmigrated reference package on
mainas source of truth — use the guide and PR #19719 whenpackages/elastic_package_registryis still legacy.