# How to Execute Commands from the phuryn/pm-skills Project

> Learn how to execute commands from the phuryn/pm-skills project. Install the marketplace and trigger multi-step workflows with simple slash commands like /review-resume.

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

---

**To execute commands from the phuryn/pm-skills project, install the marketplace via Claude Code CLI (`claude plugin marketplace add phuryn/pm-skills`) or Claude Cowork UI, then invoke any slash command (e.g., `/review-resume`) to trigger multi-step workflows defined in the repository's Markdown command files.**

The phuryn/pm-skills repository is a marketplace of nine independent plugins that package product management **skills** (knowledge modules) and **commands** (executable workflows). When you execute commands from this project, Claude-based assistants interpret static Markdown files to run multi-step processes without server-side code execution.

## Understanding the Command Architecture

Commands in phuryn/pm-skills follow a strict four-layer architecture defined in the repository's source files:

- **Marketplace manifest**: The root file [`.claude-plugin/marketplace.json`](https://github.com/phuryn/pm-skills/blob/main/.claude-plugin/marketplace.json) lists all nine plugins and their versions, serving as the entry point for installation UIs.
- **Plugin package**: Each plugin resides under `pm-{name}/` (e.g., `pm-toolkit/`) and contains a [`.claude-plugin/plugin.json`](https://github.com/phuryn/pm-skills/blob/main/.claude-plugin/plugin.json) manifest, a `skills/` directory, and a `commands/` directory.
- **Skills**: Data-driven "noun" modules stored as Markdown files (e.g., [`pm-toolkit/skills/review-resume/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/skills/review-resume/SKILL.md)) that load automatically when Claude detects matching terminology.
- **Commands**: "Verb" files stored in `commands/` directories (e.g., [`pm-toolkit/commands/review-resume.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/commands/review-resume.md)) that chain skills into concrete workflows and are invoked with a leading slash (`/`).

The [`validate_plugins.py`](https://github.com/phuryn/pm-skills/blob/main/validate_plugins.py) script checks manifest consistency, naming conventions, and version alignment across these layers.

## Installing the phuryn/pm-skills Marketplace

You must install the marketplace before you can execute any commands. Choose the method matching your interface.

### Via Claude Code CLI

Use the plugin CLI to register the marketplace and install specific plugins:

```bash

# Register the marketplace definition

claude plugin marketplace add phuryn/pm-skills

# Install individual plugins (example: pm-toolkit)

claude plugin install pm-toolkit@pm-skills

```

This copies the plugin's `commands/` and `skills/` directories into the assistant's runtime folder, making slash commands available immediately.

### Via Claude Cowork UI

For GUI-based installation:

1. Open **Customize** → **Browse plugins** → **Personal** → **+**
2. Select **Add marketplace from GitHub**
3. Enter `phuryn/pm-skills` and confirm

All nine plugins become available in the interface once the marketplace JSON is parsed.

## Executing Commands

After installation, invoke commands using the appropriate interface. The execution flow remains consistent: the assistant loads referenced skills from the `skills/` directory, then processes the step-by-step prompts defined in the command's Markdown body.

### Claude Code (Command Line)

In an active Claude Code session, type the slash command:

```bash
$ /review-resume

```

Claude will prompt for the resume file, auto-load the `review-resume` skill from [`pm-toolkit/skills/review-resume/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/skills/review-resume/SKILL.md), and return a structured review based on the workflow defined in [`pm-toolkit/commands/review-resume.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/commands/review-resume.md).

### Codex-CLI (OpenAI)

Codex reads the same [`plugin.json`](https://github.com/phuryn/pm-skills/blob/main/plugin.json) manifests, allowing natural language invocation:

```text
> Run a product discovery flow for "AI-powered meeting summarizer": brainstorm ideas → identify assumptions → prioritize → design experiments.

```

Codex internally locates the relevant skills (e.g., `brainstorm-ideas`, `identify-assumptions`) and produces output equivalent to the `/discover` command.

## Validating Plugin Integrity

Before executing newly modified commands, run the repository validator to ensure manifest consistency:

```bash
python3 validate_plugins.py

```

This script checks that:
- All plugins listed in [`.claude-plugin/marketplace.json`](https://github.com/phuryn/pm-skills/blob/main/.claude-plugin/marketplace.json) exist
- Command files reference valid skills
- Version strings align across manifests

If the script reports no errors, the marketplace is safe to use.

## Summary

- **Install first**: Use `claude plugin marketplace add phuryn/pm-skills` (CLI) or the Cowork UI to register the marketplace.
- **Invoke with slashes**: Type commands like `/review-resume` or `/write-prd` to trigger workflows.
- **Architecture**: Commands live in `commands/` directories, skills in `skills/`, and configuration in [`plugin.json`](https://github.com/phuryn/pm-skills/blob/main/plugin.json) files.
- **Static execution**: All logic resides in Markdown; no server-side code runs during command execution.
- **Validate**: Run `python3 validate_plugins.py` after any modifications to check file integrity.

## Frequently Asked Questions

### What is the difference between skills and commands in phuryn/pm-skills?

**Skills** are static knowledge modules stored in `skills/{name}/SKILL.md` that define domain expertise (like resume review criteria). **Commands** are executable workflows stored in `commands/{name}.md` that invoke one or more skills to produce artifacts. You execute commands; skills load automatically as dependencies.

### How do I install only a specific plugin instead of the entire marketplace?

After adding the marketplace with `claude plugin marketplace add phuryn/pm-skills`, install individual plugins using `claude plugin install {plugin-name}@pm-skills` (e.g., `claude plugin install pm-toolkit@pm-skills`). This copies only that plugin's `commands/` and `skills/` directories without requiring the other eight.

### Can I execute pm-skills commands without Claude Code?

Yes. The repository supports **Claude Cowork** (web UI) and **Codex-CLI** (OpenAI's tool). Claude Cowork uses the same slash commands, while Codex-CLI accepts natural language descriptions that map to the commands defined in the [`plugin.json`](https://github.com/phuryn/pm-skills/blob/main/plugin.json) manifests.

### Where are command definitions stored in the repository?

Command definitions reside in each plugin's `commands/` directory. For example, the resume review command is located at [`pm-toolkit/commands/review-resume.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/commands/review-resume.md), while its manifest entry exists in [`pm-toolkit/.claude-plugin/plugin.json`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/.claude-plugin/plugin.json). The root [`.claude-plugin/marketplace.json`](https://github.com/phuryn/pm-skills/blob/main/.claude-plugin/marketplace.json) aggregates all available commands across the nine plugins.