SecondMe Product Requirements Definition
Help developers clarify product requirements through conversational interactions, and ask targeted questions based on selected functional modules.
Tool Usage: Use the
tool to collect user input, which supports single-choice and multiple-choice questions.
Precondition Check
Before starting, check the project status:
-
- Does not exist → Prompt:
Please run /secondme-init to initialize project configuration first
- Exists → Proceed
-
Check the stage field
- → Proceed with PRD conversation normally
- or → Ask:
PRD has already been defined. Do you want to redefine requirements?
- User confirms → Proceed
- User cancels → Exit
Conversation Flow
Round 1: Display API Capabilities
Read the
field in
, and display relevant API capabilities based on selected modules:
auth module (mandatory):
- User login and authorization
- Access Token and Refresh Token management
- User authentication
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):
- Stream-based conversation with SecondMe AI
- Get historical conversation list
- Get conversation message records
act module (if selected):
- Structured action judgment: Let AI output valid JSON objects for decision scenarios such as intent classification, sentiment analysis, conditional judgment, etc.
- Define the 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:
- Application Goal: What problem does your application mainly solve?
- Target Users: Who is this application for?
Collect user responses to form a requirement summary.
Round 3: Function Refinement
Ask targeted questions based on selected modules:
If chat module is selected:
- Do you need to save conversation history to a local database?
- What are your preferences for the conversation interface? (Single-round conversation / Multi-round conversation list)
- Do you need to display the AI's thinking process?
If 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 JSON structure of the output? (e.g., 、
{"intent": "like"|"dislike"|"neutral"}
)
- What business logic will the judgment result drive? (e.g., automatic like/favorite, route jump, conditional trigger)
If profile module is selected:
- Which user information needs to be displayed? (Avatar, nickname, interest tags, soft memory)
- Where will the user information be displayed? (Personal homepage / Sidebar / Top navigation)
If note module is selected:
- In what scenarios will users add notes?
- What feedback is needed after adding notes?
Round 4: Design Preferences
Ask:
-
Interface Style: What visual style do you prefer?
- Minimalist modern
- Warm and cute
- Professional business
- Other (Please describe)
-
Color Preference: Any favorite colors? (Optional)
Round 5: Requirement Confirmation
Summarize the collected information and display the requirement summary:
📋 Product Requirement Summary
Application Overview: [User-described application goal]
Core Features:
- [Feature 1]
- [Feature 2]
- [Feature 3]
Target Users: [User description]
Design Preference: [Interface style]
Confirm if the above requirements are correct?
Proceed to the next step after user confirmation.
Update state.json
After confirming requirements, update
:
json
{
"version": "1.0",
"stage": "prd",
"modules": ["auth", "chat"],
"config": { ... },
"prd": {
"summary": "Application overview description",
"features": [
"Feature 1 description",
"Feature 2 description",
"Feature 3 description"
],
"target_users": "Target user description",
"design_preference": "Minimalist modern"
}
}
Output Result
✅ Product requirements have been defined!
Summary: [summary]
Feature List:
- [feature 1]
- [feature 2]
Design Preference: [design_preference]
Saved to .secondme/state.json
Next Step: Run /secondme-nextjs to generate the project
Interruption Handling
If the user actively requests to suspend or cancel PRD definition:
- Ask whether to save the partially collected information
- If save: Write to the field of , keep as
- When running next time, you can continue or restart
Notes
- Conversations should be natural and smooth, not mechanical question-and-answer
- Adjust subsequent questions based on user responses
- If user responses are vague, follow up for clarification
- Maximum 5 rounds of conversation to avoid being too long