This is the Personio Claude Code Marketplace - a centralized catalog of Claude Code plugins for Personio engineering teams.
Owner: DX Team (@personio-internal/dx) and Platform Delivery (@personio-internal/pd)
Architecture
This marketplace uses isolated plugin directories. Each plugin lives in its own directory under plugins/ with its own plugin.json and capability files. This ensures installing a plugin only loads that plugin's contents.
Key files:
.claude-plugin/marketplace.json- Plugin registry (source of truth for available plugins)plugins/<name>/- Individual plugin directoriespersonal-setup/<username>/- Personal Claude Code configurations (not plugins)
Plugin Naming
Plugin names MUST use kebab-case and MUST be unique across the marketplace.
| Tier | Prefix | Scope | Maintained by |
|---|---|---|---|
| 1. PTech-wide | personio-common | Installed by default — baseline for everyone in PTech | Developer Tooling |
| 1. PTech-wide | personio-eng-* | Engineer-facing defaults, split by persona | Foundations |
| 1. PTech-wide | personio-design* | Design org standards | Design Infra |
| 1. PTech-wide | personio-pm-common | PM-facing workspace and tools | Product Management org |
| 1. PTech-wide (experimental) | personio-*-experimental | Experimental sibling of a stable personio-* plugin | Same team as the stable sibling |
| 2. Team-specific | team-<productarea>-<teamname> | Tailored for a specific team | The owning team |
| 3. Everything else | (descriptive name) | Wild west — shared but not centrally owned | Any contributor |
personio-* plugins: author.name must reference the maintaining org (Developer Tooling, Design Infra, etc.). Using personio-* without a clear cross-cutting owner is not allowed.
team-* plugins: use wildcard CODEOWNERS entries (e.g., /plugins/team-dx-*/) rather than per-plugin entries.
Essential Rules
- Every plugin change requires a version bump. Use semantic versioning. Bump the version in BOTH places — the plugin's
plugins/<name>/.claude-plugin/plugin.jsonAND its entry in.claude-plugin/marketplace.json— and keep them identical. A mismatch between the two fails validation. - After making changes to plugins or the marketplace manifest, run
claude plugin validate .. CI runs this automatically on PRs touching.claude-plugin/orplugins/. - Verify the
plugin-devplugin is active (plugin-dev:*skills available). If not, enable it from: https://github.com/anthropics/claude-plugins-official/tree/main/plugins/plugin-dev - Before adding a new plugin, check
.claude/docs/removed-plugins.md. If the proposed name appears there, the plugin was retired deliberately — confirm with the user that re-adding it is intentional before proceeding.
Reference Documentation
- Plugin Reference: https://code.claude.com/docs/en/plugins-reference.md
- Plugin Marketplaces: https://code.claude.com/docs/en/plugin-marketplaces.md
Detailed Docs
Path-scoped rules in .claude/rules/ auto-load when working in relevant directories:
.claude/rules/plugins.md- Validation checklist and security review (loads when editingplugins/).claude/rules/personal-setup.md- Personal setup requirements (loads when editingpersonal-setup/)
Reference docs (read on demand):
.claude/docs/quality-standards.md- Quality standards for agents, skills, MCP servers, and READMEs
Skills for plugin development:
.claude/skills/write-marketplace-script/- Scaffold a new plugin and validate an existing one