
Plugin Structure
Scaffold and organize an enterprise-grade Claude plugin with commands, agents, skills, hooks, and MCP layout.
Install
npx skills add https://github.com/anthropics/claude-plugins-official --skill plugin-structureWhat is this skill?
- Documents enterprise-style directory layout: .claude-plugin, commands, agents, skills, hooks
- Shows nested command groups (ci, monitoring, admin) and specialized agent roles
- Includes skills with references, examples, and scripts per domain (kubernetes-ops, terraform-iac, ci-cd-pipelines)
- Hooks folder with security and quality script patterns (scan-secrets, validate-permissions, audit-changes)
- Advanced Plugin Example framing for complex MCP-integrated plugins
Adoption & trust: 3.1k installs on skills.sh; 29.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Microsoft Foundrymicrosoft/azure-skills
Azure Aimicrosoft/azure-skills
Azure Hosted Copilot Sdkmicrosoft/azure-skills
Lark Eventlarksuite/cli
Running Claude Code Via Litellm Copilotxixu-me/skills
Setup Matt Pocock Skillsmattpocock/skills
Journey fit
Primary fit
Build / agent-tooling is the canonical shelf because the skill documents how to structure installable Claude plugin packages before you ship them to users. Agent-tooling subphase captures plugin.json, skills folders, and MCP-adjacent layout—not application product code.
Common Questions / FAQ
Is Plugin Structure safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Plugin Structure
# Advanced Plugin Example A complex, enterprise-grade plugin with MCP integration and advanced organization. ## Directory Structure ``` enterprise-devops/ ├── .claude-plugin/ │ └── plugin.json ├── commands/ │ ├── ci/ │ │ ├── build.md │ │ ├── test.md │ │ └── deploy.md │ ├── monitoring/ │ │ ├── status.md │ │ └── logs.md │ └── admin/ │ ├── configure.md │ └── manage.md ├── agents/ │ ├── orchestration/ │ │ ├── deployment-orchestrator.md │ │ └── rollback-manager.md │ └── specialized/ │ ├── kubernetes-expert.md │ ├── terraform-expert.md │ └── security-auditor.md ├── skills/ │ ├── kubernetes-ops/ │ │ ├── SKILL.md │ │ ├── references/ │ │ │ ├── deployment-patterns.md │ │ │ ├── troubleshooting.md │ │ │ └── security.md │ │ ├── examples/ │ │ │ ├── basic-deployment.yaml │ │ │ ├── stateful-set.yaml │ │ │ └── ingress-config.yaml │ │ └── scripts/ │ │ ├── validate-manifest.sh │ │ └── health-check.sh │ ├── terraform-iac/ │ │ ├── SKILL.md │ │ ├── references/ │ │ │ └── best-practices.md │ │ └── examples/ │ │ └── module-template/ │ └── ci-cd-pipelines/ │ ├── SKILL.md │ └── references/ │ └── pipeline-patterns.md ├── hooks/ │ ├── hooks.json │ └── scripts/ │ ├── security/ │ │ ├── scan-secrets.sh │ │ ├── validate-permissions.sh │ │ └── audit-changes.sh │ ├── quality/ │ │ ├── check-config.sh │ │ └── verify-tests.sh │ └── workflow/ │ ├── notify-team.sh │ └── update-status.sh ├── .mcp.json ├── servers/ │ ├── kubernetes-mcp/ │ │ ├── index.js │ │ ├── package.json │ │ └── lib/ │ ├── terraform-mcp/ │ │ ├── main.py │ │ └── requirements.txt │ └── github-actions-mcp/ │ ├── server.js │ └── package.json ├── lib/ │ ├── core/ │ │ ├── logger.js │ │ ├── config.js │ │ └── auth.js │ ├── integrations/ │ │ ├── slack.js │ │ ├── pagerduty.js │ │ └── datadog.js │ └── utils/ │ ├── retry.js │ └── validation.js └── config/ ├── environments/ │ ├── production.json │ ├── staging.json │ └── development.json └── templates/ ├── deployment.yaml └── service.yaml ``` ## File Contents ### .claude-plugin/plugin.json ```json { "name": "enterprise-devops", "version": "2.3.1", "description": "Comprehensive DevOps automation for enterprise CI/CD pipelines, infrastructure management, and monitoring", "author": { "name": "DevOps Platform Team", "email": "devops-platform@company.com", "url": "https://company.com/teams/devops" }, "homepage": "https://docs.company.com/plugins/devops", "repository": { "type": "git", "url": "https://github.com/company/devops-plugin.git" }, "license": "Apache-2.0", "keywords": [ "devops", "ci-cd", "kubernetes", "terraform", "automation", "infrastructure", "deployment", "monitoring" ], "commands": [ "./commands/ci", "./commands/monitoring", "./commands/admin" ], "agents": [ "./agents/orchestration", "./agents/specialized" ], "hooks": "./hooks/hooks.json", "mcpServers": "./.mcp.json" } ``` ### .mcp.json ```json { "mcpServers": { "kubernetes": { "command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/servers/kubernetes-mcp/index.js"], "env": { "KUBECONFIG": "${KUBECONFIG}", "K8S_NAMESPACE": "${K8S_NAMESPACE:-default}" } }, "terraform": { "command": "python", "args": ["${CLAUDE_PLUGIN_ROOT}/servers/terraform-mcp/main.py"], "env": { "TF_STATE_BUCKET": "${TF_STATE_BUCKET}", "AWS_REGION": "${AWS_REGION}" } }, "github-actions": { "command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/servers/github-actions-mcp/server.js"], "env": { "GITHUB_TOKEN": "${GITHUB_