product

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/product — Interactive PRODUCT.md Generation

/product — 交互式PRODUCT.md生成

Purpose: Guide the user through creating a
PRODUCT.md
that unlocks product-aware council reviews in
/pre-mortem
and
/vibe
.
YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.
CLI dependencies: None required.
**用途:**引导用户创建一份
PRODUCT.md
文件,该文件可在
/pre-mortem
/vibe
中解锁产品相关的评审委员会审核功能。
您必须执行此工作流,不得仅进行描述。
**CLI依赖:**无需额外依赖。

Execution Steps

执行步骤

Given
/product [target-dir]
:
  • target-dir
    defaults to the current working directory.
当触发
/product [target-dir]
时:
  • target-dir
    默认值为当前工作目录。

Step 1: Pre-flight

步骤1:预检查

Check if PRODUCT.md already exists:
bash
ls PRODUCT.md 2>/dev/null
If it exists:
Use AskUserQuestion:
  • Question: "PRODUCT.md already exists. What would you like to do?"
  • Options:
    • "Overwrite — start fresh" → continue to Step 2
    • "Update — keep existing content as defaults" → read existing file, use its values as pre-populated suggestions in Step 3
    • "Cancel" → stop, report no changes
If it does not exist: continue to Step 2.
检查PRODUCT.md是否已存在:
bash
ls PRODUCT.md 2>/dev/null
若已存在:
使用AskUserQuestion工具:
  • 问题: "PRODUCT.md文件已存在,您希望如何操作?"
  • 选项:
    • "覆盖——重新开始" → 继续执行步骤2
    • "更新——保留现有内容作为默认值" → 读取现有文件,将其内容作为步骤3中的预填充建议
    • "取消" → 终止操作,报告无变更
**若不存在:**继续执行步骤2。

Step 2: Gather Context

步骤2:收集上下文信息

Read available project files to pre-populate suggestions:
  1. README.md — extract project description, purpose, target audience
  2. package.json / pyproject.toml / go.mod / Cargo.toml — extract project name
  3. Directory listing
    ls
    the project root for structural hints
Use what you find to draft initial suggestions for each section. If no files exist, proceed with blank suggestions.
读取可用的项目文件以预填充建议:
  1. README.md — 提取项目描述、用途、目标受众
  2. package.json / pyproject.toml / go.mod / Cargo.toml — 提取项目名称
  3. 目录列表 — 执行
    ls
    命令查看项目根目录,获取结构线索
利用收集到的信息为每个部分草拟初始建议。若不存在相关文件,则使用空白建议继续。

Step 3: Interview

步骤3:交互式访谈

Ask the user about each section using AskUserQuestion. For each question, offer pre-populated suggestions from Step 2 where available.
使用AskUserQuestion工具询问用户关于每个部分的信息。对于每个问题,若步骤2中有可用信息,则提供预填充建议。

3a: Mission

3a:产品使命

Ask: "What is your product's mission? (One sentence: what does it do and for whom?)"
Options based on README analysis:
  • Suggested mission derived from README (if available)
  • A shorter/punchier variant
  • "Let me type my own"
询问:"您的产品使命是什么?(一句话概括:产品功能及服务对象)"
基于README分析的选项:
  • 从README中提取的建议使命(若有)
  • 更简洁有力的变体
  • "我自行输入"

3b: Target Personas

3b:目标用户角色

Ask: "Who are your primary users? Describe 2-3 personas."
For each persona, gather:
  • Role (e.g., "Backend Developer", "DevOps Engineer")
  • Goal — what they're trying to accomplish
  • Pain point — what makes this hard today
Use AskUserQuestion for the first persona's role, then follow up conversationally for details and additional personas. Stop when the user says they're done or after 3 personas.
询问:"您的核心用户是谁?请描述2-3个用户角色。"
针对每个用户角色,收集以下信息:
  • 角色(例如:"后端开发工程师"、"DevOps工程师")
  • 目标 — 用户希望通过产品达成什么
  • 痛点 — 当前用户面临的困难
首先使用AskUserQuestion询问第一个用户角色的角色信息,随后以对话形式收集详细信息及其他用户角色。当用户表示完成或已收集3个用户角色时停止。

