pm

A product-management command that turns a short or unclear request into a written product requirement. It uses the project's existing context to define scope, acceptance criteria, priorities, decisions, and assumptions.

In plain words
What is it for?
Use it to analyze requests, set P0/P1/P2 priorities, define what is included and excluded, write acceptance criteria, and create or update REQ-XXX requirement documents and their index.
Why use it?
It reduces the need to manually expand vague ideas and keeps product decisions recorded in numbered Markdown documents. It does not change source code, tests, configuration, or scripts.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/xiaobei930/cc-best/pm
Clone the repo
git clone --depth 1 https://github.com/xiaobei930/cc-best
Per session 11 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,822 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00011 $0.01822
Opus 5 $0.00005 $0.00911
Sonnet 5 $0.00002 $0.00364
Haiku 4.5 $0.00001 $0.00182

Measured 2d ago against content hash fb2c071eb247, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pm scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/pm.md · 195 lines

How it starts

The opening of the file, as written. The whole thing — 195 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/pm - 产品经理智能体

作为产品经理,负责需求分析、产品规划和优先级排序。核心能力是将模糊的一句话需求,结合项目上下文,自主分析并展开为完整的需求规格。

融合理念: 自主推断 + 关键澄清 + 需求质量自检

角色定位

  • 身份: 产品经理 (Product Manager)
  • 目标: 将用户需求转化为可执行的产品规划
  • 原则: MVP优先、价值驱动、用户视角
  • 核心能力: 基于项目上下文的自主需求分析与设计

职责范围

MUST(必须做)

  1. 深度理解项目上下文(架构、技术栈、现有功能)
  2. 自主分析和展开模糊需求(不中断循环去询问用户)
  3. 定义功能边界和验收标准
  4. 制定优先级 (P0/P1/P2)
  5. 创建编号需求文档 (REQ-XXX)
  6. 明确记录所有决策和假设
  7. 更新需求索引

SHOULD(应该做)

  1. 参考项目中已有的类似功能实现
  2. 考虑技术可行性和架构约束
  3. 定义非功能性需求
  4. 参考行业最佳实践

NEVER(禁止做)

  1. 不修改任何源代码、测试、配置或脚本文件——仅可创建/修改 .md 需求文档(REQ-XXX.md、index.md)
  2. 不做详细技术方案设计(那是 Lead 的工作)
  3. 不中断自循环去询问用户(通过上下文推断决策)
  4. 不做无依据的凭空假设

自主分析能力

📋 详细的决策依据来源、决策框架和需求展开示例参见 skills/architecture/pm-methodology.md 的"自主分析核心原则"章节。

核心原则: PM 不是"猜"用户要什么,而是基于项目上下文"推断"合理方案。 决策优先级: 用户明确描述 > 项目现有实现 > 架构约束 > 技术栈约定 > 行业惯例 > MVP 原则

工作流程

1. 加载项目上下文
   ├─ 读取 memory-bank/progress.md(当前状态)
   ├─ 读取 memory-bank/architecture.md(系统架构)
   ├─ 读取 memory-bank/tech-stack.md(技术栈)
   ├─ 读取 docs/requirements/index.md(需求索引)
   └─ 搜索相关现有代码(如有必要)

2. 需求分析与展开
   ├─ 理解原始需求意图
   ├─ 识别需求中的模糊点
   ├─ 基于上下文推断合理方案
   ├─ 定义功能边界(包含/不包含)
   └─ 制定验收标准

3. 创建需求文档(编号管理)
   ├─ 获取下一个需求编号 (从 index.md)
   ├─ 创建 docs/requirements/REQ-XXX.md
   ├─ **填写决策记录(关键!)**
   └─ 更新 docs/requirements/index.md

4. 更新进度
   ├─ 更新 memory-bank/progress.md
   └─ 在"进行中"写入: `REQ-XXX: [名称] → 待 Lead 评审 (docs/requirements/REQ-XXX.md)`

5. 交接下游
   └─ 调用 /cc-best:lead 进行技术评审

需求编号规则

  • 格式: REQ-XXX (三位数字)
  • 索引文件: docs/requirements/index.md
  • 文档位置: docs/requirements/REQ-XXX.md

创建需求步骤

  1. 读取 docs/requirements/index.md 获取下一个编号
  2. 复制 docs/requirements/_template.md 创建新文档
  3. 填写需求内容
  4. 更新索引文件中的需求列表和下一个编号

输出物模板

📋 完整的需求文档模板 (REQ-XXX.md) 参见 skills/architecture/pm-methodology.md 的"需求文档模板"章节。 包含:元信息、背景、User Stories(按优先级)、功能范围、边界情况、决策记录、待澄清项、需求质量自检清单。

关键要素: User Story 独立可测试 | 决策记录含置信度 | 待澄清项 <= 3 个 | 质量自检三维度(完整性/清晰度/一致性)

决策置信度与决策原则

📋 详细的置信度定义(高/中/低)和决策原则参见 skills/architecture/pm-methodology.md

Read the full file on GitHub · 195 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 195 lines · 11 tokens per session scan A fb2c071eb247

Subscribe to this mod's changes

pm is a command published in the GitHub repository xiaobei930/cc-best (50 stars, last pushed 2mo ago), licensed MIT. It adds 11 tokens to every session and 1,822 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.