
agent-skills v0.4.0
Elastic 官方技能
Elastic Agent Skills
Elastic Agent Skills — 由构建 Elastic 的团队打造 — 将原生平台专业知识直接交付给你的 AI 编码代理。这是官方 Agent Skills 库,兼容 Cursor、GitHub Copilot、Windsurf、Gemini CLI 等代理型 IDE。这些技能遵循 Agent Skills 开放标准。
[!NOTE] 技术预览
这些技能处于早期发布阶段,正在积极开发中。随着技能通过稳健的评估逐步完善以及模型生态的演进,预计会有变更。请经常回来查看更新。
关于
本仓库包含精选的技能包,这些技能包是指令、上下文和工具的组合,用于教导任何 AI 代理如何正确使用 Elasticsearch、Kibana、Elastic Observability 和 Elastic Security。将它们放入你正在使用的代理运行时中,你的助手将不再使用过时的模式,而是开始正确地完成任务。
什么是技能?
技能是自包含的包,为 AI 代理提供知识和工具,以可重复的方式完成特定任务。每个技能都位于自己的文件夹中,包含一个 SKILL.md 文件,其中包含代理遵循的元数据和指令。
有关 Agent Skills 标准的更多背景信息,请参阅 agentskills.io。
范围
本仓库中的技能专注于:
- 与 Elasticsearch API 交互(搜索、索引、集群管理)
- 构建和管理 Kibana 内容,如告警、连接器等
- Elastic Observability、Elastic Security 和 Agent Builder 的模式
可用技能
Cloud (5)
| 技能 | 描述 | 版本 | 作者 |
|---|---|---|---|
| cloud-access-management | 管理 Elastic Cloud 组织访问权限:邀请用户、为 Serverless 项目分配角色,以及创建或撤销 Cloud API 密钥。在授予、修改或审计用户访问权限时使用。 | 0.1.0 | elastic |
| cloud-create-project | 通过 REST API 创建 Elastic Cloud Serverless 项目(Elasticsearch、Observability 或 Security),将凭据保存到文件,并引导生成一个作用域限定的 Elasticsearch API 密钥。在创建新的 serverless 项目、配置搜索或可观测性环境,或启动新的 Elastic Cloud 项目时使用。 | 0.1.0 | elastic |
| cloud-manage-project | 管理现有的 Elastic Cloud Serverless 项目:列出、获取、更新、删除、重置凭据、恢复以及加载已保存的凭据。通过解析端点和获取作用域限定的 Elasticsearch API 密钥来连接到现有项目。在对 serverless 项目执行第 2 天操作、连接到现有项目、加载或重置项目凭据,或查找项目详细信息时使用。 | 0.1.0 | elastic |
| cloud-network-security | 管理 Serverless 网络安全(流量过滤器):创建、更新和删除 IP 过滤器以及 AWS PrivateLink VPC 过滤器。在限制网络访问或配置私有连接时使用。 | 0.1.0 | elastic |
| cloud-setup | 配置 Elastic Cloud 身份验证和环境默认值。在设置 EC_API_KEY、配置 Cloud API 访问权限,或其他云技能需要凭据时使用。 | 0.1.0 | elastic |
Elasticsearch (7)
| 技能 | 描述 | 版本 | 作者 |
|---|---|---|---|
| elasticsearch-audit | 启用、配置和查询 Elasticsearch 安全审计日志。当任务涉及审计日志设置、事件过滤或调查安全事件(如登录失败)时使用。 | 0.1.0 | elastic |
| elasticsearch-authn | 使用原生、基于文件、LDAP/AD、SAML、OIDC、Kerberos、JWT 或证书领域对 Elasticsearch 进行身份验证。在连接凭据、选择领域或管理 API 密钥时使用。假定目标领域已配置。 | 0.1.0 | elastic |
| elasticsearch-authz | 管理 Elasticsearch RBAC:原生用户、角色、角色映射、文档级和字段级安全。在创建用户或角色、分配权限,或映射 LDAP/SAML 等外部领域时使用。 | 0.1.1 | elastic |
| elasticsearch-esql | 执行 ES|QL(Elasticsearch 查询语言)查询,当用户想要查询 Elasticsearch 数据、分析日志、聚合指标、探索数据,或从 ES|QL 结果创建图表和仪表板时使用。 | 0.5.0 | elastic |
| elasticsearch-file-ingest | 使用流处理和自定义转换将数据文件(CSV/JSON/Parquet/Arrow IPC)摄取并转换到 Elasticsearch。在加载文件或批量导入数据时使用 — 不适用于重新索引、通用摄取管道设计或批量 API 模式。 | 0.2.0 | elastic |
| elasticsearch-onboarding | 帮助刚接触 Elasticsearch 的开发人员从零开始获得可用的搜索体验。引导他们理解意图、映射数据,并构建内置最佳实践的搜索体验。当用户表现出构建搜索相关功能的意图、询问与其用例相关的 Elasticsearch 概念,或表示需要帮助开始使用 Elasticsearch 时使用。 | 0.1.0 | elastic |
| elasticsearch-security-troubleshooting | 诊断并解决 Elasticsearch 安全错误:401/403 失败、TLS 问题、过期的 API 密钥、角色映射不匹配以及 Kibana 登录问题。当用户报告安全错误时使用。 | 0.1.0 | elastic |
Kibana (9)
| 技能 | 描述 | 版本 | 作者 |
|---|---|---|---|
| kibana-agent-builder | 在 Kibana 中创建和管理 Agent Builder 代理和自定义工具。当被要求创建、更新、删除、测试或检查 Agent Builder 中的代理或工具时使用。 | 0.2.0 | elastic |
| kibana-alerting-rules | 通过 REST API 或 Terraform 创建和管理 Kibana 告警规则。在创建、更新或管理规则生命周期(启用、禁用、静音、暂停)或规则即代码工作流时使用。 | 0.1.0 | elastic |
| kibana-anomaly-detection | Elastic ML 异常检测技能 — 调查/RCA、分数解释、作业操作(创建、数据馈送、启动/停止、结果)以及故障排除(缺失文档、内存限制、数据馈送健康、生命周期)。针对 Kibana Agent Builder MCP 工具(ad_*)在 .ml-anomalies-*、.ml-config、.ml-notifications-*、.ml-annotations-* 上运行。在回答“什么坏了?”/“哪个实体?”/RCA、“为什么分数高/低?”/重新归一化、“数据馈送已停止”/“内存限制”,或任何设置或配置 ML 异常检测作业的请求时使用。 | 0.2.0 | elastic |
| kibana-audit | 为已保存对象访问、登录和空间操作启用和配置 Kibana 审计日志记录。在设置 Kibana 审计、过滤事件或关联 Kibana 和 ES 审计日志时使用。 | 0.1.0 | elastic |
| kibana-connectors | 通过 REST API 或 Terraform 创建和管理用于 Slack、PagerDuty、Jira、Webhook 等的 Kibana 连接器。在配置第三方集成或将连接器作为代码管理时使用。 | 0.1.1 | elastic |
| kibana-dashboards | 创建和管理 Kibana 仪表板和可视化。当你需要以声明方式定义仪表板和可视化、对其进行版本控制或自动化部署时使用。 | 0.1.2 | elastic |
| kibana-vega | 在 Kibana 中使用 ES|QL 数据源创建 Vega 和 Vega-Lite 可视化。在构建超出标准 Lens 图表的自定义图表、仪表板或程序化面板布局时使用。 | 0.1.0 | elastic |
| kibana-workflows | 编写、验证、测试、运行和检查 Elastic Workflow YAML 定义。当用户想要将自然语言转换为 Kibana 工作流、修复工作流 YAML、理解触发器或步骤,或针对真实 Kibana 运行快速测试循环时使用。 | 0.5.0 | elastic |
| kibana-streams | 通过 REST API 列出、检查、启用、禁用和重新同步 Kibana Streams。当用户需要流详细信息、摄取设置、查询流设置或关联附件(仪表板、规则、SLO)时使用。 | 0.2.0 | elastic |
Observability (11)
| 技能 | 描述 | 版本 | 作者 |
|---|---|---|---|
| observability-edot-dotnet-instrument | 使用 Elastic Distribution of OpenTelemetry (EDOT) .NET SDK 对 .NET 应用程序进行插桩,以实现自动追踪、指标和日志。在为没有现有 APM 代理的 .NET 服务添加可观测性时使用。 | 0.1.0 | elastic |
| observability-edot-dotnet-migrate | 将 .NET 应用程序从经典 Elastic APM .NET 代理迁移到 EDOT .NET SDK。在从 Elastic.Apm.* 包切换到 Elastic.OpenTelemetry 时使用。 | 0.1.0 | elastic |
| observability-edot-java-instrument | 使用 Elastic Distribution of OpenTelemetry (EDOT) Java 代理对 Java 应用程序进行插桩,以实现自动追踪、指标和日志。在为没有现有 APM 代理的 Java 服务添加可观测性时使用。 | 0.1.1 | elastic |
| observability-edot-java-migrate | 将 Java 应用程序从经典 Elastic APM Java 代理迁移到 EDOT Java 代理。在从 elastic-apm-agent.jar 切换到 elastic-otel-javaagent.jar 时使用。 | 0.1.1 | elastic |
| observability-edot-python-instrument | 使用 Elastic Distribution of OpenTelemetry (EDOT) Python 代理对 Python 应用程序进行插桩,以实现自动追踪、指标和日志。在为没有现有 APM 代理的 Python 服务添加可观测性时使用。 | 0.1.0 | elastic |
| observability-edot-python-migrate | 将 Python 应用程序从经典 Elastic APM Python 代理迁移到 EDOT Python 代理。在从 elastic-apm 切换到 elastic-opentelemetry 时使用。 | 0.1.0 | elastic |
| observability-k8s-investigation | 使用 OTel 遥测 (EDOT) 调查 Kubernetes 工作负载、节点和控制平面问题。在诊断 Pod 故障(CrashLoopBackOff、OOMKilled、Error)、节点压力、资源耗尽、镜像拉取失败、准入拒绝、自动扩缩异常,或将 K8s 状态与应用程序信号关联时使用。仅限 OTel 摄取路径 — 传统 ECS Kubernetes 集成形态不在范围内。 | 0.2.0 | elastic |
| observability-llm-obs | 监控 LLM 和代理型应用:性能、令牌/成本、响应质量和工作流编排。当用户询问 LLM 监控、GenAI 可观测性或 AI 成本/质量时使用。 | 0.1.0 | elastic |
| observability-logs-search | 使用 ES|QL 搜索和过滤 Observability 日志。在调查日志峰值、错误或异常时使用;获取数量和趋势;或在事件期间深入分析服务或容器。 | 0.2.0 | elastic |
| observability-manage-slos | 使用 Kibana API 在 Elastic Observability 中创建和管理 SLO。在定义 SLI、设置错误预算或管理 SLO 生命周期时使用。 | 0.2.0 | elastic |
| observability-service-health | 使用 SLO、告警、ML、吞吐量、延迟、错误率和依赖关系评估 APM 服务健康。在检查服务状态、性能,或用户询问服务健康时使用。 | 0.1.0 | elastic |
Security (4)
| 技能 | 描述 | 版本 | 作者 |
|---|---|---|---|
| security-alert-triage | 对 Elastic Security 告警进行分流 — 收集上下文、分类威胁、创建案例并确认。在分流告警、执行 SOC 分析或调查检测时使用。 | 0.1.0 | elastic |
| security-case-management | 通过 Kibana Cases API 创建、搜索、更新和管理 SOC 案例。在跟踪事件、将告警关联到案例、添加调查笔记或管理分流输出时使用。 | 0.1.0 | elastic |
| security-detection-rule-management | 创建、调优和管理 Elastic Security 检测规则(SIEM 和 Endpoint)。用于误报、例外、新覆盖范围、嘈杂规则,或通过 Kibana API 进行规则管理。 | 0.1.0 | elastic |
| security-generate-security-sample-data | 为 Elastic Security 生成示例安全事件、攻击场景和合成告警。在演示、填充仪表板、测试检测规则或设置 POC 时使用。 | 0.1.0 | elastic |
安全注意事项
AI 编码代理使用真实凭据、真实 shell 访问权限,并且通常拥有运行它们的用户的全部权限。当这些代理被指向安全工作流时,风险更高。这值得在开始之前就风险进行坦诚的讨论。
- 自行进行威胁建模。 评估代理可以访问哪些数据、可以执行哪些操作,以及如果其行为异常会发生什么。CISA 关于安全部署 AI 系统的联合指南 是一个很好的起点。
- 注意流经代理的数据。 安全数据可能包含 PII、嵌入在命令行中的凭据以及其他受监管的数据。当代理查询告警或进程事件时,这些内容会进入模型的上下文,并可能被发送到第三方 API。尽早让你的信息安全与合规团队参与进来。
- 这些代理处理攻击者控制的输入。 告警、事件字段和文件内容经常包含由攻击者构造的字符串。提示注入在这里并非理论上的问题;它是操作环境的固有属性。像 Brainworm 这样的研究表明,仅代理上下文文件就可以作为提示软件的持久化机制。
- 严格限定权限范围。 为 API 密钥授予所需的最低权限。广泛的响应权限尤其危险。只读访问是一个很好的默认选择,直到你验证了行为。
- 限制代理工具访问和网络可达性。 大多数 AI 编码代理默认具有广泛的权限:shell 执行、文件系统写入、互联网访问。减少可用的工具面可以限制受损或被误导的代理可以执行的操作。
- 从非生产环境开始。 使用 Serverless 试用项目、开发集群或隔离的 Kibana 空间来评估技能,然后再将其连接到任何承载实时安全数据的内容。
这些技能是开源的,正是为了让你能够审计它们的功能。我们鼓励你在运行之前阅读它们。
入门
你可以使用 Claude Code 原生插件系统、通过 npx 使用 skills CLI,或克隆此仓库并运行捆绑的安装脚本来安装 Elastic 技能。npx 方法要求你的环境中具有包含 npx 的 Node.js。
[!TIP] 不要安装每个技能。 每个已安装的技能都会添加路由上下文,你的代理会在每个请求时进行评估。安装 cloud 和 elasticsearch 认证技能 — 大多数其他技能都依赖它们 — 然后只添加与你工作流相关的技能。保持已安装集合的聚焦可以避免上下文膨胀,并帮助代理可靠地路由到正确的技能。
Claude Code 插件(推荐给 Claude Code 用户)
Claude Code 具有原生插件系统,可直接管理技能。首先将此仓库添加为市场源:```sh claude plugin marketplace add https://github.com/elastic/agent-skills
添加后,按名称安装各个插件:```sh
claude plugin install elasticsearch@elastic-agent-skills
claude plugin install kibana@elastic-agent-skills
claude plugin install observability@elastic-agent-skills
claude plugin install security@elastic-agent-skills
claude plugin install cloud@elastic-agent-skills
[!NOTE] 安装后,运行
/reload-plugins时技能可能不会立即出现。这是 Claude Code 的一个已知问题——请重启你的 Claude Code 会话以加载新安装的插件。
或者在任何 Claude Code 会话中使用交互式插件浏览器:``` /plugins
这会打开一个菜单,用于浏览所有已配置市场中的可用插件、选择要安装的内容,并管理已安装的插件。
### GitHub Copilot CLI
GitHub Copilot CLI 自带原生插件系统。将此仓库添加为市场源:```sh
copilot plugin marketplace add elastic/agent-skills
添加后,可按名称安装各个插件:```sh copilot plugin install elasticsearch@elastic-agent-skills copilot plugin install kibana@elastic-agent-skills copilot plugin install observability@elastic-agent-skills copilot plugin install security@elastic-agent-skills copilot plugin install cloud@elastic-agent-skills
或者可以在 Copilot 会话中交互式浏览可用的插件:```
/plugin list
npx(推荐)
安装技能最快的方式是使用 skills CLI。无需克隆此仓库——只需运行:```sh
npx skills add elastic/agent-skills
这会启动一个交互式提示,用于选择技能和[目标代理](https://github.com/vercel-labs/skills?tab=readme-ov-file#supported-agents)。CLI会将每个技能文件夹复制到代理可发现的正确位置。
按名称安装特定技能:```sh
npx skills add elastic/agent-skills --skill elasticsearch-esql
或者使用 @ 简写,直接将技能指定为 repo@skill(等同于 --skill):```sh
npx skills add elastic/agent-skills@elasticsearch-esql
安装到特定代理(参见[支持的代理](https://github.com/vercel-labs/skills?tab=readme-ov-file#supported-agents)):```sh
npx skills add elastic/agent-skills -a cursor -a claude-code
列出可用技能(无需安装):```sh npx skills add elastic/agent-skills --list
安装所有技能到所有代理(非交互式):```sh
npx skills add elastic/agent-skills --all
| Flag | 描述 |
|---|---|
-a, --agent | 指定目标代理(参见支持的代理) |
-s, --skill | 按名称安装特定技能 |
-g, --global | 安装到用户主目录而非项目目录 |
-y, --yes | 跳过确认提示 |
--all | 无需提示即可将所有技能安装到所有代理 |
--list | 列出可用技能而不进行安装 |
本地克隆
如果您更倾向于使用本地检出,或者您的环境没有 Node.js / npx,请克隆仓库并使用捆绑的 bash 安装程序:```sh git clone https://github.com/elastic/agent-skills.git cd agent-skills ./scripts/install-skills.sh add -a
该脚本需要 bash 3.2+ 以及标准的 Unix 工具(`awk`、`find`、`cp`、`rm`、`mkdir`)。
| 标志 | 描述 |
| ----------------- | -------------------------------- |
| `-a, --agent` | 目标代理(可重复) |
| `-s, --skill` | 按名称安装特定技能 |
| `-f, --force` | 覆盖已安装的技能 |
| `-y, --yes` | 跳过确认提示 |
列出所有可用技能:```sh
./scripts/install-skills.sh list
支持的代理
| 代理 | 安装目录 |
|---|---|
| claude-code | .claude/skills |
| cursor | .agents/skills |
| codex | .agents/skills |
| opencode | .agents/skills |
| pi | .pi/agent/skills |
| windsurf | .windsurf/skills |
| roo | .roo/skills |
| cline | .agents/skills |
| github-copilot | .agents/skills |
| gemini-cli | .agents/skills |
更新技能
更新过程取决于技能的安装方式。
Claude Code 插件
将所有已安装的插件更新到最新版本:```sh claude plugin update
更新特定插件:```sh
claude plugin update elastic-elasticsearch
为了让插件自动保持最新状态,可在 Claude Code 中使用 /plugins 启用自动更新。
启用自动更新后,Claude Code 会在启动时检查插件的新版本,并在后台进行更新。
GitHub Copilot CLI
将所有已安装的插件更新到最新版本:```sh copilot plugin update
更新特定插件:```sh
copilot plugin update elasticsearch
npx
检查是否有任何已安装的技能在上游发生了更改:```sh npx skills check
拉取所有已安装技能的最新版本:```sh
npx skills update
CLI 会在锁文件中记录每个技能的源仓库和内容哈希。check 会将本地哈希与 GitHub 上的进行比对;update 会重新下载任何已发生漂移的内容。
提示: 默认的 npx 安装使用符号链接,因此每个 agent 都指向同一份规范副本。更新一次即可同时刷新所有 agent。
本地克隆
使用 --force 重新运行安装程序以覆盖现有技能:```sh
git pull
./scripts/install-skills.sh add -a --force
不添加 `--force` 时,脚本会跳过已安装的技能。
## 技能格式
每个技能文件夹都包含一个带有 YAML frontmatter 和 Markdown 指令的 `SKILL.md`:```yaml
---
name: elasticsearch-my-skill
description: >
What the skill does AND when an agent should activate it.
metadata:
version: 0.1.0
visibility: public
---
# My Skill
[Instructions that the agent follows when this skill is active]
description 字段是唯一的触发机制——代理运行时读取它来决定何时加载技能。有关完整的格式规范,请参阅 agentskills.io/specification。
问题
发现问题或有建议?提交一个 issue,我们会进行审查。
免责声明
这些技能按“原样”提供。在依赖它们处理关键任务之前,请务必在自己的环境中彻底测试这些技能。