A Claude Code plugin that gives Claude deep expertise in Kibana plugin development.
# Clone or copy this directory to your machine
# Then load it directly when running Claude Code:
claude --plugin-dir /path/to/kibana-plugin-helperEvery time you start Claude Code with this flag, the plugin is loaded.
Add the plugin path to your Claude Code settings file:
Linux/macOS: ~/.claude/settings.json
Windows: %APPDATA%\claude\settings.json
{
"pluginDirs": [
"/path/to/kibana-plugin-helper"
]
}Then restart Claude Code — the plugin loads automatically every session.
# Create a local marketplace directory
mkdir -p ~/claude-plugins/.claude-plugin
# Create the marketplace manifest
cat > ~/claude-plugins/.claude-plugin/marketplace.json << 'EOF'
{
"name": "local-marketplace",
"description": "My local Claude Code plugins",
"plugins": ["kibana-plugin-helper"]
}
EOF
# Copy or symlink the plugin into the marketplace
cp -r /path/to/kibana-plugin-helper ~/claude-plugins/
# Add the marketplace to Claude Code
claude /plugin marketplace add ~/claude-plugins
# Install the plugin
claude /plugin install kibana-plugin-helper# Check if plugin is loaded
claude /helpYou should see commands like /new-plugin, /route, /saved-object, etc.
cd /path/to/kibana/plugins
# Create a new plugin
claude /new-plugin
# Add a route
claude /route
# Add a saved object type
claude /saved-object
# Set up fast development (avoid Kibana restarts)
claude /fast-dev| Command | Description |
|---|---|
/new-plugin |
Scaffold a complete Kibana plugin |
/route |
Generate server routes with validation |
/saved-object |
Create saved object types with CRUD |
/embeddable |
Create dashboard embeddable widgets |
/ui-action |
Create triggers/actions for inter-plugin communication |
/expression |
Create expression functions for Canvas/Lens |
/mcp-config |
Set up Elasticsearch/Kibana MCP connections |
/fast-dev |
Set up fast development environment |
| Agent | Trigger |
|---|---|
kibana-debugger |
Errors, "debug", "not working" |
kibana-performance |
"analyze performance", "slow" |
kibana-a11y |
"accessibility", "a11y audit" |
kibana-migration |
"migrate from X to Y", "upgrade" |
kibana-fast-dev |
"speed up", "too slow to start" |
Comprehensive knowledge covering:
- Saved Objects (types, migrations, CRUD, references)
- Embeddables (classic + React patterns, factories)
- UI Actions (triggers, actions, context menus)
- Expressions (functions, renderers, Canvas/Lens)
- State Management (URL sync, global state)
- Logging & Monitoring (structured logs, telemetry)
- HTTP Resources (static assets, CSP)
- Inter-Plugin Dependencies (contracts, type sharing)
- Fast Development (mock server, testing)
Test routes without running Kibana:
cd tools/mock-server
npm install
# Point to your plugin
PLUGIN_PATH=/path/to/your-plugin npm start
# Test routes instantly
curl http://localhost:3000/api/your_plugin/itemsCustom MCP server for plugin development:
cd tools/mcp-server
npm install
# Add to your .mcp.jsonkibana-plugin-helper/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── commands/ # Slash commands
│ ├── new-plugin.md
│ ├── route.md
│ ├── saved-object.md
│ ├── embeddable.md
│ ├── ui-action.md
│ ├── expression.md
│ ├── mcp-config.md
│ └── fast-dev.md
├── agents/ # Specialized agents
│ ├── kibana-debugger.md
│ ├── kibana-performance.md
│ ├── kibana-a11y.md
│ ├── kibana-migration.md
│ └── kibana-fast-dev.md
├── skills/
│ └── kibana-plugin-dev/
│ └── SKILL.md # 3,600+ lines of Kibana knowledge
├── tools/
│ ├── mock-server/ # Route testing without Kibana
│ └── mcp-server/ # Custom MCP for plugin dev
└── README.md
- Claude Code
- Node.js 18+ (for tools)
- (Optional) Kibana source checkout
- (Optional) Elasticsearch for MCP
claude /new-plugin
# Answer: my_metrics, My Metrics, Track metrics, yes, yes, yes
claude /route
# Answer: GET /api/my_metrics/data, returns metrics from ES
claude /saved-object
# Answer: my_metrics_config, name/enabled/thresholds
claude /fast-dev
# Sets up mock server for instant iterationYou: "My route returns 404, here's the error: [paste error]"
Claude: Uses kibana-debugger agent to diagnose and fix
You: "Migrate my plugin from 8.4 to 8.15"
Claude: Uses kibana-migration agent to list breaking changes and provide fixes
- Use
--plugin-dirfor development — reload changes by restarting Claude Code - Add to settings for permanent install — always available
- Use mock server — 1 second vs 5 minute iteration cycles
- Ask Claude anything — 3,600 lines of Kibana knowledge available