elastic
@elastic Organization
Public Skills
scout-best-practices-reviewer
by elastic
Review Scout UI/API tests (including Scout test migrations) for best practices, reuse, parity, and server config hygiene.
flaky-test-investigator
by elastic
Investigate Scout and FTR flaky test failures in Kibana. Use when triaging a failed-test issue, a Buildkite-reported failure, a test path that has been failing intermittently, or any time the user asks to look at a flaky test, deflake a test, or stabilize a test.
scout-api-testing
by elastic
Use when creating, updating, debugging, or reviewing Scout API tests in Kibana (apiTest/apiClient/requestAuth/samlAuth/apiServices), including auth choices, response assertions, and API service patterns.
cypress-to-scout-migration
by elastic
Migrate Kibana Cypress E2E tests (.cy.ts) to Scout (Playwright). Applies to any Kibana plugin or solution. Includes triage gates (duplicate detection, layer analysis, value assessment), Cypress-to-Scout pattern mapping, data cleanup audit, and PR workflow. Use when: (1) migrating a Cypress test to Scout, (2) converting .cy.ts to .spec.ts, (3) planning a Cypress-to-Scout migration batch, (4) rewriting Cypress screens/tasks as Scout page objects, (5) asked "how do I move this Cypress test to Scout/Playwright", (6) asked about differences between Cypress and Scout.
evals-create-suite
by elastic
Scaffold a new LLM evaluation suite package with Playwright config, evaluate fixture, and package files. Use when creating a new eval suite, adding an evals package for a plugin, or setting up the boilerplate for offline LLM evaluations.
scout-create-scaffold
by elastic
Generate or repair a Scout test scaffold for a Kibana plugin/package (test/scout*/{api,ui} Playwright configs, fixtures, example specs). Use when you need the initial Scout directory structure; prefer node scripts/scout generate with flags for non-interactive/LLM execution.
scout-migrate-from-ftr
by elastic
Single entry point for migrating Kibana Functional Test Runner (FTR) tests to Scout. Plans the migration first, asks the user to review the plan, then executes it and runs the new tests. Use when migrating FTR tests to Scout, triaging FTR suites for Scout readiness, deciding UI vs API vs RTL/Jest, mapping FTR services/page objects/hooks to Scout fixtures, or splitting loadTestFile patterns.
scout-ui-testing
by elastic
Use when creating, updating, debugging, or reviewing Scout UI tests in Kibana (Playwright + Scout fixtures), including page objects, browser authentication, parallel UI tests (spaceTest/scoutSpace), a11y checks, and flake control.
validate-oas
by elastic
Use when you need a quick VALID or NOT VALID result for a scoped Kibana OAS area, and first ensure the generated oas_docs inputs are up to date so validation runs against the current environment rather than stale snapshots.
create-connector
by elastic
Creates a new connector spec for Kibana. Use when asked to create (or add) a new connector, integration, or data source.
ftr-testing
by elastic
Deep reference for the Kibana Functional Test Runner (FTR). Use when reading, analyzing, debugging, or reviewing FTR tests, including config anatomy, services, page objects, loadTestFile patterns, data loading, tags, CI wiring, and common FTR idioms.
review-connector
by elastic
Review connector spec changes (spec, docs). Use when reviewing a PR involving connector specs, doing post-creation review after create-connector or build-connector, or preparing a connector PR checklist.
task-manager-registration
by elastic
Register and schedule background tasks with the Kibana Task Manager plugin (@kbn/task-manager-plugin). Use when adding or modifying a task type via taskManager.registerTaskDefinitions, calling ensureScheduled / schedule / bulkSchedule, implementing createTaskRunner / cancel, picking timeout / cost / priority / maxAttempts, defining paramsSchema / stateSchemaByVersion, or reviewing PRs that touch any of these.
build-connector
by elastic
End-to-end orchestrator that creates a new connector from scratch, reviews the code, activates it in Kibana, tests it via an Agent Builder agent, iterates until quality is met, and delivers a polished result. Use when asked to build, develop, or implement a complete connector.
api-authz
by elastic
Kibana API route authorization patterns. Use when configuring route security, working with requiredPrivileges or extendedPrivileges, using authzResult for privilege-based branching, opting out of authorization, or naming custom privileges.
saved-objects-style-review
by elastic
Kibana Saved Objects registration and style review guidance. Use when creating, changing, or reviewing Saved Object changes involving savedObjects.registerType, mappings, modelVersions, root mappings, or Saved Objects type definitions.
workflows-custom-steps
by elastic
Register and implement custom workflow steps from an external Kibana plugin using @kbn/workflows-extensions. Use when adding or modifying a step type with registerStepDefinition, designing input/output/config Zod schemas, implementing createServerStepDefinition / createPublicStepDefinition, choosing StepCategory, building editorHandlers (selection / dynamicSchema), wiring callKibanaApi / onCancel, deciding sync vs async loader registration, managing per-step approval files under approved_step_definitions/, or reviewing PRs that touch any of these.
workflows-custom-triggers
by elastic
Register and implement custom workflow triggers from an external Kibana plugin using @kbn/workflows-extensions. Use when adding or modifying an event-driven trigger with registerTriggerDefinition, designing eventSchema Zod schemas, writing documentation and KQL snippets, wiring emitEvent via request context or getClient, choosing sync vs async public loader registration, updating APPROVED_TRIGGER_DEFINITIONS, or reviewing PRs that touch any of these. Always ask for the user's plugin id first to locate the correct plugin and file paths.
workflows-managed-workflows
by elastic
Register and roll out managed workflows from a Kibana plugin using @kbn/workflows-extensions and @kbn/workflows/managed. Use when adding or modifying a code-owned workflow definition, registerManagedWorkflowOwner, initManagedWorkflowsClient, install / uninstall / ready, choosing lifecycle / versionStrategy / enablement, authoring yaml vs yamlTemplate, space-scoped vs global installs, getWorkflowStatus, or execute, or reviewing PRs that touch managed workflow definitions or rollout. Always ask for the user's plugin id first to locate the correct plugin and definition file paths.
kibana-otel-instrumentation
by elastic
Implement and quality-check OpenTelemetry metric instrumentation in Kibana code that uses @kbn/metrics. Use whenever the user wants to add, change, or review OTel metrics — including any call to metrics.getMeter, meter.createCounter/createUpDownCounter/createGauge/createHistogram/createObservable*/addBatchObservableCallback, edits to kibana.yml telemetry.metrics config, or questions like "is this metric well-designed?", "what should I name this counter?", or "which instrument type is right here?". Trigger this skill even when the user does not say "OTel" or "OpenTelemetry" but is clearly adding observability to Kibana server code and already knows what they want to measure.
elasticsearch-onboarding
by elastic
Primary guided playbook for Elasticsearch search in Kibana Agent Builder: intent → data → mapping → Dev Tools API snippets (SENSE), with one question at a time. Load this skill whenever the user wants to learn Elasticsearch search, get started, begin building, take first steps, onboard, follow a walkthrough or tutorial, go from zero to a working query, or get structured help setting up indices and search — including casual openers like hi, help, getting started, new to Elasticsearch, how do I build search, or I want to try search. Use when they need end-to-end onboarding, not a single narrow API answer. If they only ask what they can build with Elastic (exploration without the full playbook), prefer invoking /use-case-library first; you can still load this skill afterward for the guided build.
elasticsearch-tutorial
by elastic
Topic-driven, hands-on Elasticsearch tutorial flow that runs in Kibana Dev Console. Use whenever the user says "walk me through", "give me a tutorial for", "teach me", "show me how X works", "tutorial on", or similar topical learning intent — and they are NOT asking you to build their real, specific use case. Topics are open-ended: any Elasticsearch / Kibana search concept the user names (e.g. mappings, analyzers, bool queries, semantic_text, kNN, RRF, aggregations, ingest pipelines, reranking, data streams, ES QL). Tutorials use sample data on isolated resources, present every step as a SENSE snippet to run in Dev Tools, and end with cleanup plus pointers to docs and the onboarding / pattern skills.
kbn-github
by elastic
GitHub interactions via gh CLI for the Kibana repo. Use when performing any GitHub interaction — creating, viewing, or modifying PRs or issues, posting comments or reviews, checking CI status, applying labels, creating releases, or making any gh/API call.
evals-write-spec
by elastic
Write LLM evaluation spec files with datasets, tasks, and evaluators using the @kbn/evals Playwright fixture. Use when authoring new eval specs, adding datasets or evaluators, or debugging evaluation test failures.
kbn-ui-package
by elastic
'This skill should be used when the user asks to "create a kbn-ui package", "onboard a component to kbn-ui", "package a Kibana component for external distribution", "add a package to kbn-ui", "set up packaging for a Kibana component", or any mention of distributing a Kibana UI component to Cloud UI or external consumers. Guides the full interactive process: gathers inputs, moves source files, scaffolds the packaging layer, and updates all Kibana imports.'
gh-create-issue
by elastic
Create a new GitHub issue (feature request or bug report) by gathering an unstructured description from the user, classifying it, filling out the appropriate Kibana template, interviewing the user to improve any weak sections, and filing the issue via the GitHub CLI.
accessibility
by elastic
Accessibility guidance for Kibana. Use this skill when working with or reviewing EUI components, resolving a11y-related (@elastic/eui) ESLint issues, and ensuring proper use of ARIA attributes, focus management, keyboard interactions, and accessible naming conventions.
improve-oas
by elastic
Add or improve OpenAPI descriptions, examples, and code samples for a Kibana API area. Use when a plugin or package needs better OAS documentation — missing descriptions on schema fields, missing route summaries, missing examples, or missing code samples.
workflows-management-jest-testing
by elastic
Use the shared TestProvider in workflows_management Jest tests instead of hand-wiring KibanaContextProvider, QueryClientProvider, WorkflowsContextProvider, MemoryRouter, I18nProvider, and the Redux Provider. Use when writing or updating React/Jest tests under src/platform/plugins/shared/workflows_management/public/**, rendering components or hooks that touch Kibana services, the Redux store, react-query, routing, or i18n.
kibana-i18n
by elastic
Add i18n to Kibana React components and server code using @kbn/i18n and @kbn/i18n-react. Use when internationalizing UI strings, adding FormattedMessage, calling i18n.translate, naming message IDs, or working with Kibana translation files.
kibana-api
by elastic
Shared utilities for interacting with a local Kibana instance. Provides auto-detection of Kibana URL and auth, and a kibana_curl wrapper.
catalog-ecommerce
by elastic
Guide for building catalog and e-commerce search with Elasticsearch. Use when a developer wants product search, faceted navigation, autocomplete, "did you mean" suggestions, or shopping-oriented search experiences.
keyword-search
by elastic
Guide for building keyword/full-text search with Elasticsearch. Use when a developer wants text matching, filters, faceted search, autocomplete, or traditional search functionality.
rag-chatbot
by elastic
Guide for building RAG (retrieval-augmented generation) chatbots and Q&A systems with Elasticsearch. Use when a developer wants to build a chatbot, Q&A system, or AI assistant that answers questions from their own data.
use-case-library
by elastic
Elasticsearch use case library — the full map of what you can build, with industry examples and technologies. Use when a developer asks "what can Elastic do?", "what can I build?", "what use cases does Elasticsearch support?", or needs help choosing what to build.
vector-hybrid-search
by elastic
Guide for building vector search, hybrid search, and using Elasticsearch as a vector database. Covers semantic_text, dense_vector, embedding strategies, hybrid BM25+kNN via RRF, reranking, and production optimization. Use when a developer wants semantic search, hybrid search, kNN, embeddings, or Elasticsearch as a vector store.
gh-enhance-issue
by elastic
Fetch a GitHub issue by number or URL and reformat it according to the Kibana bug report or feature request template. Classifies the issue type automatically, then rewrites the body and updates it via the GitHub CLI.
activate-connector
by elastic
Creates a connector instance in a running Kibana. Use when asked to activate, connect, enable, or instantiate a connector in Kibana.
debug-oas
by elastic
Use when debugging OpenAPI (OAS) issues for a specific API area in Kibana by scoping validation output with one or more --path filters, then separating structural invalid-OAS failures from quality or documentation gaps such as missing descriptions.
fix-package-docs
by elastic
Fix API documentation issues in a Kibana plugin or package. Use when asked to fix, improve, or add JSDoc/API documentation for a Kibana plugin or package, or when check_package_docs validation fails.
optimize-bundle-size
by elastic
Reduce plugin page load bundle size and avoid unnecessary increases in packages/kbn-optimizer/limits.yml. Use when proactively optimizing bundles, investigating CI page-load overages, or reviewing PRs that change bundle limits.
branch-readiness-checks
by elastic
"Validate branch readiness before push or PR using base-diff and local-change checks."
kibana-privilege-deprecation
by elastic
Implement and review Kibana feature privilege deprecations. Use when deprecating features, renaming features, splitting features, consolidating features, moving privilege capabilities, reviewing deprecation PRs, or working with the replacedBy mapping system.
codeql
by elastic
Work with CodeQL in Kibana — write, test, and debug custom queries locally, fetch scan results from GitHub, and validate inline suppression comments. Use when writing or debugging CodeQL queries, running CodeQL unit tests, analyzing SARIF results, fetching scan results, or checking codeql suppression justifications.
encrypted-saved-objects
by elastic
Encrypted Saved Objects (ESO) in Kibana — registration, AAD attribute choices, partial update safety, model version migrations with createModelVersion, canEncrypt checks, and Serverless constraints. Use when creating, modifying, or working with ESO types.
enzyme-to-rtl
by elastic
Migrate Enzyme tests to React Testing Library (RTL). Use when converting shallow/mount enzyme tests to RTL render, replacing enzyme selectors with RTL queries, updating snapshot tests, or when the user mentions enzyme migration, RTL migration, or react-testing-library.
workflows-yaml-reference
by elastic
Reference the workflows example library when answering questions about Elastic Workflows YAML syntax, structure, patterns, or examples. Use when the user asks about workflows, YAML syntax, workflow steps, triggers, Liquid templating, or needs examples of workflow patterns.