Architecture of the PM-Skills Plugin Marketplace: A Technical Deep Dive
The PM-Skills repository implements a hierarchical plugin marketplace where a central manifest in .claude-plugin/marketplace.json aggregates nine domain-specific plugins, each bundling atomic skills and slash-commands into version-synchronized installable units.
The phuryn/pm-skills repository defines a modular architecture for the plugin marketplace that packages product-management expertise into reusable, version-controlled components. This design allows Claude Code and compatible agents to install entire domain libraries through a single marketplace declaration while maintaining granular control over individual capabilities.
Marketplace Manifest and Metadata Aggregation
The root of the repository contains .claude-plugin/marketplace.json, which serves as the single source of truth for the entire marketplace. This manifest lists all nine independent plugins, declares the collective version (currently 2.0.0), and aggregates high-level statistics such as the total count of 68 skills and 42 commands available across the ecosystem.
According to the developer documentation in CLAUDE.md, this file must be updated whenever individual plugin metadata changes to ensure that aggregated counts and version strings remain consistent. The manifest enables Claude Code to present the marketplace as a unified installable unit while tracking the discrete components contained within each plugin directory.
Plugin Structure and Domain Organization
Each plugin represents a vertical slice of product-management knowledge, organized into dedicated directories such as pm-toolkit/, pm-product-strategy/, and pm-ai-shipping/. Every plugin directory contains its own plugin.json file that declares the plugin’s metadata, dependencies, and entry points.
These nine plugins cover distinct domains including discovery, strategy, execution, data-analytics, and AI-shipping. Installing the marketplace grants immediate access to all nine plugins, though users can selectively enable or disable individual plugins after installation. The README.md in each plugin folder (e.g., pm-ai-shipping/README.md) provides domain-specific documentation and usage examples for that plugin’s capabilities.
Skills and Commands Hierarchy
Within each plugin, the architecture separates skills from commands. A skill is an atomic piece of domain knowledge—such as a framework, checklist, or guided workflow—that functions as a reusable building block. Skills are defined in plugin metadata and can be shared across multiple commands within the same plugin.
A command acts as an entry-point that triggers one or more skills. Users invoke commands via slash syntax scoped to the plugin namespace:
/pm-ai-shipping:ship-check
This invocation executes the ship-check command defined in the pm-ai-shipping plugin, which auto-loads the relevant skills when the topic matches. This hierarchical relationship allows complex workflows to be constructed from simple, composable skill units while exposing a clean, discoverable interface to end users.
Installation and Version Synchronization
Adding the marketplace to Claude Code or Codex requires a single CLI declaration:
claude plugin marketplace add phuryn/pm-skills
For OpenAI Codex, the equivalent command is:
codex plugin marketplace add phuryn/pm-skills
Version synchronization is strictly enforced across the repository. As documented in CLAUDE.md, all nine plugins share the same version string defined in .claude-plugin/marketplace.json. When a contributor updates any individual plugin.json, they must simultaneously bump the version in the marketplace manifest to maintain consistency. This constraint ensures that users receive a coherent, tested snapshot of the entire ecosystem rather than a mismatched collection of components.
Summary
- The marketplace uses a central manifest at
.claude-plugin/marketplace.jsonto aggregate nine independent plugins into a single installable unit. - Each plugin bundles domain-specific skills (atomic knowledge blocks) and commands (executable entry-points) into version-controlled packages.
- Commands are invoked via slash syntax (e.g.,
/pm-ai-shipping:ship-check) that triggers auto-loading of relevant skills. - All plugins share a synchronized version defined in the root manifest, requiring coordinated updates across
CLAUDE.mdand individualplugin.jsonfiles.
Frequently Asked Questions
How do I install the entire PM-Skills marketplace?
Run claude plugin marketplace add phuryn/pm-skills in Claude Code, or codex plugin marketplace add phuryn/pm-skills in OpenAI Codex. This registers the marketplace manifest and makes all nine plugins immediately available to your agent.
What is the difference between a skill and a command?
A skill is an atomic unit of domain knowledge (such as a framework or checklist) defined in plugin metadata, while a command is an executable entry-point invoked via slash syntax (e.g., /pm-ai-shipping:ship-check) that triggers one or more skills to run.
How does version management work across multiple plugins?
All nine plugins share the same version string declared in .claude-plugin/marketplace.json. As specified in CLAUDE.md, updating any individual plugin.json requires a corresponding version bump in the marketplace manifest to ensure consistency across the entire repository.
Where is the marketplace manifest located?
The root manifest resides at .claude-plugin/marketplace.json in the repository root. This file contains the aggregate metadata for all plugins, including the total count of skills and commands, and serves as the primary index for Claude Code and Codex installations.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →