# How Do Skills Work in the PM Skills Marketplace? A Technical Guide to Plugin Architecture

> Discover how skills work in the PM Skills Marketplace. Learn about the plugin architecture that allows AI assistants to dynamically inject product management frameworks.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: internals
- Published: 2026-07-04

---

**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`](https://github.com/phuryn/pm-skills/blob/main/.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`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) file inside a plugin's `skills/` directory, such as [`pm-toolkit/skills/review-resume/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/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`](https://github.com/phuryn/pm-skills/blob/main/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`](https://github.com/phuryn/pm-skills/blob/main/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:

1. **Installation** – Execute `claude plugin marketplace add phuryn/pm-skills` to register the marketplace and pull in all nine available plugins.
2. **Discovery** – When asking domain-specific questions, the AI automatically loads the corresponding [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) file based on contextual analysis.
3. **Explicit Loading** – Force specific skills using `/skill-name` or `/plugin:skill` syntax for precise control over the knowledge base.
4. **Command Execution** – Invoke workflows like `/discover`, which internally calls four skills in sequence: `brainstorm-ideas` → `identify-assumptions` → `prioritize-assumptions` → `brainstorm-experiments`.
5. **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:

```markdown
/prioritization-frameworks

```

Trigger automatic skill detection through natural language (as documented in [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) lines 52-56):

```markdown
What are the riskiest assumptions for our AI-writing-assistant idea?

```

Execute a chained command workflow (as documented in [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) lines 62-66):

```markdown
/discover AI-powered meeting summarizer for remote teams

```

Reference a skill from a specific plugin:

```markdown
/pm-toolkit:review-resume

```

## Key Implementation Files

Understanding the repository structure clarifies how the marketplace validates and serves skills to AI runtimes:

- **[`README.md`](https://github.com/phuryn/pm-skills/blob/main/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`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/skills/review-resume/SKILL.md)** – Exemplifies the skill definition format with structured frontmatter and content.
- **[`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md)** – Demonstrates command implementation that chains multiple skills into executable workflows.
- **[`.claude-plugin/plugin.json`](https://github.com/phuryn/pm-skills/blob/main/.claude-plugin/plugin.json)** – Contains per-plugin manifests that register available skills and commands with the host runtime.
- **[`validate_plugins.py`](https://github.com/phuryn/pm-skills/blob/main/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.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) files 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 `/discover` orchestrate multi-step workflows by chaining skills sequentially, creating guided product management processes.
- The [`plugin.json`](https://github.com/phuryn/pm-skills/blob/main/plugin.json) manifest system enables runtime discovery across nine plugins, while [`validate_plugins.py`](https://github.com/phuryn/pm-skills/blob/main/validate_plugins.py) ensures 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`](https://github.com/phuryn/pm-skills/blob/main/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`](https://github.com/phuryn/pm-skills/blob/main/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`](https://github.com/phuryn/pm-skills/blob/main/.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`](https://github.com/phuryn/pm-skills/blob/main/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.