# Pm

> Product management workflows: explore product areas, plan quarterly roadmaps, write PRDs, approve initiatives in Linear, review roadmap quality, or update plans. Triggers on: "pm plan", "pm prd", "pm explore", "pm approve", "pm review", "pm update", "pm allow", "pm help", "product roadmap", "quarterly plan", "write a PRD", "product requirements", "product planning", "explore product area".

- Skill: `cloudvoyant/pm` (Agent Skill, multi-file: 24 files)
- Install (CLI): `npx skillmds@latest add cloudvoyant/pm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cloudvoyant/pm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- License: MIT
- Author: cloudvoyant (https://skillmd.com/u/cloudvoyant)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cloudvoyant/pm

---


# pm

Product management skill dispatcher.

## Inline Usage

Pass your intent directly on the invocation line — `explore` and `plan` proceed immediately with no opening question when a description is provided.

```
/pm explore pricing strategy for enterprise tier
/pm explore competitor analysis for Q3 roadmap
/pm plan ship retention features this quarter
```

## Critical Rules

- **Never execute workflow logic here** — this file only parses args and dispatches
- **Step 0 always runs first** — no exceptions
- **Unknown verb → run `help.md`** — never error silently
- **Pass all remaining args through** — workflow receives `$REMAINING_ARGS` unchanged
- **Markdown output: soft-wrap prose, never hard-wrap** — when any pm workflow or agent writes a `.md` artifact (PRDs, roadmaps, research findings, plans), write each paragraph as one continuous line; do not insert manual newlines to wrap prose at a fixed column width. Newlines still separate paragraphs, list items, headings, and code fences.
- **Model tiers, never model IDs** — the `pm` agents declare `**Model tier:** light|standard|heavy` and workflows use `model-tier:` tokens; the platform maps tiers to concrete models (see `references/model-tiers.md`). Never hardcode a provider model ID (such as `claude-*`) in this skill.

## Docs directory resolution

`approve` promotes roadmaps into the docs tree. The docs directory is `docs/` by default; override it per project with a `"docs_dir"` field in `.codevoyant/metadata.json`. Resolve and export `DOCS_DIR` once:

```bash
resolve_docs_dir() {
  local root cfg d
  root="$(git rev-parse --show-toplevel 2>/dev/null)" || root="$PWD"
  cfg="$root/.codevoyant/metadata.json"
  d=""
  if [ -f "$cfg" ]; then
    d="$(python3 - "$cfg" <<'PY' 2>/dev/null
import json, sys
try:
    print(json.load(open(sys.argv[1])).get("docs_dir", ""))
except Exception:
    pass
PY
)"
  fi
  DOCS_DIR="${d:-docs}"
}
resolve_docs_dir
export DOCS_DIR
```

## Step 0: Parse Arguments

The raw invocation args (filled by Claude Code / OpenCode slash commands): `$ARGUMENTS`. If this line is not filled in, read the verb and remaining args from the user's current message.

```bash
VERB="[first non-flag argument, or empty]"
REMAINING_ARGS="[everything after VERB, preserving order and flags]"

case "$VERB" in
  "")         VERB="help" ;;
  "roadmap")  VERB="plan" ;;
esac
```

## Step 1: Dispatch to Workflow

Read and execute `references/workflows/{VERB}.md`, passing `$REMAINING_ARGS` as the argument string.

If `references/workflows/{VERB}.md` does not exist, fall back to `references/workflows/help.md` and note the unknown verb.

## Workflow Index

- **allow** (`references/workflows/allow.md`) — pre-approve permissions for background agents
- **approve** (`references/workflows/approve.md`) — promote roadmap to docs/ and push initiatives to Linear
- **explore** (`references/workflows/explore.md`) — research a product area before planning
- **help** (`references/workflows/help.md`) — print command reference
- **plan** (`references/workflows/plan.md`) — create a quarterly/annual product roadmap
- **prd** (`references/workflows/prd.md`) — write a Product Requirements Document
- **review** (`references/workflows/review.md`) — review roadmap for quality and coverage
- **update** (`references/workflows/update.md`) — apply feedback to an existing plan or roadmap

## Agent Index

- **linear-initiative-sync** (`agents/linear-initiative-sync.md`) — syncs initiatives to Linear; used by approve
- **competitive-researcher** (`agents/competitive-researcher.md`) — researches competitive landscape; used by explore
- **ideation-researcher** (`agents/ideation-researcher.md`) — generates product ideas; used by explore
- **internal-researcher** (`agents/internal-researcher.md`) — reviews internal context; used by explore
- **market-researcher** (`agents/market-researcher.md`) — researches market trends; used by explore
- **user-problems-researcher** (`agents/user-problems-researcher.md`) — researches user pain points; used by explore
- **pm-planner** (`agents/pm-planner.md`) — generates roadmap structure; used by plan

