一键导入
activate-connector
Creates a connector instance in a running Kibana. Use when asked to activate, connect, enable, or instantiate a connector in Kibana.
菜单
Creates a connector instance in a running Kibana. Use when asked to activate, connect, enable, or instantiate a connector in Kibana.
基于 SOC 职业分类
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, updating `APPROVED_STEP_DEFINITIONS`, or reviewing PRs that touch any of these.
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.
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.
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.
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.
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.
| name | activate-connector |
| description | Creates a connector instance in a running Kibana. Use when asked to activate, connect, enable, or instantiate a connector in Kibana. |
| allowed-tools | Bash, Read, Glob, Grep |
| argument-hint | ["connector-type"] |
This skill creates a live connector instance in a running Kibana by calling the Actions API. The user wants to activate a $ARGUMENTS connector.
When agentBuilder:experimentalFeatures is enabled, creating a connector automatically indexes it into the Semantic Metadata Layer (SML), making its sub-actions discoverable by AI agents.
CRITICAL: Never read, log, or display the contents of any credentials file. Credentials must only flow through the bundled scripts.
Run the helper script to see what connector types are registered. This script auto-detects whether Kibana is running on http/https and with standard/serverless auth — no manual configuration needed.
src/platform/packages/shared/kbn-connector-specs/.claude/skills/activate-connector/scripts/list_connector_types.sh
If the script reports that it cannot detect a running Kibana instance, stop and tell the user:
Kibana does not appear to be running. Please start Elasticsearch and Kibana first:
yarn es snapshot # in one terminal yarn start # in another terminalThen re-run this skill.
Match the user's argument ($ARGUMENTS) to one of the listed type IDs. If no exact match, show the user the available types and ask them to pick one.
Run the helper script to see what's already created:
src/platform/packages/shared/kbn-connector-specs/.claude/skills/activate-connector/scripts/list_connectors.sh
If a connector of the same type already exists, inform the user and ask if they want to create another one or stop.
First, determine what credential the user needs to provide. Use the Credential Reference section below and the connector spec's auth type to identify the correct format.
Then ask the user to write their credentials to a temporary file. Use the AskUserQuestion tool to present this request clearly, including the specific credential type and format they need.
For example, if activating a GitHub connector (bearer token):
To activate the GitHub connector, I need a GitHub personal access token (starts with
ghp_orgithub_pat_).For security, please write it to a temporary file — I will not read this file. The creation script will read it and immediately delete it.
Please run this in your terminal:
echo -n 'ghp_your_token_here' > /tmp/connector_credentialsThen let me know when the file is ready.
Important:
/tmp/connector_credentials or any credentials file the user createscat or otherwise inspect the credentials filecreate_connector.sh script handles reading and deleting itUse this table to tell the user what credential to provide. Look up the connector spec's auth type in src/platform/packages/shared/kbn-connector-specs/src/specs/ to confirm.
| Auth Type | Credential Format | Example |
|---|---|---|
bearer | A bearer/access token string | ghp_abc123... |
api_key_header | An API key string | sk-abc123... |
basic | username:password | admin:secretpass |
| Connector | Type ID | Auth Type | Credential to Provide |
|---|---|---|---|
| GitHub | .github | Bearer | GitHub personal access token (ghp_... or github_pat_...) |
| Notion | .notion | Bearer | Notion API integration token (starts with secret_ or ntn_) |
| Google Drive | .google_drive | Bearer | Google OAuth 2.0 access token (ya29....) |
| Slack | .slack2 | Bearer | Slack Bot User OAuth Token (xoxb-...) |
| Jira Cloud | .jira-cloud | Basic | your_email@example.com:your_api_token |
| Zendesk | .zendesk | Basic | your_email@example.com/token:your_api_token |
| SharePoint Online | .sharepoint-online | OAuth | Requires OAuth client credentials (clientId, clientSecret, tenantId). May need UI-based setup. |
If the connector type isn't listed above:
grep -r "auth:" src/platform/packages/shared/kbn-connector-specs/src/specs/<name>/types: ['bearer'], types: ['api_key_header'], or types: ['oauth_client_credentials']Once the user confirms the credentials file is ready, run:
src/platform/packages/shared/kbn-connector-specs/.claude/skills/activate-connector/scripts/create_connector.sh \
--type "<connector_type_id>" \
--name "<display_name>" \
--auth-type "<auth_type>" \
--credentials-file /tmp/connector_credentials
Where:
<connector_type_id> is the type ID from Step 1 (e.g., .github, .notion)<display_name> is a human-readable name for the connector instance<auth_type> is bearer, api_key_header, or basic — look up the connector spec's auth type from Step 3's Credential Reference. If omitted, the script auto-detects (colon in credential → basic, else bearer), but always pass it explicitly for api_key_header connectors since auto-detection can't distinguish them from bearer tokens.For api_key_header connectors, you must also pass --header-field with the header field name from the connector spec's auth.types[].defaults.headerField:
--auth-type api_key_header --header-field "X-Api-Key"
If the connector requires additional config (e.g., serverUrl for MCP-native connectors), add:
--config '{"serverUrl":"https://mcp.example.com/mcp/"}'
The script will auto-detect the Kibana URL and auth, read the credentials, delete the file, and make the API call.
Run the list script again to confirm:
src/platform/packages/shared/kbn-connector-specs/.claude/skills/activate-connector/scripts/list_connectors.sh
Show the user the newly created connector entry. If it appears, report success. If not, show any error output from Step 4.
elastic:changeme (standard) and elastic_serverless:changeme (serverless) credentialsagentBuilder:experimentalFeatures is true in Kibana settingsKIBANA_URL and/or KIBANA_AUTH environment variables, or pass --kibana-url to the scripts