Skip to content

Commit e09318c

Browse files
floberndMattDevy
andauthored
feat: add top-level copilot plugin.json for each plugin and sync via CI (#46)
Co-authored-by: Matt Devy <matt.devy@elastic.co>
1 parent 9548ff5 commit e09318c

9 files changed

Lines changed: 192 additions & 3 deletions

File tree

.github/plugin/marketplace.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"name": "elastic-agent-skills",
3+
"owner": {
4+
"name": "Elastic"
5+
},
6+
"metadata": {
7+
"description": "Official Elastic agent skills for Elasticsearch, Kibana, Observability, Security, and Cloud"
8+
},
9+
"plugins": [
10+
{
11+
"name": "elastic-elasticsearch",
12+
"source": "./plugins/elasticsearch",
13+
"description": "Elasticsearch skills — ES|QL queries, data ingestion, security (authn, authz, audit), and troubleshooting",
14+
"version": "0.2.4"
15+
},
16+
{
17+
"name": "elastic-kibana",
18+
"source": "./plugins/kibana",
19+
"description": "Kibana skills — dashboards, alerting rules, connectors, Vega visualizations, Agent Builder, streams, and audit logging",
20+
"version": "0.2.4"
21+
},
22+
{
23+
"name": "elastic-observability",
24+
"source": "./plugins/observability",
25+
"description": "Elastic Observability skills — OpenTelemetry instrumentation and migration (.NET, Java, Python), LLM observability, log search, SLOs, and service health",
26+
"version": "0.2.4"
27+
},
28+
{
29+
"name": "elastic-security",
30+
"source": "./plugins/security",
31+
"description": "Elastic Security skills — alert triage, case management, detection rule management, and sample data generation",
32+
"version": "0.2.4"
33+
},
34+
{
35+
"name": "elastic-cloud",
36+
"source": "./plugins/cloud",
37+
"description": "Elastic Cloud skills — project setup, access management, network security, and Serverless project lifecycle",
38+
"version": "0.2.4"
39+
}
40+
]
41+
}

.github/workflows/release-check.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,19 @@ jobs:
4040
uv run --project scripts/ci-tools ci-tools release validate \
4141
--manifest .github/.release-manifest.json \
4242
--changelog CHANGELOG.md \
43+
--plugin-json plugins/elasticsearch/plugin.json \
4344
--plugin-json plugins/elasticsearch/.claude-plugin/plugin.json \
45+
--plugin-json plugins/cloud/plugin.json \
46+
--plugin-json plugins/cloud/.claude-plugin/plugin.json \
47+
--plugin-json plugins/kibana/plugin.json \
4448
--plugin-json plugins/kibana/.claude-plugin/plugin.json \
49+
--plugin-json plugins/observability/plugin.json \
4550
--plugin-json plugins/observability/.claude-plugin/plugin.json \
51+
--plugin-json plugins/security/plugin.json \
4652
--plugin-json plugins/security/.claude-plugin/plugin.json \
47-
--plugin-json plugins/cloud/.claude-plugin/plugin.json \
4853
--plugin-json package.json \
4954
--marketplace-json .claude-plugin/marketplace.json \
55+
--marketplace-json .github/plugin/marketplace.json \
5056
--tags-file "$RUNNER_TEMP/existing-tags.txt" \
5157
--initial-version "$INITIAL_VERSION" \
5258
| tee "$GITHUB_STEP_SUMMARY"

.github/workflows/version-sync.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,19 @@ jobs:
3737
run: |
3838
output=$(uv run --project scripts/ci-tools ci-tools release sync \
3939
--manifest .github/.release-manifest.json \
40+
--plugin-json plugins/elasticsearch/plugin.json \
4041
--plugin-json plugins/elasticsearch/.claude-plugin/plugin.json \
42+
--plugin-json plugins/cloud/plugin.json \
43+
--plugin-json plugins/cloud/.claude-plugin/plugin.json \
44+
--plugin-json plugins/kibana/plugin.json \
4145
--plugin-json plugins/kibana/.claude-plugin/plugin.json \
46+
--plugin-json plugins/observability/plugin.json \
4247
--plugin-json plugins/observability/.claude-plugin/plugin.json \
48+
--plugin-json plugins/security/plugin.json \
4349
--plugin-json plugins/security/.claude-plugin/plugin.json \
44-
--plugin-json plugins/cloud/.claude-plugin/plugin.json \
4550
--plugin-json package.json \
46-
--marketplace-json .claude-plugin/marketplace.json)
51+
--marketplace-json .claude-plugin/marketplace.json \
52+
--marketplace-json .github/plugin/marketplace.json)
4753
4854
echo "$output"
4955
count=$(echo "$output" | jq '.updated | length')

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,30 @@ Or use the interactive plugin browser inside any Claude Code session:
162162

163163
This opens a menu to browse available plugins from all configured marketplaces, select what to install, and manage what is already installed.
164164

