How Do Skills Work in the PM Skills Marketplace? A Technical Guide to Plugin Architecture
Skills in the PM Skills Marketplace function as auto-loading atomic knowledge units organized within plugins, enabling AI assistants to dynamically inject product management frameworks into conversations without explicit API calls.
The PM Skills Marketplace, developed in the phuryn/pm-skills repository, implements a hierarchical plugin architecture that transforms how AI assistants handle specialized product management tasks. Understanding how skills work in this ecosystem requires examining the relationship between plugins, skills, and commands that power the marketplace's extensible runtime.
Core Architecture: Plugins, Skills, and Commands
The marketplace operates on a three-tier hierarchy where plugins provide organizational containers, skills deliver atomic knowledge, and commands orchestrate complex workflows.
Plugins as Organizational Units
Plugins are top-level directories that group related functionality. Each plugin ships with a set of skill markdown files and command markdown files, registered via a .claude-plugin/plugin.json manifest. This JSON manifest informs the host runtime—whether Claude Code, Claude Cowork, or compatible assistants—which capabilities become available after installation. The repository contains nine distinct plugins covering domains from product discovery to toolkit utilities.
Skills as Atomic Building Blocks
Skills represent the fundamental knowledge units of the marketplace. Every skill resides as a SKILL.md file inside a plugin's skills/ directory, such as pm-toolkit/skills/review-resume/SKILL.md. These files contain self-contained descriptions of product management frameworks, analytical methods, or guided workflows.
According to the repository's README.md (lines 39-42), when the AI detects relevance to the conversation context, the skill auto-loads, allowing the model to draw on specialized knowledge without explicit invocation by the user.
Commands as Workflow Orchestrators
Commands are higher-level, user-invoked workflows that chain one or more skills together. Unlike skills that load automatically, commands are explicitly triggered with a leading slash (e.g., /discover). The command file—such as pm-product-discovery/commands/discover.md—executes underlying skills in sequence, prompting the AI to ask follow-up questions as the workflow progresses.
Auto-Loading vs. Forced Skill Invocation
The marketplace supports two distinct loading mechanisms that determine when and how skill knowledge enters the conversation context.
Auto-loading occurs when the AI assistant detects that a skill's domain matches the conversation context. As implemented in the source code, this happens transparently without user intervention, injecting the skill's knowledge directly into the model's context window when you ask questions like "What are the riskiest assumptions for an AI-writing-assistant idea?"
Forced loading allows users to manually override the AI's knowledge selection. Prepend the skill name with a slash—using syntax like /prioritization-frameworks or /plugin-name:skill-name (e.g., /pm-toolkit:review-resume)—to force the AI to load that specific skill file even if the model would otherwise rely on generic knowledge.
Installation and Discovery Workflow
The marketplace operates through a five-stage lifecycle that begins with installation and ends with AI-generated outputs:
- Installation – Execute
claude plugin marketplace add phuryn/pm-skillsto register the marketplace and pull in all nine available plugins. - Discovery – When asking domain-specific questions, the AI automatically loads the corresponding
SKILL.mdfile based on contextual analysis. - Explicit Loading – Force specific skills using
/skill-nameor/plugin:skillsyntax for precise control over the knowledge base. - Command Execution – Invoke workflows like
/discover, which internally calls four skills in sequence:brainstorm-ideas→identify-assumptions→prioritize-assumptions→brainstorm-experiments. - Result Delivery – The AI returns outputs generated by each skill and suggests next relevant commands based on the workflow context.
Practical Usage Examples
The following patterns demonstrate how to interact with the marketplace in Claude Cowork, Claude Code, or compatible assistants.
Force a specific skill reference:
/prioritization-frameworks
Trigger automatic skill detection through natural language (as documented in README.md lines 52-56):
What are the riskiest assumptions for our AI-writing-assistant idea?
Execute a chained command workflow (as documented in README.md lines 62-66):
/discover AI-powered meeting summarizer for remote teams
Reference a skill from a specific plugin:
/pm-toolkit:review-resume
Key Implementation Files
Understanding the repository structure clarifies how the marketplace validates and serves skills to AI runtimes:
README.md– Documents the high-level architecture and skill/command interaction patterns (lines 39-42, 52-56, 62-66).pm-toolkit/skills/review-resume/SKILL.md– Exemplifies the skill definition format with structured frontmatter and content.pm-product-discovery/commands/discover.md– Demonstrates command implementation that chains multiple skills into executable workflows..claude-plugin/plugin.json– Contains per-plugin manifests that register available skills and commands with the host runtime.validate_plugins.py– Python script that validates skill frontmatter integrity, keyword consistency, and cross-references across the marketplace.
Summary
- Skills are atomic knowledge units stored as
SKILL.mdfiles within plugin directories, implementing auto-loading capabilities when conversation context matches the skill domain. - Auto-loading provides seamless knowledge injection, while forced loading via slash commands (e.g.,
/skill-name) gives users explicit control over which frameworks the AI employs. - Commands like
/discoverorchestrate multi-step workflows by chaining skills sequentially, creating guided product management processes. - The
plugin.jsonmanifest system enables runtime discovery across nine plugins, whilevalidate_plugins.pyensures structural integrity of skill definitions before they reach the runtime.
Frequently Asked Questions
What is the difference between a skill and a command in the PM Skills Marketplace?
A skill is an atomic knowledge unit contained in a SKILL.md file that provides specific frameworks or methods, while a command is a higher-level workflow defined in the commands/ directory that chains multiple skills together. Skills auto-load based on context or can be forced with /skill-name, whereas commands like /discover are always explicitly invoked and execute their skill chain sequentially.
How do I force a specific skill to load instead of relying on auto-detection?
Prepend the skill name with a forward slash to bypass the AI's automatic context detection. Use /prioritization-frameworks to load a general skill, or /pm-toolkit:review-resume to specify a skill from a particular plugin. This syntax ensures the AI uses the exact knowledge base defined in the corresponding SKILL.md file rather than generic training data.
What happens during the installation of the PM Skills Marketplace?
Running claude plugin marketplace add phuryn/pm-skills registers the marketplace with your AI assistant and pulls in nine plugins. The host runtime reads each plugin's .claude-plugin/plugin.json manifest to discover available skills and commands, making them available for auto-loading or explicit invocation without requiring additional configuration.
How does the marketplace validate that skills are properly configured?
The repository includes validate_plugins.py, which checks the integrity of skill frontmatter, validates keyword consistency, and verifies cross-references between commands and skills. This ensures that chained workflows like /discover can successfully locate and execute their dependent skills (brainstorm-ideas, identify-assumptions, etc.) without runtime errors.
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 →