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 directories
  • personal-setup/<username>/ - Personal Claude Code configurations (not plugins)

Plugin Naming

Plugin names MUST use kebab-case and MUST be unique across the marketplace.

TierPrefixScopeMaintained by
1. PTech-widepersonio-commonInstalled by default — baseline for everyone in PTechDeveloper Tooling
1. PTech-widepersonio-eng-*Engineer-facing defaults, split by personaFoundations
1. PTech-widepersonio-design*Design org standardsDesign Infra
1. PTech-widepersonio-pm-commonPM-facing workspace and toolsProduct Management org
1. PTech-wide (experimental)personio-*-experimentalExperimental sibling of a stable personio-* pluginSame team as the stable sibling
2. Team-specificteam-<productarea>-<teamname>Tailored for a specific teamThe owning team
3. Everything else(descriptive name)Wild west — shared but not centrally ownedAny 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.json AND 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/ or plugins/.
  • Verify the plugin-dev plugin 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

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 editing plugins/)
  • .claude/rules/personal-setup.md - Personal setup requirements (loads when editing personal-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