165+
### GitHub Copilot CLI
166+
167+
GitHub Copilot CLI has a native plugin system. Add this repository as a marketplace source:
168+
169+
```sh
170+
copilot plugin marketplace add elastic/agent-skills
171+
```
172+
173+
Once added, install individual plugins by name:
174+
175+
```sh
176+
copilot plugin install elastic-elasticsearch@elastic-agent-skills
177+
copilot plugin install elastic-kibana@elastic-agent-skills
178+
copilot plugin install elastic-observability@elastic-agent-skills
179+
copilot plugin install elastic-security@elastic-agent-skills
180+
copilot plugin install elastic-cloud@elastic-agent-skills
181+
```
182+
183+
Or browse available plugins interactively inside a Copilot session:
184+
185+
```
186+
/plugin list
187+
```
188+
165189
### npx (Recommended)
166190

167191
The fastest way to install skills is with the [`skills`](https://github.com/vercel-labs/skills) CLI. No need to clone this repository — just run:
@@ -273,6 +297,20 @@ To keep plugins up to date automatically, enable auto-update using `/plugins` wi
273297

274298
When auto-update is on, Claude Code checks for new plugin versions at startup and updates in the background.
275299

300+
### GitHub Copilot CLI
301+
302+
Update all installed plugins to their latest versions:
303+
304+
```sh
305+
copilot plugin update
306+
```
307+
308+
Update a specific plugin:
309+
310+
```sh
311+
copilot plugin update elastic-elasticsearch
312+
```
313+
276314
### npx
277315

278316
Check whether any installed skills have changed upstream:

plugins/cloud/plugin.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "elastic-cloud",
3+
"description": "Elastic Cloud skills - project setup, access management, network security, and Serverless project lifecycle",
4+
"version": "0.2.4",
5+
"author": {
6+
"name": "Elastic",
7+
"url": "https://www.elastic.co"
8+
},
9+
"repository": "https://github.com/elastic/agent-skills",
10+
"homepage": "https://github.com/elastic/agent-skills/tree/main/plugins/cloud",
11+
"license": "Apache-2.0",
12+
"keywords": [
13+
"cloud",
14+
"serverless",
15+
"elastic-cloud",
16+
"elastic"
17+
]
18+
}

plugins/elasticsearch/plugin.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "elastic-elasticsearch",
3+
"description": "Elasticsearch skills for GitHub Copilot — translate natural language to ES|QL, ingest data, manage security (authn, authz, audit), and troubleshoot clusters.",
4+
"version": "0.2.4",
5+
"author": {
6+
"name": "Elastic",
7+
"url": "https://www.elastic.co"
8+
},
9+
"repository": "https://github.com/elastic/agent-skills",
10+
"homepage": "https://github.com/elastic/agent-skills/tree/main/plugins/elasticsearch",
11+
"license": "Apache-2.0",
12+
"keywords": [
13+
"elasticsearch",
14+
"esql",
15+
"search",
16+
"ingest",
17+
"security",
18+
"elastic"
19+
]
20+
}

plugins/kibana/plugin.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "elastic-kibana",
3+
"description": "Kibana skills - dashboards, alerting rules, connectors, Vega visualizations, Agent Builder, streams, and audit logging",
4+
"version": "0.2.4",
5+
"author": {
6+
"name": "Elastic",
7+
"url": "https://www.elastic.co"
8+
},
9+
"repository": "https://github.com/elastic/agent-skills",
10+
"homepage": "https://github.com/elastic/agent-skills/tree/main/plugins/kibana",
11+
"license": "Apache-2.0",
12+
"keywords": [
13+
"kibana",
14+
"dashboards",
15+
"alerting",
16+
"connectors",
17+
"vega",
18+
"elastic"
19+
]
20+
}

plugins/observability/plugin.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "elastic-observability",
3+
"description": "Elastic Observability skills - OpenTelemetry instrumentation and migration (.NET, Java, Python), LLM observability, log search, SLOs, and service health",
4+
"version": "0.2.4",
5+
"author": {
6+
"name": "Elastic",
7+
"url": "https://www.elastic.co"
8+
},
9+
"repository": "https://github.com/elastic/agent-skills",
10+
"homepage": "https://github.com/elastic/agent-skills/tree/main/plugins/observability",
11+
"license": "Apache-2.0",
12+
"keywords": [
13+
"observability",
14+
"opentelemetry",
15+
"apm",
16+
"logs",
17+
"slo",
18+
"elastic"
19+
]
20+
}

plugins/security/plugin.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "elastic-security",
3+
"description": "Elastic Security skills - alert triage, case management, detection rule management, and sample data generation",
4+
"version": "0.2.4",
5+
"author": {
6+
"name": "Elastic",
7+
"url": "https://www.elastic.co"
8+
},
9+
"repository": "https://github.com/elastic/agent-skills",
10+
"homepage": "https://github.com/elastic/agent-skills/tree/main/plugins/security",
11+
"license": "Apache-2.0",
12+
"keywords": [
13+
"security",
14+
"siem",
15+
"detection",
16+
"alerts",
17+
"cases",
18+
"elastic"
19+
]
20+
}

0 commit comments

Comments
 (0)