Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. --- name: plugin-maker description: Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. allowed-tools: Read Write Edit Bash Glob Grep --- Plugin Maker Create d Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
plugin-maker is best for general automation workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. --- name: plugin-maker description: Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. allowed-tools: Read Write Edit Bash Glob Grep --- Plugin Maker Create d
Public facts
4
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Apr 15, 2026
Vendor
Andrewneilson
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/andrewneilson/plugin-maker.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Andrewneilson
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
text
my-plugin/ ├── .claude-plugin/ │ └── plugin.json # Required: manifest file (MUST be here) ├── README.md # Recommended: documentation ├── commands/ # Slash commands (*.md) │ ├── my-command.md │ └── help.md ├── agents/ # Subagent definitions (*.md) │ └── my-agent.md ├── skills/ # Skills (subdirs with SKILL.md) │ └── my-skill/ │ └── SKILL.md ├── hooks/ # Hook configurations │ ├── hooks.json │ └── handler.py ├── .mcp.json # MCP server configuration └── .lsp.json # LSP server configuration
json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Brief description of what this plugin does"
}json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Brief description of what this plugin does",
"author": {
"name": "Your Name",
"email": "you@example.com"
}
}bash
mkdir -p ./my-plugin/.claude-plugin mkdir -p ./my-plugin/commands
json
{
"name": "my-plugin",
"description": "What this plugin does"
}bash
claude --plugin-dir ./my-plugin
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. --- name: plugin-maker description: Create, validate, and maintain Claude Code plugins. Use when the user wants to create a plugin, add a plugin, make a plugin, build a plugin, or mentions plugin creation. Also use when adding commands, agents, skills, or hooks to existing plugins, configuring plugin.json manifests, or debugging plugin discovery. allowed-tools: Read Write Edit Bash Glob Grep --- Plugin Maker Create d
Create discoverable Claude Code plugins that bundle commands, agents, skills, hooks, and MCP configurations.
.claude-plugin/plugin.json file makes the plugin discoverableWarning: Do not place
plugin.jsondirectly in the plugin directory. It must be inside the.claude-plugin/subdirectory for the plugin to be discovered.
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Required: manifest file (MUST be here)
├── README.md # Recommended: documentation
├── commands/ # Slash commands (*.md)
│ ├── my-command.md
│ └── help.md
├── agents/ # Subagent definitions (*.md)
│ └── my-agent.md
├── skills/ # Skills (subdirs with SKILL.md)
│ └── my-skill/
│ └── SKILL.md
├── hooks/ # Hook configurations
│ ├── hooks.json
│ └── handler.py
├── .mcp.json # MCP server configuration
└── .lsp.json # LSP server configuration
Every plugin requires .claude-plugin/plugin.json:
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Brief description of what this plugin does"
}
Optional author field for attribution:
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Brief description of what this plugin does",
"author": {
"name": "Your Name",
"email": "you@example.com"
}
}
Version format: Use semantic versioning (MAJOR.MINOR.PATCH). See Manifest Reference for semantic versioning, component path customization, and metadata fields.
mkdir -p ./my-plugin/.claude-plugin
mkdir -p ./my-plugin/commands
Create .claude-plugin/plugin.json with required fields:
{
"name": "my-plugin",
"description": "What this plugin does"
}
Add the components your plugin needs (see Component Quick Reference below).
Use the --plugin-dir flag to test your plugin without installing it:
claude --plugin-dir ./my-plugin
This loads your plugin for the current session only, allowing rapid iteration.
# Check manifest exists and is valid JSON
cat ./my-plugin/.claude-plugin/plugin.json | jq .
# List all components
ls -la ./my-plugin/
Ask Claude to use your plugin's commands or agents to verify discovery works.
commands/*.md)Slash commands users invoke explicitly. Plugin commands are namespaced as /plugin-name:command-name.
---
description: What this command does
argument-hint: [optional-args]
allowed-tools: ["Read", "Write", "Bash"]
---
# Command Name
Instructions for Claude when this command is invoked.
The user's input is available as $ARGUMENTS.
**Advanced argument access:**
- `$ARGUMENTS` - Full argument string
- `$1`, `$2`, `$3` - Individual arguments (space-separated)
Fields:
| Field | Required | Description |
|-------|----------|-------------|
| description | Yes | Shown in /help and command completion |
| argument-hint | No | Hint text for arguments (e.g., [file-path]) |
| allowed-tools | No | Restrict available tools (JSON array) |
| disable-model-invocation | No | If true, only explicit /command triggers it |
| model | No | Override model: inherit, sonnet, opus, haiku |
agents/*.md)Specialized subagents for parallel or delegated work.
---
name: my-agent
description: Use this agent when analyzing code for security issues. Examples: <example>Context: User asks about security\nuser: "Check this file for vulnerabilities"\nassistant: "I'll analyze with the security agent"</example>
model: sonnet
color: yellow
tools: ["Read", "Grep", "Glob"]
---
You are an expert at [specific task].
## Your Role
Detailed instructions for the agent...
Fields:
| Field | Required | Description |
|-------|----------|-------------|
| name | Yes | Agent identifier (lowercase, hyphens) |
| description | Yes | When to use. Include Examples tags: <example>Context: ...\nuser: "..."\nassistant: "..."</example> |
| model | No | inherit, sonnet, opus, haiku |
| color | No | Visual indicator: yellow, blue, green, etc. |
| tools | No | Array of available tools |
Triggering Tip: Use <example> tags in descriptions for complex use cases. Include context, user message, and assistant response to guide invocation.
skills/skill-name/SKILL.md)Model-invoked capabilities that Claude activates based on context. Plugin skills are namespaced as /plugin-name:skill-name.
---
name: my-skill
description: What this skill does. Use when user mentions [trigger terms].
---
# Skill Name
Instructions...
hooks/hooks.json)Event-driven automation scripts. Use for validation, context injection, and workflow automation.
Hook Types:
"type": "prompt""type": "command"{
"hooks": {
"PreToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "prompt",
"prompt": "Validate file write safety. Check: path traversal, credentials. Return 'approve' or 'deny'."
}]
}],
"Stop": [{
"matcher": "*",
"hooks": [{
"type": "prompt",
"prompt": "Verify task completion: tests run, build succeeded. Return 'approve' or 'block'."
}]
}]
}
}
Available Events:
| Event | Trigger |
|-------|---------|
| PreToolUse | Before any tool executes |
| PostToolUse | After a tool executes |
| UserPromptSubmit | When user submits a prompt |
| Stop | When Claude wants to stop |
| SubagentStop | When subagent wants to stop |
| SessionStart | Session begins |
| SessionEnd | Session ends |
| PreCompact | Before context compaction |
| Notification | User notification sent |
Important: Use ${CLAUDE_PLUGIN_ROOT} for paths in hook commands.
See Hook Development Guide for comprehensive patterns.
.mcp.json)Integrate Model Context Protocol servers for additional tools:
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/mcp-server/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
Server types: stdio (local), SSE (hosted/OAuth), HTTP (REST), WebSocket (real-time). Tools appear as mcp__plugin_<plugin-name>_<server-name>__<tool-name>.
See MCP Integration Guide for server types, tool naming, and authentication patterns.
.claude/plugin-name.local.md)Store per-project configuration with YAML frontmatter:
---
enabled: true
strict_mode: false
max_retries: 3
---
# Plugin Configuration
Settings documentation here.
Usage:
.gitignoreSee Plugin Settings Guide for parsing techniques and patterns.
.lsp.json)Configure Language Server Protocol servers for enhanced editor support:
{
"lspServers": {
"my-lsp": {
"command": "my-language-server",
"args": ["--stdio"],
"filetypes": ["mylang"]
}
}
}
Fields:
| Field | Required | Description |
|-------|----------|-------------|
| command | Yes | The LSP server executable |
| args | No | Command-line arguments |
| filetypes | Yes | File extensions to activate for |
| Location | Purpose |
|----------|---------|
| --plugin-dir ./path | Development/testing (primary workflow) |
| ~/.claude/plugins/ | Personal plugins (installed) |
| .claude/plugins/ | Project plugins (committed to git) |
| Feature | Standalone Skill | Plugin |
|---------|------------------|--------|
| Simplest option | One SKILL.md file | Multiple files/directories |
| Commands | No | Yes |
| Multiple skills | No | Yes |
| Agents | No | Yes |
| Hooks | No | Yes |
| MCP servers | No | Yes |
| LSP servers | No | Yes |
| Namespacing | None | /plugin-name:* |
| Distribution | Copy file | Package directory |
Create a plugin when:
Don't create a plugin when:
| Item | Convention | Example |
|------|------------|---------|
| Plugin directory | lowercase-hyphenated | my-plugin |
| plugin.json name | matches directory | "name": "my-plugin" |
| Commands directory | plural commands/ | not command/ |
| Agents directory | plural agents/ | not agent/ |
| Skills directory | plural skills/ | not skill/ |
| Hooks directory | singular hooks/ | with hooks.json inside |
Create:
mkdir -p ./my-plugin/.claude-plugin
Test during development:
claude --plugin-dir ./my-plugin
Validate manifest:
cat ./my-plugin/.claude-plugin/plugin.json | jq .
Install plugin:
cp -r ./my-plugin ~/.claude/plugins/
List installed plugins:
ls ~/.claude/plugins/*/
ls .claude/plugins/*/
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/snapshot"
curl -s "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/contract"
curl -s "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-16T23:28:47.101Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Andrewneilson",
"href": "https://github.com/andrewneilson/plugin-maker",
"sourceUrl": "https://github.com/andrewneilson/plugin-maker",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T01:14:14.911Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T01:14:14.911Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/andrewneilson-plugin-maker/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to plugin-maker and adjacent AI workflows.