# The Difference Between Skills and Commands in the PM Skills Marketplace

> Understand the core difference between skills and commands in the PM Skills marketplace architecture. Skills are expertise modules, commands orchestrate workflows to solve problems.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: architecture
- Published: 2026-06-16

---

**Skills are self-contained expertise modules that provide reusable product management knowledge, while commands are slash-triggered orchestration workflows that chain multiple skills together to solve end-to-end problems.**

The `phuryn/pm-skills` repository implements a modular architecture that separates discrete domain knowledge from complex multi-step workflows. Understanding how these two components interact allows you to leverage the marketplace effectively, whether you are invoking individual capabilities or running comprehensive product management processes.

## What Are Skills?

A **skill** is a self-contained unit of domain knowledge or a reusable workflow that encodes a specific product-management framework. Skills include templates like value-proposition canvases, analysis methods such as SWOT, or guided workflows like resume reviews. According to the repository's README (lines 32-44), skills are designed to be loaded automatically when the model detects relevant context, though they can also be invoked directly by name without any prefix.

Skills are defined in individual directories containing [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) files. For example, the resume review capability resides in [`pm-toolkit/skills/review-resume/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/skills/review-resume/SKILL.md). This file contains the structured prompts and logic necessary to perform a PM resume review, making the expertise portable across different commands and contexts.

```text
review-resume

```

When you type `review-resume` without a leading slash, the model pulls the skill definition and returns feedback immediately. This implicit invocation allows skills to act as organic extensions of the model's knowledge base.

## What Are Commands?

A **command** is a user-triggered, higher-level workflow that strings together one or more skills to solve a complete problem. Commands are always explicit, requiring a leading slash (`/`), and they drive multi-step interactions that may involve state management across several skill invocations.

Command definitions are stored as markdown files in `commands/` directories within each plugin. For instance, [`pm-toolkit/commands/review-resume.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/commands/review-resume.md) implements the `/review-resume` command, which wraps the underlying skill with additional orchestration logic. More complex examples include [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md) and [`pm-go-to-market/commands/plan-launch.md`](https://github.com/phuryn/pm-skills/blob/main/pm-go-to-market/commands/plan-launch.md), which coordinate multiple skills into structured pipelines.

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

```

When executed, the `/discover` command runs a discovery workflow that internally chains four distinct skills: `brainstorm-ideas`, `identify-assumptions`, `prioritize-assumptions`, and `brainstorm-experiments` (README lines 60-62).

## Key Architectural Differences

The relationship between these components follows a clear separation of concerns:

- **Purpose**: Skills provide **discrete, reusable expertise**—single templates or analysis methods that can be shared across many workflows. Commands provide **orchestration**, composing complete processes from individual skills.

- **Invocation**: Skills are invoked **implicitly** when the model detects relevance or **explicitly by name** without prefixes (`swot-analysis`). Commands are **always explicit** via slash syntax (`/plan-launch`).

- **Scope**: A skill handles a **single, focused task**. A command manages a **composite, multi-step task** that may invoke several skills sequentially or conditionally.

- **Discovery**: In the marketplace UI, skills appear under each plugin's "Skills" section, while commands appear under "Commands."

## How Commands Chain Skills

The orchestration layer in commands demonstrates the power of this architecture. When you invoke `/plan-launch` for an AI code review tool, the command defined in [`pm-go-to-market/commands/plan-launch.md`](https://github.com/phuryn/pm-skills/blob/main/pm-go-to-market/commands/plan-launch.md) coordinates multiple strategic skills including `gtm-strategy` and `ideal-customer-profile` to generate a comprehensive launch plan (README lines 55-57).

This composition happens through the plugin manifest system. The file [`pm-toolkit/.claude-plugin/plugin.json`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/.claude-plugin/plugin.json) registers both skill and command files, making them discoverable to the orchestration engine while maintaining their distinct roles.

## Summary

- **Skills** are atomic expertise units stored in [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) files, invoked by name or context, and handle single tasks like `review-resume` or `swot-analysis`.
- **Commands** are orchestration workflows stored in `commands/*.md`, invoked with a leading `/`, and chain multiple skills to solve complex problems like `/discover` or `/plan-launch`.
- The architecture separates reusable knowledge from workflow logic, allowing skills to be shared across different commands while maintaining clear boundaries between simple invocation and complex process management.
- File locations follow strict conventions: skills reside in `skills/<name>/SKILL.md` while commands reside in `commands/<name>.md`.

## Frequently Asked Questions

### Can I invoke a skill without using a command?

Yes. Skills can be invoked directly by typing their name without a leading slash, such as `review-resume` or `swot-analysis`. The model detects these references and loads the appropriate [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) file from the corresponding plugin directory automatically.

### What's the difference between `/review-resume` and the `review-resume` skill?

The `review-resume` skill defined in [`pm-toolkit/skills/review-resume/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/skills/review-resume/SKILL.md) contains the core logic and prompts for analyzing PM resumes. The `/review-resume` command defined in [`pm-toolkit/commands/review-resume.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/commands/review-resume.md) wraps this skill in a command interface, potentially adding pre-processing, parameter validation, or post-processing steps that prepare the input before invoking the underlying skill.

### How does the `/discover` command use multiple skills?

The `/discover` command implements a pipeline that sequentially invokes four skills: `brainstorm-ideas`, `identify-assumptions`, `prioritize-assumptions`, and `brainstorm-experiments`. As documented in the README (lines 60-62), this command runs the complete "brainstorm → identify → prioritize → design experiments" discovery process by chaining these individual skills together in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md).

### Where are skills and commands registered in the repository?

Both components are registered in the plugin manifest file located at [`pm-toolkit/.claude-plugin/plugin.json`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/.claude-plugin/plugin.json). This JSON configuration maps skill directories and command files to the plugin system, enabling the marketplace to discover and load both atomic skills and composite commands while maintaining their distinct architectural roles.