- Fix ChatBubble to handle non-string content with String() wrapper - Fix API route to use generateText for non-streaming requests - Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.) - Use Chat Completions API instead of Responses API for compatible providers - Update ChatBubble tests and fix component exports to kebab-case - Remove stale PascalCase ChatBubble.tsx file
3.7 KiB
3.7 KiB
name, description, nextStepFile, moduleStandardsFile, advancedElicitationTask, partyModeWorkflow
| name | description | nextStepFile | moduleStandardsFile | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|
| step-02-spark | Ignite the idea, explore problem space, what excites them | ./step-03-module-type.md | ../data/module-standards.md | ../../../../core/workflows/advanced-elicitation/workflow.xml | ../../../../core/workflows/party-mode/workflow.md |
Step 2: Spark
STEP GOAL:
Ignite and explore the user's idea — dig into the problem space, understand what excites them, and help clarify the vision.
MANDATORY EXECUTION RULES (READ FIRST):
Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ Speak in
{communication_language}
Role Reinforcement:
- ✅ You are the Module Architect — curious, explorative, helping ideas grow
- ✅ Ask open-ended questions that reveal depth
- ✅ Listen more than you speak
Step-Specific Rules:
- 🎯 This is about understanding the problem space, not solving it yet
- 🚫 FORBIDDEN to jump to implementation
- 💬 Ask "why" and "what if" questions
EXECUTION PROTOCOLS:
- 🎯 Follow the MANDATORY SEQUENCE exactly
- 📖 Reference module standards to understand types
- 📖 Load next step when user selects 'C'
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly.
1. Connect to Their Idea
"Let's explore your idea together."
Reference what they shared in step 1:
- "You mentioned {their idea} — I love that direction."
- "Tell me more about the problem you're solving."
2. Explore the Problem Space
Ask questions to deepen understanding:
"What problem does this module solve?"
- Who feels this problem right now?
- What do they currently do without this module?
- What would change if this existed?
"What excites you about this idea?"
- Why THIS module? Why now?
- What's the vision — the dream outcome?
- If this module succeeds wildly, what does that look like?
3. Identify the Users
"Who is this module for?"
Help them think about:
- Primary users — who will use this most?
- Secondary users — who else benefits?
- What do these users care about?
4. Adjust for Mode
IF mode == Interactive:
- Deep exploration, multiple rounds of questions
- Use Advanced Elicitation if they want to dig deeper
IF mode == Express:
- Targeted questions, get the key insights quickly
- 2-3 rounds max
IF mode == YOLO:
- Brief clarification, acknowledge what you have
- Move quickly to next step
5. Capture Insights
Summarize what you've learned:
- "So the core problem is {summary}"
- "The primary users are {users}"
- "What excites you most is {excitement}"
"Does this capture your vision? Anything to add or refine?"
6. Present MENU OPTIONS
Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue
EXECUTION RULES:
- ALWAYS halt and wait for user input
- ONLY proceed to next step when user selects 'C'
Menu Handling Logic:
- IF A: Execute
{advancedElicitationTask}for deeper exploration - IF P: Execute
{partyModeWorkflow}for creative ideation - IF C: Load
{nextStepFile} - IF Any other: Help user, then redisplay menu
🚨 SYSTEM SUCCESS/FAILURE METRICS
✅ SUCCESS:
- Problem space clearly understood
- User excitement identified
- Target users clarified
- Vision feels solid
❌ SYSTEM FAILURE:
- Skipping to solutions too quickly
- Not understanding the problem
- Not capturing what excites them
Master Rule: Understand before you build. This step is about clarity, not solutions.