How to Chain Multiple PM Skills for Custom Commands

You chain multiple pm-skills together by creating a Markdown command file in a plugin's commands/ directory that references individual skills from the skills/ folder using the **Apply the <skill-name> skill** pattern, allowing Claude to execute them sequentially while passing data through conversation context.

The pm-skills marketplace by phuryn/pm-skills treats complex product management workflows as composable units. Chaining multiple pm-skills together allows you to build custom commands that automate multi-step processes—from initial discovery to go-to-market launch—using only Markdown files without modifying source code.

Understanding the PM Skills Architecture

The repository organizes functionality into two distinct layers:

  • Skills are reusable frameworks defined in pm-<plugin>/skills/<skill-name>/SKILL.md. Each skill contains the logic for a specific product management task, such as brainstorm-ideas-new or prioritize-assumptions.
  • Commands are orchestration files stored in pm-<plugin>/commands/<command-name>.md. These Markdown files chain multiple skills together into executable workflows.

When Claude processes a command, it automatically loads and executes referenced skills in sequence, passing intermediate results through the conversation context.

Creating a Custom Command That Chains Skills

To build your own chained workflow, create a new Markdown file in the appropriate plugin directory:

  1. Select a plugin folder (e.g., pm-product-discovery or pm-go-to-market).
  2. Create a Markdown file in the plugin's commands/ directory (e.g., pm-go-to-market/commands/quick-launch.md).
  3. Add YAML frontmatter at the top describing the command and optional arguments.
  4. Reference skills in the workflow section using the **Apply the <skill-name> skill** syntax.
  5. Save the file—the command becomes instantly available to Claude-Code or Claude-Cowork.

Example: The /discover Command

The /discover command in pm-product-discovery/commands/discover.md demonstrates chaining four distinct skills:

---
description: Run a full discovery cycle
---

# Discovery Command

Apply the **brainstorm-ideas-new** skill.

Then apply the **identify-assumptions-new** skill.

Apply the **prioritize-assumptions** skill.

Finally, apply the **brainstorm-experiments-new** skill.

This sequence executes skills in order: generating ideas, identifying assumptions, prioritizing them, and designing experiments. The skills are defined in pm-product-discovery/skills/brainstorm-ideas-new/SKILL.md, pm-product-discovery/skills/identify-assumptions-new/SKILL.md, pm-product-discovery/skills/prioritize-assumptions/SKILL.md, and pm-product-discovery/skills/brainstorm-experiments-new/SKILL.md.

Building a Complex Workflow: The /quick-launch Example

For a sophisticated go-to-market workflow, create pm-go-to-market/commands/quick-launch.md with the following content:

---
description: End‑to‑end launch workflow that builds an ICP, a GTM plan, and a growth loop
argument-hint: "<product name>"
---

# /quick-launch – Fast Go‑to‑Market Launch

## Workflow

### Step 1: Build the Ideal Customer Profile

Apply the **ideal-customer-profile** skill:

- Ask the user for the product name and primary market.
- Generate an ICP with demographics, behaviors, and needs.

### Step 2: Draft the GTM Strategy

Apply the **gtm-strategy** skill:

- Use the ICP from Step 1.
- Produce a channel mix, messaging pillars, and success metrics.

### Step 3: Design a Growth Loop

Apply the **growth-loops** skill:

- Based on the GTM plan, suggest a self‑reinforcing loop.
- Include high‑level tactics and effort estimates.

When a user runs /quick-launch Super‑AI Writing Assistant, Claude executes ideal-customer-profile (defined in pm-go-to-market/skills/ideal-customer-profile/SKILL.md), passes that output to gtm-strategy (from pm-go-to-market/skills/gtm-strategy/SKILL.md), then feeds both into growth-loops (from pm-go-to-market/skills/growth-loops/SKILL.md).

How Data Flows Between Chained Skills

Data hand-off occurs automatically via conversation context. Each skill's output becomes the next skill's input without explicit variable passing. When you chain pm-skills together, Claude maintains the cumulative state across the entire workflow, allowing downstream skills to reference earlier outputs naturally.

Testing Your Custom Command

To verify your chained command works:

  1. Place your Markdown file in pm-<plugin>/commands/.
  2. Load the plugin in Claude-Code or Claude-Cowork.
  3. Invoke the command: /quick-launch ProductName.
  4. Observe the sequential execution of each skill section.

Summary

  • Chain multiple pm-skills by creating Markdown files in a plugin's commands/ directory.
  • Reference skills using the **Apply the <skill-name> skill** pattern.
  • Data flows automatically between skills via conversation context.
  • No code changes are required—only Markdown files with YAML frontmatter.
  • Example implementations include /discover in pm-product-discovery/commands/discover.md and /quick-launch in pm-go-to-market/commands/quick-launch.md.

Frequently Asked Questions

Do I need to write code to chain pm-skills together?

No. The pm-skills marketplace uses pure Markdown files. You create a command by adding a new .md file with YAML frontmatter in the commands/ directory. The system parses these files to load and execute referenced skills automatically without requiring code compilation or deployment.

Where should I save custom command files?

Save custom commands in pm-<plugin>/commands/<command-name>.md within your plugin folder. For example, pm-go-to-market/commands/quick-launch.md makes the /quick-launch command available immediately upon saving the file.

How does data pass between skills in a chain?

Data passes implicitly through conversation context. Each skill appends its output to the conversation, and subsequent skills in the chain can access this cumulative context. This allows seamless hand-offs where one skill's deliverables become the next skill's inputs without explicit configuration or variable declaration.

Can I chain skills from different plugins?

Yes, though skills typically reside within their parent plugin's skills/ directory. You can reference any skill by name if Claude has loaded the plugin. For explicit loading, use the /plugin-name:skill-name syntax before running your custom command.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →