secondme-prd

📁 mindverse/second-me-skills 📅 4 days ago
57
总安装量
57
周安装量
#3818
全站排名
安装命令
npx skills add https://github.com/mindverse/second-me-skills --skill secondme-prd

Agent 安装分布

claude-code 54
opencode 47
replit 37
cursor 32
codex 30
gemini-cli 26

Skill 文档

SecondMe 产品需求定义

通过对话式交互帮助开发者明确产品需求,根据已选功能模块针对性提问。

工具使用: 收集用户输入时使用 AskUserQuestion 工具,支持单选和多选问题。


前置条件检查

在开始之前,检查项目状态:

  1. 检查 .secondme/state.json 是否存在

    • 不存在 → 提示:请先运行 /secondme-init 初始化项目配置
    • 存在 → ç»§ç»­
  2. 检查 stage 字段

    • stage == "init" → 正常继续 PRD 对话
    • stage == "prd" 或 "ready" → 询问:已有 PRD 定义,是否要重新定义需求?
      • 用户确认 → ç»§ç»­
      • 用户取消 → 退出

对话流程

第一轮:展示 API 能力

读取 state.json 中的 modules 字段,根据已选模块展示相关 API 能力:

auth 模块(必有):

  • 用户登录和授权
  • Access Token 和 Refresh Token 管理
  • 用户身份验证

profile 模块(如已选):

  • 获取用户基础信息(昵称、头像)
  • 获取用户兴趣标签(Shades)
  • 获取用户软记忆/知识库

chat 模块(如已选):

  • 与 SecondMe AI 进行流式对话
  • 获取历史会话列表
  • 获取会话消息记录

act 模块(如已选):

  • 结构化动作判断:让 AI 输出合法 JSON 对象,用于意图分类、情感分析、条件判断等决策场景
  • 通过 actionControl 定义输出的 JSON 结构和判断规则

note 模块(如已选):

  • 添加笔记/记忆到用户的 SecondMe

然后询问:

基于以上能力,你想要构建什么类型的应用?


第二轮:收集核心需求

提问:

  1. 应用目标:你的应用主要解决什么问题?
  2. 目标用户:这个应用是给谁用的?

收集用户回答,形成需求概要。


第三轮:功能细化

根据已选模块,针对性提问:

如果选了 chat 模块:

  • 是否需要保存会话历史到本地数据库?
  • 对话界面有什么偏好?(单轮对话/多轮会话列表)
  • 需要显示 AI 的思考过程吗?

如果选了 act 模块:

  • 需要判断哪些动作?(如:用户意图分类、情感倾向、是否满足某个条件)
  • 输出的 JSON 结构是什么?(如:{"is_liked": boolean}、{"intent": "like"|"dislike"|"neutral"})
  • 判断结果会驱动什么业务逻辑?(如:自动点赞/收藏、路由跳转、条件触发)

如果选了 profile 模块:

  • 需要展示哪些用户信息?(头像、昵称、兴趣标签、软记忆)
  • 用户信息展示在什么位置?(个人主页/侧边栏/顶部导航)

如果选了 note 模块:

  • 什么场景下用户会添加笔记?
  • 添加笔记后需要什么反馈?

第四轮:设计偏好

提问:

  1. 界面风格:你希望什么样的视觉风格?

    • 简约现代
    • 温馨可爱
    • 专业商务
    • 其他(请描述)
  2. 配色偏好:有特别喜欢的颜色吗?(可选)


第五轮:需求确认

汇总收集的信息,展示需求摘要:

📋 产品需求摘要

应用概要:[用户描述的应用目标]

核心功能:
- [功能1]
- [功能2]
- [功能3]

目标用户:[用户描述]

设计偏好:[界面风格]

确认以上需求是否正确?

用户确认后,进入下一步。


更新 state.json

确认需求后,更新 .secondme/state.json:

{
  "version": "1.0",
  "stage": "prd",
  "modules": ["auth", "chat"],
  "config": { ... },
  "prd": {
    "summary": "应用概要描述",
    "features": [
      "功能1描述",
      "功能2描述",
      "功能3描述"
    ],
    "target_users": "目标用户描述",
    "design_preference": "简约现代"
  }
}

输出结果

✅ 产品需求已定义!

概要:[summary]

功能列表:
- [feature 1]
- [feature 2]

设计偏好:[design_preference]

已保存到 .secondme/state.json

下一步:运行 /secondme-nextjs 生成项目

中断处理

如果用户主动要求中止或取消 PRD 定义:

  • 询问是否保存已收集的部分信息
  • 如果保存:写入 state.json 的 prd 字段,保持 stage 为 "init"
  • 下次运行 /secondme-prd 时可以继续或重新开始

注意事项

  • 对话应该自然流畅,不要机械地问答
  • 根据用户回答调整后续问题
  • 如果用户回答模糊,可以追问澄清
  • 最多 5 轮对话,避免过长