opensearch-skills について
検索アプリの構築、オブザーバビリティデータの分析、サービスのデプロイ、文書処理を行う OpenSearch ユーザー向けのスキル集です。依頼内容に応じて専門スキルへ振り分け、共通スクリプトとドキュメント検索の手順を提供します。
主な機能
- 017つのスキルへの依頼振り分け
- 02検索アプリとインデックスのガイド
- 03ログ・トレース分析の手順
- 04AWS・Aivenへのデプロイガイド
- 05文書処理とデータ取り込み
- 06共通CLIとドキュメント検索
活用シーン
- 01検索戦略の選択とインデックス設定
- 02ログのエラーパターン発見やトレース調査
- 03AWSまたはAivenでのOpenSearch構築
- 04取り込み用の文書チャンク作成
MCP 対応
READMEには任意のMCPサーバーと、利用可能か確認して設定ファイルに不足分を追加する手順が記載されています。設定変更後にサーバーを再起動または再接続する方法も説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ opensearch-project/ opensearch-agent-skills --skill opensearch-skillsインストール後、Claude Code で/opensearch-skillsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
cli-reference.mdcloud/aiven-setup/aiven-01-provision.mdaiven-02-deploy-search.mdreference.mdcloud/aws-setup/reference.mdcloud/aws-setup/aos/domain-01-provision.mddomain-02-deploy-search.mddomain-03-agentic-setup.mdcloud/aws-setup/aoss/serverless-02-deploy-search.mdserverless-04-agentic-setup.mdcloud/aws-setup/aoss/aoss-nextgen-provisioning/ADVANCED.mdDEPROVISION.mdERRORS.mdcloud/managed-ingestion-service/iam-setup.mdingest/document-processing/document_processing_guide.mdobservability/ppl-reference.mdobservability/log-analytics/log-analytics.mdobservability/trace-analytics/traces.mdscripts/eval_documents.pyscripts/lib/__init__.pyclient.pyeval_document_processing.pyevaluate.pyfeedback.pyingest.pyoperations.pyquality.pysamples.pysearch.pyui.py詳細
OpenSearch スキル
これは OpenSearch のトップレベルスキルです。個別にインストールして使用できる、4 つのカテゴリ別スキルが含まれています。
| カテゴリ | スキル | 個別にインストール |
|---|---|---|
| 検索 | opensearch-launchpad | npx skills add opensearch-project/opensearch-agent-skills@opensearch-launchpad --full-depth |
| 可観測性 | log-analytics | npx skills add opensearch-project/opensearch-agent-skills@log-analytics --full-depth |
| 可観測性 | trace-analytics | npx skills add opensearch-project/opensearch-agent-skills@trace-analytics --full-depth |
| クラウド | aws-setup | npx skills add opensearch-project/opensearch-agent-skills@aws-setup --full-depth |
| クラウド | aiven-setup | npx skills add opensearch-project/opensearch-agent-skills@aiven-setup --full-depth |
| 取り込み | document-processing | npx skills add opensearch-project/opensearch-agent-skills@document-processing --full-depth |
| クラウド | managed-ingestion-service | npx skills add opensearch-project/opensearch-agent-skills@managed-ingestion-service --full-depth |
振り分け
ユーザーの意図に基づいて、適切なスキルに振り分けます。
| ユーザーの意図 | スキル |
|---|---|
| 検索アプリを構築する、インデックスを設定する、検索戦略を選ぶ | opensearch-launchpad |
| ログを分析する、PPL でクエリを実行する、エラーパターンを見つける | log-analytics |
| トレースを調査する、スパンをデバッグする、サービスマップを分析する | trace-analytics |
| AWS にデプロイする、ドメインまたはコレクションをプロビジョニングする | aws-setup |
| Aiven にデプロイする、マネージド OpenSearch サービスをプロビジョニングする | aiven-setup |
| ドキュメントをチャンクに処理する(PDF/DOCX → JSONL) | document-processing |
| OSIS を介してチャンクを大規模に取り込む、S3 から AOS/AOSS へ | managed-ingestion-service |
| OpenSearch に関する一般的な質問 | まずドキュメントを検索し、その後、関連するスキルに振り分けます |
ユーザーの意図が複数のスキルにまたがる場合(例:「検索アプリを構築して Aiven にデプロイする」)、適切なスキルから開始し、準備ができたら次のスキルに移ります。
フィードバックの収集(必須の動作)
このルールは、このコレクション内のすべてのスキル(opensearch-launchpad、log-analytics、trace-analytics、aws-setup、aiven-setup、document-processing、managed-ingestion-service)に適用されます。どのスキルがアクティブでも、これらのルールに必ず従ってください。
すべてのやり取りで、先回りしてフィードバックを収集する必要があります。これは任意ではありません。後回しにせず、ワークフローの重要な一部として扱ってください。
ルール
- 継続的に確認する — 会話の最後だけでなく、会話全体を通じて、失敗、混乱、満たされていないニーズに注意します。
- 失敗したらすぐに提案する — コマンドでエラーが発生した場合や手順がうまくいかない場合は、トラブルシューティングを始める前に、フィードバックを記録することをすぐに提案します。
- 不確かな場合に提案する — どう進めるべきかわからない場合や、スキルがユーザーのリクエストに対応していない場合は、潜在的な不足として伝え、フィードバックの送信を提案します。
- 自然な区切りで尋ねる — 大きなフェーズを完了した後(最後だけでなく)に、「期待どおりに動いていますか? ここまでで何か不便な点はありますか?」と尋ねます。
- 最後に必ず尋ねる — ユーザーが完了したと伝えたとき、またはワークフローが完了したときに、1〜5 の評価を尋ねます。
- 同意なしに送信しない — プレビューを表示し、明示的な「はい」を得ます。
トリガー
| 条件 | 対応 |
|---|---|
| コマンドがゼロ以外の終了コードを返す、またはエラーになる | → ただちに:「失敗しました。この内容をフィードバックとして記録してもよいですか?」 |
| ユーザーが「望んでいたものと違います」/「分かりにくいです」と言う、または不満を表す | → 「使いづらさがあったようですね。何が問題だったか記録してもよいですか?」 |
| ユーザーが実行できないことを依頼する | → 「これはまだサポートされていません。機能の不足として報告してもよいですか?」 |
| 回避策が必要になる(もっと簡単であるべきこと) | → 「本来より手順が多かったですね。使いづらさとして報告してもよいですか?」 |
| 主要なフェーズが完了する | → 「ここまでの進み具合はいかがですか?問題はありますか?」 |
| ユーザーが「完了」と言う、またはワークフローが終了する | → 「全体的な使い心地はいかがでしたか?(1~5)」 |
送信方法
(Python スクリプトの実行に)uv のインストールが必要です
- フィードバック(種類+状況)を作成します。
- プレビューをユーザーに表示します。
- 次のように尋ねます:「この匿名のフィードバックを送信してもよいですか?」
- 同意を得た場合:
uv run python scripts/opensearch_ops.py submit-feedback \
--type <failure|gap|friction|success> \
--skill <skill-name> \
--context "<error message, command, what happened>" \
--comment "<user's words>" \
--rating "<1-5, for success only>"
フィードバックの種類
failure— コマンドまたは手順でエラーが発生したgap— ユーザーが、このスキルではサポートされていない機能を必要としているfriction— ワークフローが分かりにくい、遅い、または回避策が必要だったsuccess— ワークフローが完了し、ユーザーが満足した
共有リソース
すべてのスキルで次のリソースを共有します。
- スクリプト:
scripts/opensearch_ops.py— すべての OpenSearch 操作用の CLI - Docker の起動:
scripts/start_opensearch.sh— ローカルの OpenSearch クラスターを起動します - CLI リファレンス:cli-reference.md — 例を含むコマンドの完全なリファレンス
- 検索ビルダー UI:
scripts/ui/— ポート 8765 で提供される React フロントエンド
bash scripts/start_opensearch.sh
uv run python scripts/opensearch_ops.py <command> [options]
uv run python scripts/opensearch_ops.py --help
オプションの MCP サーバー
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
},
"awslabs.aws-api-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-api-mcp-server@latest"],
"env": { "FASTMCP_LOG_LEVEL": "ERROR" }
},
"aws-knowledge-mcp-server": {
"command": "uvx",
"args": ["fastmcp", "run", "https://knowledge-mcp.global.api.aws"],
"env": { "FASTMCP_LOG_LEVEL": "ERROR" }
},
"opensearch-mcp-server": {
"command": "uvx",
"args": ["opensearch-mcp-server-py@latest"],
"env": { "FASTMCP_LOG_LEVEL": "ERROR" }
}
}
}
MCP サーバーの不足分を自動インストールする
MCP ツールを使用する前に、サーバーが利用可能かどうかを確認します。見つからない場合は、次の手順に従います。
- MCP 設定ファイルを探します。
- Kiro:
.kiro/settings/mcp.json - Cursor:
.cursor/mcp.json - Claude Code:
.mcp.json - VS Code(Copilot):
.vscode/mcp.json - Windsurf:
~/.codeium/windsurf/mcp_config.json
- Kiro:
- 既存の設定を読み込みます(または
{"mcpServers": {}}から始めます)。 - 不足しているサーバーのエントリーをマージします。既存のエントリーを上書きしないでください。
- 保存し、MCP サーバーを再起動または再接続するようユーザーに伝えます。
OpenSearch に関する知識の質問への回答
uv run python scripts/opensearch_ops.py search-docs --query "<your query>"
uv run python scripts/opensearch_ops.py search-docs --query "<query>" --site docs.aws.amazon.com