create-integration について
create-integrationは、Elasticインテグレーションパッケージを構築する開発スキルです。新規パッケージの作成や既存パッケージへのデータストリーム追加に向けて、段階的な手順、スキャフォールド資料、構築・テスト・レビューのサブエージェント分担を示します。
主な機能
- 01パッケージとデータストリームのスキャフォールド
- 02パッケージ構成とmanifest.ymlの指針
- 03新規作成とストリーム追加の手順
- 04サブエージェントへの領域別タスク委任
- 05テストと品質レビューの手順
活用シーン
- 01新しいインテグレーションパッケージの作成
- 02既存パッケージへのデータストリーム追加
- 03パッケージ構成やファイル配置の確認
- 04構築・テスト・レビュー手順の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ elastic/ integration-skills --skill create-integrationインストール後、Claude Code で/create-integrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/add-datastream-workflow.mdcreate-workflow.mdpackage-layout.mdscaffold-commands.md詳細
create-integration
使用する場面
次のようなタスクでは、このスキルを使用してください。
- 新しいインテグレーションパッケージをゼロから作成する
- データストリームをスキャフォールディングし、スキャフォールディング後の編集を適用する
- パッケージの構成、ファイルの配置、マニフェストのパターンを把握する
- エンドツーエンドのビルドワークフロー(スキャフォールディング → データ収集のセットアップ → パイプライン → システムテスト → レビュー)を実行する
- パッケージの構造、レイアウト、
manifest.ymlの形式について確認する
重要:参照資料の読み込み
このスキルには4つの参照ファイルがあります。タスクに応じて適切なファイルを読み込んでください。
インテグレーション全体をエンドツーエンドで作成する場合:
→ 作業を開始する前に、references/create-workflow.md を必ず最後まで読んでください。 オーケストレーションワークフロー、すべてのフェーズ、サブエージェントへの委任手順、ガードレールがすべて記載されています。
既存のパッケージにデータストリームを追加する場合:
→ 作業を開始する前に、references/add-datastream-workflow.md を必ず最後まで読んでください。 パッケージの検証、ストリームのスキャフォールディング、CEL → パイプライン → システムテストの手順が記載されています。
パッケージまたはデータストリームをスキャフォールディングする場合、またはスキャフォールディング後の編集を適用する場合:
→ スキャフォールディングコマンド、スキャフォールディング後のチェックリスト、よくある落とし穴については、references/scaffold-commands.md を読んでください。
パッケージの構成やファイルレイアウトをレビューまたは把握する場合:
→ インテグレーションパッケージと入力パッケージの標準的なツリー、マニフェストのパターン、レビュー用チェックリストについては、references/package-layout.md を読んでください。
インテグレーションの作成時に提供する情報
次の項目を、任意に組み合わせて含めてください。
| 入力 | 提供方法 | 例 |
|---|---|---|
| パッケージ名 | 自由形式のテキスト | my_vendor |
| 製品/ベンダー | 自由形式のテキスト | 「Acme Firewall appliance」 |
| データ配信方法 | 自由形式のテキスト | 「ページネーション付きの REST API」、「TCP/UDP 経由の syslog」、「S3 バケット」 |
| API/ログのドキュメント | URL を貼り付ける | https://docs.acme.com/api/v2 |
| サンプルデータ | ファイルを @ で指定 | @samples/acme_event.json |
| 調査概要 | ファイルを @ で指定 | @notes/acme-research-brief.md |
| 制約 | 自由形式のテキスト | 「CEL 入力のみ」、「データストリームは1つ」 |
使用例
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).
既存のパッケージにデータストリームを追加する際に提供する情報
ファイルやフォルダーには @ を付けて指定し、リンクは文中に貼り付けてください。
| 入力 | 提供方法 | 例 |
|---|---|---|
| 対象のパッケージ | 自由形式のテキストまたは @ で指定 | acme_firewall、@packages/acme_firewall |
| ストリーム名 | 自由形式のテキスト | audit、traffic、alert |
| ストリームの種類 | 自由形式のテキスト | logs(デフォルト)または metrics |
| 入力の種類 | 自由形式のテキスト | cel、tcp,udp、filestream、http_endpoint、aws-s3 |
| API/ログのドキュメント | URL を貼り付ける | https://docs.acme.com/api/audit |
| サンプルデータ | ファイルを @ で指定 | @samples/audit_event.json、@samples/traffic.log |
| 調査概要 | ファイルを @ で指定 | @notes/acme-audit-brief.md |
| 制約 | 自由形式のテキスト | 「パッケージレベルの認証変数を再利用する」、「イベントの種類ごとにパイプラインを分ける」 |
| 受け入れ基準 | 自由形式のテキスト | 「すべての syslog フィールドを解析し、ECS にマッピングする」 |
使用例
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
サブエージェントの概要
CEL、パイプライン、ECS、またはフィールドマッピングのスキルは、自分で読み込まないでください。各自のドメインスキルを読み込むサブエージェントに委任してください。
専門的な作業はすべて、プラットフォームの汎用/汎用目的サブエージェント(Cursor:generalPurpose Task エージェント、Claude Code:general-purpose Task エージェント、または他のプラットフォームで相当するもの)に委任します。各タスクのプロンプトでは、関連する *-subagent-guidance.md ファイルのパスをサブエージェントに示し、ほかの作業に着手する前に、そのファイルと、そこに記載されている「First steps」のスキル SKILL.md を最初から最後まで読むよう指示してください。ガイダンスファイルを自分で読んだり、内容をタスクのプロンプトに貼り付けたりしないでください。コンテキストのコストが二重にかかります。パスとタスク固有のコンテキストだけを渡してください。サブエージェントは、独自の新しいコンテキスト内でマニュアルを読み込みます。ディスパッチの完全なルールと各ステップの詳細は、references/create-workflow.md と references/add-datastream-workflow.md に記載されています。
| サブエージェントのガイダンスファイル | 使用するタイミング |
|---|---|
/research-integration スキル(独自の調査サブエージェントを統括) | 構築前のベンダー/API 調査。調査ブリーフがない場合 |
cel-programs/references/builder-subagent-guidance.md | 各 CEL データストリーム — モック API、CEL プログラム(インクリメンタルな mito ビルド)、cel.yml.hbs テンプレート、マニフェスト変数、初期フィールドマッピング |
integration-testing/references/builder-setup-subagent-guidance.md | CEL 以外の各データストリーム — データ収集のセットアップ(docker-compose、サンプルログ、エージェントストリームテンプレート、システムテスト設定、マニフェスト変数のクリーンアップ) |
ingest-pipelines/references/builder-subagent-guidance.md | 各データストリームのパイプラインとフィールド定義 |
integration-testing/references/builder-system-test-subagent-guidance.md | パイプライン作業の完了後に実施するシステムテスト。テスト可能な入力(CEL、tcp、udp、http_endpoint、logfile、kafka、pubsub)が対象 |
review-integration/references/reviewer-subagent-guidance.md | すべてのストリームの構築後に行う品質レビュー — ファイルをドメイン別に分類し、review-integration スキルを通じて関連するドメインスキルとチェックリストを読み込み、重大度順かつドメインタグ付きの指摘事項を返します |
クラウドストレージ入力(aws-s3、gcs、azure-blob-storage、azure-eventhub)の場合は、データ収集のセットアップとシステムテストを省略してください。スキャフォールドによって使用可能なテンプレートが提供されます。必要に応じて変数を整理してください。詳細は references/create-workflow.md を参照してください。
リファレンス
references/create-workflow.md— 新しいインテグレーションを作成するためのフェーズ 1~8 の全工程、サブエージェントへの指示、ガードレール、データの匿名化references/add-datastream-workflow.md— 既存のパッケージにデータストリームを追加するためのフェーズ 1~4、CEL/パイプライン/システムテストの順序references/scaffold-commands.md— スキャフォールドコマンド、スキャフォールド後の編集、base-fields.yml の形式references/package-layout.md— インテグレーションと入力パッケージのトポロジー、マニフェストのパターン