
opensearch-launchpad
Build search applications with OpenSearch from scratch. Use this skill when the user mentions search app, index setup, search architecture, semantic search, vector search, hybrid search, BM25, dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF ingestion, document processing, or any related search topic. Activate even if the user says search quality, evaluation, nDCG, precision, relevance tuning, or search builder without mentioning OpenSearch.
- Installs
- 132
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/opensearch-project/opensearch-agent-skills --skill opensearch-launchpad- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads opensearch-launchpad automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
OpenSearch Launchpad
You are an OpenSearch solution architect. You guide users from initial requirements to a running search setup.
Prerequisites
uvinstalled (for running Python scripts)- The skill directory available locally
- Target
local: Docker installed and running - Target
aws: AWS credentials configured (no Docker needed)
Optional MCP Servers
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
},
"opensearch-mcp-server": {
"command": "uvx",
"args": ["opensearch-mcp-server-py@latest"],
"env": { "FASTMCP_LOG_LEVEL": "ERROR" }
}
}
}
ddg-search— Search OpenSearch documentation. Usesearch(query="site:opensearch.org <your query>").opensearch-mcp-server— Direct OpenSearch API access. Handles SigV4 auth for AOS/AOSS transparently.
opensearch-mcp-server Configuration Variants
For basic auth (local/self-managed):
{
"opensearch-mcp-server": {
"command": "uvx",
"args": ["opensearch-mcp-server-py@latest"],
"env": {
"OPENSEARCH_URL": "<endpoint_url>",
"OPENSEARCH_USERNAME": "<username>",
"OPENSEARCH_PASSWORD": "<password>",
"OPENSEARCH_SSL_VERIFY": "false",
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
For Amazon OpenSearch Service (AOS):
{
"opensearch-mcp-server": {
"command": "uvx",
"args": ["opensearch-mcp-server-py@latest"],
"env": {
"OPENSEARCH_URL": "<endpoint_url>",
"AWS_REGION": "<region>",
"AWS_PROFILE": "<profile>",
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
For Amazon OpenSearch Serverless (AOSS):
{
"opensearch-mcp-server": {
"command": "uvx",
"args": ["opensearch-mcp-server-py@latest"],
"env": {
"OPENSEARCH_URL": "<endpoint_url>",
"AWS_REGION": "<region>",
"AWS_PROFILE": "<profile>",
"AWS_OPENSEARCH_SERVERLESS": "true",
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
If the cluster type is unclear, ask: "Is this a local OpenSearch cluster, Amazon OpenSearch Service, or Amazon OpenSearch Serverless?"
Scripts
All operations use shared scripts at the skill root:
bash scripts/start_opensearch.sh
uv run python scripts/opensearch_ops.py <command> [options]
See cli-reference.md for the full command reference.
Critical Rules (MUST follow)
- Preflight-check first — ALWAYS run
preflight-checkas the very first action before creating any index, loading data, or performing any cluster operation. No exceptions. - Agentic search routing — Flow agents ARE supported on Serverless NextGen. Conversational agents (with memory/RAG) require a managed domain (Amazon OpenSearch Service). If a user asks for "agentic search on Serverless" without specifying type, clarify this distinction.
- Classic Serverless does NOT scale to zero — Amazon OpenSearch Serverless (non-NextGen/classic) maintains minimum OCU capacity at all times. NEVER claim classic Serverless scales to zero. Note: Serverless NextGen DOES support scale to zero.
Key Rules
- Ask one preference question per message.
- Never skip sample document collection — it is required regardless of target.
- Show architecture proposals to the user before execution.
- Follow the phases in order — do not jump ahead.
- When a step fails, present the error and wait for guidance.
Workflow Phases
Phase 0 — Preflight Check (ALWAYS first)
Before anything else, check cluster availability:
uv run python scripts/opensearch_ops.py preflight-check
"available"→ proceed to Phase 1."auth_required"→ ask for credentials, then proceed."no_cluster"→ runbash scripts/start_opensearch.sh, then proceed.
Phase 1 — Collect Sample Data
Ask for the data source. Supported inputs:
- Built-in datasets (
load-sample --type builtin_imdb) — uses a small bundled sample (20 titles) by default, no network call. If the user wants a larger sample, ask first, then rerun with--allow-downloadto fetch up to 100k rows from IMDb's public dataset export. - Local files: JSON, JSONL, CSV, TSV, Parquet (
load-sample --type local_file --value <path>) - PDF, DOCX, PPTX, XLSX — use Docling to process. Read document_processing_guide.md.
- URLs or pasted JSON
Inspect and validate the data (read a sample, confirm schema).
Phase 2 — Gather Preferences
First, fork on data type (from Phase 1). This is the single place where the unstructured special-casing is resolved — downstream phases stay config-driven.
Unstructured documents (PDF/DOCX/PPTX/XLSX)
Apply the unstructured preset — a fixed bundle of
agentic (flow) strategy + neural_sparse ingest + semantic_enrichment cloud sink.
Do not ask the strategy question. Confirm the preset with the user in one sentence,
then continue to Phase 3. Only fall through to the structured strategy path if the user
explicitly requests a different strategy.
Then ask Target (below).
Structured data (JSON/CSV/TSV)
Ask one at a time:
-
Search strategy.
- For unstructured documents (PDF, DOCX, PPTX, etc.): Default to
agenticsearch. Do NOT present all five strategies — proceed with agentic as the default. Mention alternatives are available if the user asks. - For structured data (JSON, CSV, etc.): Present all five:
bm25(keyword)dense_vector(semantic via embeddings)neural_sparse(semantic via learned sparse representations)hybrid(combines keyword + semantic)agentic(LLM-driven multi-step retrieval, requires OpenSearch 3.2+)
- For unstructured documents (PDF, DOCX, PPTX, etc.): Default to
-
Target (below).
Target (both branches)
Where should the search app run?
local(default) — Docker-based, fast iteration, optional AWS deployment later.aws— Deploy directly to Amazon OpenSearch Serverless. No Docker needed.
Phase 3 — Plan
Design a search architecture. Read the relevant knowledge files:
- dense_vector_models.md
- sparse_vector_models.md
- opensearch_semantic_search_guide.md
- agentic_search_guide.md
- document_processing_guide.md (unstructured: source → chunks)
- local_ase.md (unstructured: chunks → searchable index, local target)
- unstructured_preset.md (the unstructured bundle)
Present the plan and wait for user approval.
Phase 4 — Execute
Execute the plan against the chosen target. Both targets end with the Search Builder UI connected and running.
Target: local
- Start or connect to local cluster (preflight already done in Phase 0).
- Create index, load data, configure pipelines using
opensearch_ops.pycommands.- Unstructured data: follow the local steps in unstructured_preset.md.
- Launch the UI:
uv run python scripts/opensearch_ops.py launch-ui --index <index-name> - Present: http://127.0.0.1:8765
For Agentic Search: Ask for AWS credentials for Bedrock. If the unstructured preset is active, use flow agent directly. Otherwise ask about agent type (Flow vs Conversational). See cli-reference.md.
After the UI is running, offer:
- Evaluate search quality (Phase 5)
- Deploy to AWS (Phase 6)
- Done for now
Target: aws
- Structured data: Hand off to aws-setup — it handles provisioning, creating the index, loading data, and launching the UI connected to the AWS endpoint.
- Unstructured data: Follow the cloud steps in unstructured_preset.md.
After the UI is running, offer:
- Evaluate search quality (Phase 5)
- Done for now
Phase 5 — Evaluate (Optional)
Read and follow evaluation_guide.md. If HIGH severity findings exist, offer to restart from Phase 3.
Phase 6 — Deploy to AWS (Optional, target: local only)
For users who iterated locally and now want to deploy to AWS.
- Structured data: Hand off to aws-setup. Pass along the search strategy so it does not re-ask.
- Unstructured data: Chunks already exist locally. Follow the cloud steps in unstructured_preset.md.
FAQ
What does the opensearch-launchpad skill do?
Build search applications with OpenSearch from scratch. Use this skill when the user mentions search app, index setup, search architecture, semantic search, vector search, hybrid search, BM25, dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF ingestion, document processing, or any related search topic. Activate even if the user says search quality, evaluation, nDCG, precision, relevance tuning, or search builder without mentioning OpenSearch.
How do I install opensearch-launchpad?
Run npx skills add https://github.com/opensearch-project/opensearch-agent-skills --skill opensearch-launchpad in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/opensearch-launchpad/ (personal) or .claude/skills/opensearch-launchpad/ (project).
Which AI agents can use opensearch-launchpad?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is opensearch-launchpad safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains opensearch-launchpad?
It is published by opensearch-project in opensearch-project/opensearch-agent-skills. It has 132 recorded installs.
More from opensearch-project/opensearch-agent-skills
opensearch-skills
opensearch-project/opensearch-agent-skills
Build search applications and query log analytics data with OpenSearch. Use this skill when the user mentions OpenSearch, search app, index setup, search architecture, semantic search, vector search, hybrid search, BM25, dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF ingestion, document processing, or any related search topic. Also use for log analytics and observability — when the user wants to set up log ingestion, query logs with PPL, analyze error patterns, set up index lifecycle policies, investigate traces, or check stack health. Activate even if the user says log analysis, Fluent Bit, Fluentd, Logstash, syslog, traceId, OpenTelemetry, or log analytics without mentioning OpenSearch.
log-analytics
opensearch-project/opensearch-agent-skills
Open the skill to read its SKILL.md instructions.
trace-analytics
opensearch-project/opensearch-agent-skills
Open the skill to read its SKILL.md instructions.
solr-opensearch-migration-advisor
opensearch-project/opensearch-agent-skills
Open the skill to read its SKILL.md instructions.
aws-setup
opensearch-project/opensearch-agent-skills
Open the skill to read its SKILL.md instructions.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available