create-plugin

Add a datasource plugin following the existing patterns.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "create-plugin" with this command: npx skills add ethpandaops/mcp/ethpandaops-mcp-create-plugin

Create New Plugin

Add a datasource plugin following the existing patterns.

Files to Create

plugins/{name}/ ├── config.go # Config struct + Validate() + ApplyDefaults() ├── plugin.go # Implements plugin.Plugin interface ├── examples.go # Embeds examples.yaml ├── examples.yaml # Query examples └── python/{name}.py # Sandbox module (connects via proxy)

Plus:

  • pkg/proxy/handlers/{name}.go
  • Reverse proxy handler

Templates

Copy from plugins/prometheus/ for a simple plugin, or plugins/clickhouse/ for one with schema discovery.

Registration Steps

  • builder.go - Import and add reg.Add({name}plugin.New())

  • builder.go - Add case to buildProxy() type switch

  • pkg/proxy/proxy.go - Add field to Options struct

  • pkg/proxy/proxy.go - Register handler in Start()

  • sandbox/ethpandaops/ethpandaops/init.py - Add to lazy imports

  • Copy Python module to sandbox/ethpandaops/ethpandaops/

Key Rules

  • Credentials NEVER go to sandbox - use SandboxEnv() for metadata only

  • ProxyConfig() returns credentials for the proxy handler

  • Python module reads ETHPANDAOPS_{NAME}_DATASOURCES env var (JSON, no creds)

  • Python module calls proxy at /{name}/{instance}/...

Checklist

  • Implements all plugin.Plugin methods (see pkg/plugin/plugin.go )

  • Proxy handler follows pattern in pkg/proxy/handlers/prometheus.go

  • make lint && make test pass

  • make docker-sandbox builds

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

create-runbook

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

query

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

create-plugin

No summary provided by upstream source.

Repository SourceNeeds Review