SuperAPI AI Directory

secondme-prd

General & other

View repository

Updated 10-16 01:16

About this skill

SecondMe Product Requirements Definition

Help developers clarify product requirements through conversational interaction, asking targeted questions based on selected feature modules.

Tool usage: Use AskUserQuestion tool when collecting user input, supporting single-choice and multiple-choice questions.


Prerequisite check

Before starting, check the project status:

  1. Check whether .secondme/state.json exists
    • Does not exist → Prompt:请先运行 /secondme-init 初始化项目配置
    • Exists → Continue
  1. Check the stage field
    • stage == "init" → Continue the PRD conversation normally
    • stage == "prd" or "ready" → Ask:已有 PRD 定义,是否要重新定义需求?
      • User confirms → Continue
      • User cancels → Exit

Conversation flow

Round 1: Show API capabilities

Read the state.json field in modules , and show relevant API capabilities based on the selected modules:

auth module (always required):

  • User login and authorization
  • Access Token and Refresh Token management
  • User identity verification

profile module(if selected):

  • Get basic user information (nickname, avatar)
  • Get user interest tags (Shades)
  • Get user soft memory/knowledge base

chat module(if selected):

  • Streaming conversation with SecondMe AI
  • Get historical session list
  • Get session message records

act module(if selected):

  • Structured action judgment: let the AI output a valid JSON object, used for decision-making scenarios such as intent classification, sentiment analysis, and conditional judgment
  • Define the output JSON structure and judgment rules through actionControl

note module(if selected):

  • Add notes/memories to the user's SecondMe

Then ask:

Based on the above capabilities, what type of application do you want to build?


Round 2: Collect core requirements

Ask:

  1. Application goal: What problem does your application mainly solve?
  2. Target users: Who is this application for?

Collect the user's answers and form a requirements summary.


Round 3: Feature refinement

Ask targeted questions based on the selected modules:

If the chat module is selected:

  • Do you need to save conversation history to a local database?
  • What preferences do you have for the chat interface? (single-turn chat/multi-turn session list)
  • Do you need to display the AI's thinking process?

If the act module is selected:

  • Which actions need to be judged? (e.g., user intent classification, sentiment tendency, whether a certain condition is met)
  • What is the output JSON structure? (e.g.,{"is_liked": boolean}、{"intent": "like"|"dislike"|"neutral"})
  • What business logic will the judgment result drive? (e.g., automatic like/favorite, route navigation, conditional trigger)

If the profile module is selected:

  • Which user information needs to be displayed? (avatar, nickname, interest tags, soft memory)
  • Where should user information be displayed? (Profile page/sidebar/top navigation)

If the note module is selected:

  • In what scenarios would users add notes?
  • What feedback is needed after adding a note?

Round 4: Design preferences

Questions:

  1. Interface style: What kind of visual style would you like?

    • Minimal and modern
    • Warm and cute
    • Professional and business
    • Other (please describe)
  2. Color preference: Do you have any particular favorite colors? (Optional)


Round 5: Requirements confirmation

Summarize the collected information and present a requirements summary:

📋 产品需求摘要

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

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

目标用户:[用户描述]

设计偏好:[界面风格]

确认以上需求是否正确?

After the user confirms, proceed to the next step.


Update state.json

After confirming the requirements, update .secondme/state.json:

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

Output results

✅ 产品需求已定义!

概要:[summary]

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

设计偏好:[design_preference]

已保存到 .secondme/state.json

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

Interruption handling

If the user proactively requests to stop or cancel the PRD definition:

  • Ask whether to save the partial information already collected
  • If saving: write to state.json of the prd field, keep stage as "init"
  • The next time /secondme-prd is run, it can continue or start over

Notes

  • The dialogue should be natural and smooth; do not ask and answer mechanically
  • Adjust follow-up questions based on the user's answers
  • If the user's answer is vague, ask follow-up questions to clarify
  • At most 5 rounds of dialogue to avoid being too long