# How to Chain Multiple Skills into Custom Workflows in PM-Skills

> Learn to chain multiple skills into custom workflows in phuryn/pm-skills. Create markdown command files to execute skills sequentially with checkpoints for powerful automation.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-07-05

---

**To chain multiple skills into custom workflows in the phuryn/pm-skills repository, create a markdown command file inside the `commands/` directory that references skills in bold and executes them sequentially with optional checkpoints.**

The **phuryn/pm-skills** repository provides a structured framework for product management automation where individual capabilities are encapsulated as reusable units. Chaining these units into custom workflows allows you to build end-to-end processes that guide users through complex product management methodologies. This architecture enables you to combine skills from different plugins—such as discovery and execution—into unified slash commands.

## Understanding the Three-Layer Architecture

The repository organizes functionality into three distinct layers that enable workflow composition.

**Skills** are individual, self-contained knowledge units that encode specific PM frameworks or analysis routines. Examples include `brainstorm-ideas-new` and `prioritize-assumptions`. These function as pure, reusable components that can be invoked from any command.

**Commands** are markdown files that orchestrate a sequence of skills to deliver end-to-end processes. When a command runs, Claude automatically loads the referenced skills and executes them step-by-step. The command file orders skill executions, adds checkpoints, and manages artefacts.

**Plugins** are collections of related skills and commands distributed together. For example, `pm-product-discovery` contains discovery-related skills, while `pm-execution` contains delivery-focused skills. Installing a plugin makes all its skills and commands visible to Claude, enabling cross-plugin chaining.

## Creating a Custom Workflow Command

Building a custom workflow requires creating a new command markdown file that lists desired skills in execution order. The file must reside in the appropriate plugin's `commands/` folder.

### Step 1: Identify Required Skills

Review the skill catalog in the repository's [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) to select the specific skills your workflow requires. Note the exact skill names, as you will reference them in bold within the command file.

### Step 2: Create the Command Markdown File

Create a new `.md` file in the `commands/` directory of your target plugin. The file requires YAML frontmatter followed by markdown content:

```markdown
---
description: <human-readable description>
argument-hint: "<optional argument>"
---

# /my-workflow – My Custom Workflow

```

### Step 3: Define the Workflow Steps

Below the header, structure your workflow using these patterns:

- **Step heading** – An optional descriptive title for the phase
- **Apply a skill** – Write the skill name in bold (e.g., **brainstorm-ideas-new**) and include any arguments
- **Checkpoint** – A short prompt that lets the user choose or confirm before moving forward

Reference the official `discover` command at [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md) for the canonical implementation pattern.

### Step 4: Add Checkpoints for User Control

Insert checkpoints between steps to allow user intervention, confirmation, or skipping. This creates an interactive workflow rather than a fully automated one.

## Real-World Example: Discovery to PRD Pipeline

The following command chains five skills across discovery and execution phases to move from initial idea to product requirements document:

```markdown
---
description: Run a fast product-discovery + PRD creation flow
argument-hint: "<product idea>"
---

# /quick-launch – Fast Discovery → PRD

## Step 1 – Brainstorm ideas (new product)

Apply **brainstorm-ideas-new** on the argument.

## Step 2 – Identify assumptions (new product)

Apply **identify-assumptions-new** to the ideas generated in Step 1.

## Step 3 – Prioritize assumptions

Apply **prioritize-assumptions**; ask the user which top-risk assumptions to test.

## Step 4 – Design experiments

Apply **brainstorm-experiments-new** for the selected assumptions.

## Step 5 – Generate PRD

Apply **create-prd** using the highest-priority idea as the feature focus.

## Step 6 – Review & save

Offer to save the discovery plan and PRD as markdown files in the user's workspace.

```

After installing the plugin containing this command, invoke it via:

```bash
/quick-launch AI-powered meeting summarizer for remote teams

```

Claude executes the five skills in order, prompting at each checkpoint and delivering the combined discovery plan and PRD.

## Key Files for Workflow Development

When building custom workflows, reference these authoritative source files:

- **[`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md)** – Provides the high-level overview of the skills, commands, and plugin architecture
- **[`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md)** – Demonstrates a real-world command that chains several discovery skills
- **[`pm-execution/commands/write-prd.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/commands/write-prd.md)** – Shows skill chaining across plugins (discovery to execution)
- **[`pm-product-discovery/skills/brainstorm-ideas-new/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/brainstorm-ideas-new/SKILL.md)** – Illustrates the individual skill format
- **[`CLAUDE.md`](https://github.com/phuryn/pm-skills/blob/main/CLAUDE.md)** – Contains the canonical agent guidance explaining how Claude automatically loads skills

## Summary

- **Commands** are markdown files that chain multiple skills by referencing them in bold within the workflow steps
- **Skills** are reusable, self-contained units that execute specific PM frameworks when invoked by a command
- **Plugins** distribute related skills and commands; installing a plugin enables cross-plugin skill chaining
- Create custom workflows by adding new `.md` files to the `commands/` directory with YAML frontmatter and structured step definitions
- Use checkpoints to allow user intervention between automated skill executions
- Reference existing commands like `discover` and `write-prd` as templates for your own workflows

## Frequently Asked Questions

### How do I invoke a custom workflow after creating the command file?

Once you create the markdown file in the `commands/` directory and reinstall or refresh the plugin, the workflow becomes available as a slash command. Type the command name defined in the file header (e.g., `/my-workflow`) followed by any required arguments. Claude will automatically load and execute the referenced skills in the order specified.

### Can I chain skills from different plugins in a single workflow?

Yes. Because plugins are installed at the system level and their skills become visible to Claude, you can reference skills from any installed plugin within your command file. For example, a command in `pm-product-discovery` can invoke `create-prd` from `pm-execution`, enabling seamless handoffs between discovery and delivery phases.

### What is the difference between a skill and a command?

A **skill** is a granular, single-purpose unit that performs one specific analysis or framework application, such as `brainstorm-ideas-new`. A **command** is a workflow orchestrator—a markdown file that defines a sequence of skill executions, checkpoints, and artefact management. Commands reference skills; skills contain the actual implementation logic.

### Do I need to reinstall the plugin every time I edit a command file?

If you modify an existing command file, the changes typically take effect immediately during the current session. However, if you create a new command file or modify the plugin structure significantly, you should reinstall or refresh the plugin to ensure Claude recognizes the new slash command and registers it in the available commands list.