3c: Core Value Propositions

3c:核心价值主张

Ask: "What makes your product worth using? List 2-4 key value propositions."
Options:
  • Suggestions derived from README/project context
  • "Let me type my own"
询问:"您的产品的核心价值是什么?请列出2-4个关键价值主张。"
选项:
  • 从README或项目上下文提取的建议
  • "我自行输入"

3d: Competitive Landscape

3d:竞争格局

Ask: "What alternatives exist, and how do you differentiate?"
Gather:
  • Alternative names
  • Their strengths
  • Your differentiation
If the user says "none" or "skip", write "No direct competitors identified" in the section.
询问:"当前存在哪些替代产品,您的产品有何差异化优势?"
收集以下信息:
  • 替代产品名称
  • 替代产品的优势
  • 您的产品的差异化点
若用户回答“无”或“跳过”,则在该部分填写“未发现直接竞争对手”。

Step 4: Generate PRODUCT.md

步骤4:生成PRODUCT.md

Write
PRODUCT.md
to the target directory with this structure:
markdown
---
last_reviewed: YYYY-MM-DD
---
PRODUCT.md
写入目标目录,格式如下:
markdown
---
last_reviewed: YYYY-MM-DD
---

PRODUCT.md

PRODUCT.md

Mission

产品使命

{mission from 3a}
{来自3a的使命内容}

Target Personas

目标用户角色

Persona 1: {role}

角色1:{角色名称}

  • Goal: {goal}
  • Pain point: {pain point}
{repeat for each persona}
  • 目标: {目标内容}
  • 痛点: {痛点内容}
{为每个角色重复上述结构}

Core Value Propositions

核心价值主张

{bullet list from 3c}
{来自3c的项目符号列表}

Competitive Landscape

竞争格局

AlternativeStrengthOur Differentiation
{rows from 3d}
替代产品优势我们的差异化优势
{来自3d的行内容}

Usage

使用说明

This file enables product-aware council reviews:
  • /pre-mortem
    — Automatically includes
    product
    perspectives (user-value, adoption-barriers, competitive-position) alongside plan-review judges when this file exists.
  • /vibe
    — Automatically includes
    developer-experience
    perspectives (api-clarity, error-experience, discoverability) alongside code-review judges when this file exists.
  • /council --preset=product
    — Run product review on demand.
  • /council --preset=developer-experience
    — Run DX review on demand.
Explicit
--preset
overrides from the user skip auto-include (user intent takes precedence).

Set `last_reviewed` to today's date (YYYY-MM-DD format).
本文件可解锁产品相关的评审委员会审核功能:
  • /pre-mortem
    — 当存在此文件时,将自动在计划评审中纳入产品视角(用户价值、采用障碍、竞争定位)
  • /vibe
    — 当存在此文件时,将自动在代码评审中纳入开发者体验视角(API清晰度、错误处理体验、可发现性)
  • /council --preset=product
    — 按需运行产品评审
  • /council --preset=developer-experience
    — 按需运行开发者体验评审
用户明确指定的
--preset
参数将覆盖自动纳入逻辑(用户意图优先)。

将`last_reviewed`设置为当前日期(格式为YYYY-MM-DD)。

Step 5: Report

步骤5:结果报告

Tell the user:
  1. What was created:
    PRODUCT.md
    at
    {path}
  2. What it unlocks:
    • /pre-mortem
      will now auto-include product perspectives (user-value, adoption-barriers, competitive-position)
    • /vibe
      will now auto-include developer-experience perspectives (api-clarity, error-experience, discoverability)
    • /council --preset=product
      and
      /council --preset=developer-experience
      are available on demand
  3. Next steps: Suggest running
    /pre-mortem
    on their next plan to see product perspectives in action
告知用户以下信息:
  1. 已创建内容: 位于
    {路径}
    PRODUCT.md
    文件
  2. 解锁的功能:
    • /pre-mortem
      现在将自动纳入产品视角(用户价值、采用障碍、竞争定位)
    • /vibe
      现在将自动纳入开发者体验视角(API清晰度、错误处理体验、可发现性)
    • 可按需使用
      /council --preset=product
      /council --preset=developer-experience
      命令
  3. 后续建议: 建议用户在下次计划中运行
    /pre-mortem
    ,体验产品视角的评审

Examples

示例

Creating Product Doc for New Project

为新项目创建产品文档

User says:
/product
What happens:
  1. Agent checks for existing PRODUCT.md, finds none
  2. Agent reads README.md and package.json to extract project context
  3. Agent asks user about mission, suggesting "CLI tool for automated dependency updates"
  4. Agent interviews for 2 personas: DevOps Engineer and Backend Developer
  5. Agent asks about value props, user provides: "Zero-config automation, Safe updates, Time savings"
  6. Agent asks about competitors, user mentions Renovate and Dependabot
  7. Agent writes PRODUCT.md with all gathered information and today's review date
Result: PRODUCT.md created, unlocking product-aware council perspectives in future validations.
用户输入:
/product
执行流程:
  1. 工具检查PRODUCT.md,发现不存在
  2. 工具读取README.md和package.json以提取项目上下文
  3. 工具询问用户产品使命,建议为"用于自动化依赖更新的CLI工具"
  4. 工具访谈收集2个用户角色:DevOps工程师和后端开发工程师
  5. 工具询问价值主张,用户提供:"零配置自动化、安全更新、节省时间"
  6. 工具询问竞争对手,用户提到Renovate和Dependabot
  7. 工具将所有收集到的信息写入PRODUCT.md,并设置当前日期为评审日期
结果: PRODUCT.md已创建,在后续验证中可解锁产品相关的评审委员会视角。

Updating Existing Product Doc

更新现有产品文档

User says:
/product
What happens:
  1. Agent finds existing PRODUCT.md from 3 months ago
  2. Agent prompts: "PRODUCT.md exists. What would you like to do?"
  3. User selects "Update — keep existing content as defaults"
  4. Agent reads current file, extracts mission and personas as suggestions
  5. Agent asks about mission, user keeps existing one
  6. Agent asks about personas, user adds new "Security Engineer" persona
  7. Agent updates PRODUCT.md with new persona, updates
    last_reviewed
    date
Result: PRODUCT.md refreshed with additional persona, ready for next validation cycle.
用户输入:
/product
执行流程:
  1. 工具发现3个月前创建的PRODUCT.md
  2. 工具提示:"PRODUCT.md已存在,您希望如何操作?"
  3. 用户选择"更新——保留现有内容作为默认值"
  4. 工具读取当前文件,提取使命和用户角色作为建议
  5. 工具询问产品使命,用户选择保留现有内容
  6. 工具询问用户角色,用户新增"安全工程师"角色
  7. 工具更新PRODUCT.md,添加新角色,并更新
    last_reviewed
    日期
结果: PRODUCT.md已更新,新增用户角色,准备好进入下一个验证周期。

Troubleshooting

故障排除

ProblemCauseSolution
No context to pre-populate suggestionsMissing README or project metadata filesContinue with blank suggestions. Ask user to describe project in own words. Extract mission from conversation.
User unclear on personas vs usersConfusion about persona definitionExplain: "Personas are specific user archetypes with goals and pain points. Think of one real person who would use this." Provide example.
Competitive landscape feels forcedGenuinely novel product or niche toolAccept "No direct competitors" as valid. Focus on alternative approaches (manual processes, scripts) rather than products.
PRODUCT.md feels genericInsufficient user input or rushed interviewAsk follow-up questions. Request specific examples. Challenge vague statements like "makes things easier" — easier how? Measured how?
问题原因解决方案
无上下文信息用于预填充建议缺少README或项目元数据文件使用空白建议继续。请用户用自己的话描述项目,从对话中提取产品使命。
用户混淆用户角色与普通用户对用户角色的定义不清晰解释:"用户角色是具有特定目标和痛点的典型用户原型。想象一个会使用该产品的真实用户。"并提供示例。
竞争格局部分显得牵强产品确实新颖或属于小众工具接受"无直接竞争对手"的回答为有效内容。聚焦于替代方法(手动流程、脚本)而非同类产品。
PRODUCT.md内容过于通用用户输入不足或访谈过程仓促提出跟进问题,要求提供具体示例。挑战模糊表述,例如"让事情更简单"——具体如何简化?如何衡量?